Hi, On Wed, Aug 10, 2011 at 7:16 PM, David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote: > On Wed, 2011-08-10 at 18:33 -0400, Arnaud Lacombe wrote: >> > We're not enabling anything that we're later going to break. I can't see >> > many people *depending* on the fact that 'make CONFIG_SATA_MV=y >> > oldconfig' actually does *nothing* in some cases. >> > >> you are wrong, you ends up with half-baked compile-time dependency, >> which break the build: > > s/*nothing*/nothing useful/, for crying out loud. > > The point remains that we're not enabling anything which we're later > going to break. Nobody is going to come to *depend* on this behaviour. > > And anyway, this behaviour exists even *before* my patches, as Michal > pointed out in a far more helpful and constructive fashion in > <CACqU3MU4wJb3ij6skod-ZiM+Q0OMTXNdbJ+qWjJW8VZNEP+x1g@xxxxxxxxxxxxxx> > earlier today. > > It's simple enough to fix, too: > > diff --git a/Makefile b/Makefile > index 1fc5172..6cc7f7b 100644 > --- a/Makefile > +++ b/Makefile > @@ -474,6 +474,9 @@ ifeq ($(KBUILD_EXTMOD),) > endif > endif > > +# This could probably be simpler? > +CONFIG_OVERRIDES := $(patsubst line:%,%,$(filter line:%,$(foreach var, $(filter CONFIG_%,$(.VARIABLES)), $(origin $(var)):$(var)))) > + > ifeq ($(mixed-targets),1) > # =========================================================================== > # We're called with mixed targets (*config and build targets). > @@ -507,6 +510,10 @@ else > # Build targets only - this includes vmlinux, arch specific targets, clean > # targets and others. In general all targets except *config targets. > > +ifneq ($(CONFIG_OVERRIDES),) > +$(error Cannot perform build targets with CONFIG symbols overridden) > +endif > + > ifeq ($(KBUILD_EXTMOD),) > # Additional helpers built in scripts/ > # Carefully list dependencies so we do not try to build scripts twice > how is that supposed to work with your other patches ? % vi mail.txt [strip all lines until 'diff --git a/Makefile b/Makefile'] % git apply mail.txt % make CONFIG_NET=y allyesconfig drivers/ata/ [...] scripts/kconfig/conf --allyesconfig Kconfig # # CONFIG_NET set to y from environment # # # configuration written to .config # Makefile:504: *** Cannot perform build targets with CONFIG symbols overridden. Stop. make: *** [prepare] Error 2 - Arnaud -- 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