Hi, On Mon, Aug 1, 2011 at 12:48 PM, Kyle Moffett <kyle@xxxxxxxxxxxxxxx> wrote: > On Mon, Aug 1, 2011 at 12:08, Arnaud Lacombe <lacombar@xxxxxxxxx> wrote: >> On Mon, Aug 1, 2011 at 11:15 AM, Kyle Moffett <kyle@xxxxxxxxxxxxxxx> wrote: >>> On Mon, Aug 1, 2011 at 11:04, Arnaud Lacombe <lacombar@xxxxxxxxx> wrote: >>>> On Mon, Aug 1, 2011 at 7:27 AM, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >>>>> On Mon, Aug 1, 2011 at 12:14, Russell King - ARM Linux >>>>>>>[...] >>>>>>> >>>>>>> Doesn't kconf error out when trying to select a non-existent symbol? >>>>>> >>>>>> Nope. >>>>> >>>>> You're right. So that's a bug. >>>>> >>>> depends on what you are trying to achieve and what the problem is. >>>> >>>> Internally kconfig will create a dummy symbol when it encounter a >>>> missing symbol so that arch/arm/Kconfig can reference a symbol which >>>> will be fully defined later on. I do not think you want to forward >>>> decl all the symbol which can be used. That'd be a mess. That said, we >>>> can come with a form of symbol deprecation that would error-out when >>>> used. >>> >>> Would it be possible instead to make Kconfig go through all the symbols >>> after everything is processed and identify any remaining "dummy symbols" >>> which were not actually declared anywhere? >>> >> this is software, everything is possible. >> >>> Right now if you typo a "select" statement you get no warnings that you >>> are selecting something that does not exist, which is probably a cause >>> of many kinds of errors beyond this particular one. >>> >> d'oh! ... I'm not sure we want that. Dummy symbol are heavily used >> internally, a trivial implementation[0] triggered: >> >> % make REGENERATE_PARSERS=y alldefconfig 2>&1 | grep 'defined without >> type' | wc -l >> 817 >> >> Moreover, this approach is deemed to fail. The current symbol >> namespace is tied to an arch, so whenever you do: >> >> arch/arm/Kconfig: >> config FOO >> bool >> >> config BAZ >> bool >> >> drivers/cpufreq/Kconfig >> config BAR >> depends on ARM && FOO >> select BAZ >> >> You will end up triggering the warning for every ARCH != ARM... > > Perhaps that's an argument for building a single Kconfig namespace? I'm working on that, but this is a real mess :) > At the very least, most of the architecture-generic warnings could be > worked around with trivial predeclarations in an "arch/Kconfig" file: > > config ARM > bool > [...] > config X86 > bool > > There's probably technical issues that I'm missing that would make > that inordinately painful, but I can't see them right now... any ideas? > not I directly forsee. - Arnaud > Cheers, > Kyle Moffett > -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html