Re: Bug in "select" dependency checking?

From: Roman Zippel
Date: Fri Feb 06 2004 - 09:01:38 EST


Hi,

On Fri, 6 Feb 2004, Andreas Gruenbacher wrote:

> With this configuration, menuconf gives me this message (among others):
>
> Warning! Found recursive dependency: NFSD_V3 NFSD_ACL NFSD NFSD_V3

This is indeed a wrong positive, the patch below fixes this, but you if
change your config into e.g.:

config NFSD_ACL
bool "..."
depends on NFSD_V3
select NFS_ACL_SUPPORT if NFSD

you avoid the warning and it does the same.

> In my understanding, the select statement does not cause a dependency of
> NFSD on NFSD_ACL. I can write the same thing without selects as follows:
>
> config NFS_ACL_SUPPORT
> tristate
> default y if (NFSD=y || NFS_FS=y) && (NFSD_ACL || NFS_ACL)
> default m if (NFSD!=y && NFS_FS!=y) && (NFSD=m || NFS_FS=m) &&
> (NFSD_ACL || NFS_ACL)

Or you could also write this simpler as:

config NFS_ACL_SUPPORT
tristate
default (NFSD && NFSD_ACL) || (NFS_FS && NFS_ACL)

bye, Roman

Index: scripts/kconfig/symbol.c
===================================================================
RCS file: /home/other/cvs/linux/linux-2.6/scripts/kconfig/symbol.c,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 symbol.c
--- scripts/kconfig/symbol.c 9 Sep 2003 08:33:49 -0000 1.1.1.2
+++ scripts/kconfig/symbol.c 6 Feb 2004 13:51:39 -0000
@@ -706,7 +706,7 @@ struct symbol *sym_check_deps(struct sym
goto out;

for (prop = sym->prop; prop; prop = prop->next) {
- if (prop->type == P_CHOICE)
+ if (prop->type == P_CHOICE || prop->type == P_SELECT)
continue;
sym2 = sym_check_expr_deps(prop->visible.expr);
if (sym2)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/