Keith Owens writes: > There is no difference in autoconf.h between a suppressed variable > (CONFIG_DEP="", no reference in autoconf) and a variable that is > visible but set to n (CONFIG_DEP="n", explicitly undefined). In both > cases the variable is undefined. C code cannot distinguish between a > suppressed variable and one that is set to n.
If there really were no difference, then split-include would not see a difference in include/linux/autoconf.h. Check check check ... the difference is that value "n" emits a line: #undef CONFIG_DEP Whereas value "" causes no line at all. Since there is no weird -DCONFIG_DEP going on at the command line, you are right, these cases are equivalent at the C level. Perhaps the way to fix this is to change config/menuconfig/xconfig so that they do not emit anything to "autoconf.h" for the "n" case. They still have to do proper four-state variables for ".config" because they read back in later. There is a difference between the two cases for Makefiles, because make reads .config directly, not autoconf.h. If a makefile incorrectly does ifdef CONFIG_FOO then it gets different results on suppressed and visible variables. I'm a bit wary about hacking split-include but it's probably safe to do what you suggest. Sigh, I feel old and rusty. I used to be on top of this stuff. :-/ Michael C _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel