Bug in "select" dependency checking?
From: Andreas Gruenbacher
Date: Thu Feb 05 2004 - 19:41:42 EST
Hello,
I think the dependency check in scripts/kconfig/symbol.c has a bug
related to "select", but possibly it's only a misunderstanding what
select is supposed to do. I have the following symbols and dependencies
(simplified):
config NFS_ACL_SUPPORT
tristate
config NFSD
tristate "..."
select NFS_ACL_SUPPORT if NFSD_ACL
config NFSD_V3
bool "..."
depends on NFSD
config NFSD_ACL
bool "..."
depends on NFSD_V3
config NFS_FS
tristate "..."
select NFS_ACL_SUPPORT if NFS_ACL
config NFS_V3
bool "..."
depends on NFS_FS
config NFS_ACL
bool "..."
depends on NFS_V3
The intention of this is as follows: NFS_ACL_SUPPORT is a symbol without
menu entry. It activates an object which is either a module or linked
into the kernel. It is needed if NFSD_ACL is y or NFS_ACL is y. When it
is needed, it should have max(NFSD,NFS_FS).
With this configuration, menuconf gives me this message (among others):
Warning! Found recursive dependency: NFSD_V3 NFSD_ACL NFSD NFSD_V3
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)
Any thoughts?
Cheers,
--
Andreas Gruenbacher <agruen@xxxxxxx>
SUSE Labs, SUSE LINUX AG
-
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/