All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config
@ 2016-01-15 14:48 Ian Campbell
  2016-01-15 15:07 ` Ian Campbell
  2016-01-15 15:44 ` Jan Beulich
  0 siblings, 2 replies; 4+ messages in thread
From: Ian Campbell @ 2016-01-15 14:48 UTC (permalink / raw)
  To: xen-devel, Doug Goldstein; +Cc: Ian Campbell

RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC
BECAUSE THIS BREAKS CLEAN BUILDS WITH:
In file included from <command-line>:0:0:
/local/scratch/ianc/devel/arm/xen.git/xen/include/xen/config.h:10:32: fatal error: generated/autoconf.h: No such file or directory
 #include <generated/autoconf.h>

I'm not sure why given the descriptions of olddefconfig and
silentoldconfig below.

DO NOT APPLY (OF COURSE!)

RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC

When pulling my git tree over a commit which adds new Kconfig
questions the incremental build still stops and asks me the new
questions:

+ make -C xen XEN_TARGET_ARCH=arm64 DESTDIR=/tmp/tmprg7d63   debug=y CROSS_COMPILE=aarch64-linux-gnu- -j12 CONFIG_EARLY_PRINTK=fastmodel install
make: Entering directory '/local/scratch/ianc/devel/arm/xen.git/xen'
make -f /local/scratch/ianc/devel/arm/xen.git/xen/tools/kconfig/Makefile.kconfig ARCH=arm64 silentoldconfig
make[1]: Entering directory '/local/scratch/ianc/devel/arm/xen.git/xen'
gcc -Wp,-MD,tools/kconfig/.conf.o.d    -I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE   -c -o tools/kconfig/conf.o tools/kconfig/conf.c
gcc -Wp,-MD,tools/kconfig/.zconf.tab.o.d    -I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -Itools/kconfig -c -o tools/kconfig/zconf.tab.o tools/kconfig/zconf.tab.c
gcc  -o tools/kconfig/conf tools/kconfig/conf.o tools/kconfig/zconf.tab.o
tools/kconfig/conf -s --silentoldconfig Kconfig
*
* Restart config...
*
*
* Architecture Features
*
Maximum number of physical CPUs (NR_CPUS) [128] (NEW)

This is in contrast to a fully clean build which just gets on with
using the defconfig. According to "make -C xen/tools/kconfig/ help" it seems
like we want olddefconfig rather than silentoldconfig:

  oldconfig	  - Update current config utilising a provided .config as base
[...]
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
[...]
  olddefconfig	  - Same as silentoldconfig but sets new symbols to their
                    default value

With this changed it now doesn't ask me any questions on an incremental build
when a new question is added.

Note however that AFAICT in no case would this pickup a change to the default
of an existing option (how could it know?). I think we can live with this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Doug Goldstein <cardoe@cardoe.com>
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 3699b20..f8f3bb4 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -239,7 +239,7 @@ $(kconfig):
 	$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(XEN_TARGET_ARCH) $@
 
 include/config/%.conf: include/config/auto.conf.cmd $(KCONFIG_CONFIG)
-	$(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(XEN_TARGET_ARCH) silentoldconfig
+	$(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(XEN_TARGET_ARCH) olddefconfig
 
 # Allow people to just run `make` as before and not force them to configure
 $(KCONFIG_CONFIG):
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config
  2016-01-15 14:48 [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config Ian Campbell
@ 2016-01-15 15:07 ` Ian Campbell
  2016-01-15 15:12   ` Ian Campbell
  2016-01-15 15:44 ` Jan Beulich
  1 sibling, 1 reply; 4+ messages in thread
From: Ian Campbell @ 2016-01-15 15:07 UTC (permalink / raw)
  To: xen-devel, Doug Goldstein

On Fri, 2016-01-15 at 14:48 +0000, Ian Campbell wrote:
> RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC
> BECAUSE THIS BREAKS CLEAN BUILDS WITH:
> In file included from <command-line>:0:0:
> /local/scratch/ianc/devel/arm/xen.git/xen/include/xen/config.h:10:32:
> fatal error: generated/autoconf.h: No such file or directory
>  #include <generated/autoconf.h>
> 
> I'm not sure why given the descriptions of olddefconfig and
> silentoldconfig below.

xen/tools/kconfig/Makefile holds the answer...

    silentoldconfig: $(obj)/conf
    	    $(Q)mkdir -p include/config include/generated
    	    $< $(silent) --$@ $(Kconfig)

vs for olddefconfig (which is in $(simple-targets)):

    $(simple-targets): $(obj)/conf
    	    $< $(silent) --$@ $(Kconfig)

However the (seemingly) obvious answer of:

    diff --git a/xen/Makefile b/xen/Makefile
    index f8f3bb4..2422ba8 100644
    --- a/xen/Makefile
    +++ b/xen/Makefile
    @@ -239,6 +239,7 @@ $(kconfig):
            $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(XEN_TARGET_ARCH) $@
     
     include/config/%.conf: include/config/auto.conf.cmd $(KCONFIG_CONFIG)
    +       $(Q)mkdir -p include/config include/generated
            $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(XEN_TARGET_ARCH) olddefconfig
     
     # Allow people to just run `make` as before and not force them to configure

Doesn't help, so I suppose there must be an actual semantic difference in
$(obj)/conf for these two options.

So I'm not sure what to do now.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config
  2016-01-15 15:07 ` Ian Campbell
@ 2016-01-15 15:12   ` Ian Campbell
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Campbell @ 2016-01-15 15:12 UTC (permalink / raw)
  To: xen-devel, Doug Goldstein

On Fri, 2016-01-15 at 15:07 +0000, Ian Campbell wrote:
> On Fri, 2016-01-15 at 14:48 +0000, Ian Campbell wrote:
> > RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC
> > BECAUSE THIS BREAKS CLEAN BUILDS WITH:
> > In file included from <command-line>:0:0:
> > /local/scratch/ianc/devel/arm/xen.git/xen/include/xen/config.h:10:32:
> > fatal error: generated/autoconf.h: No such file or directory
> >  #include <generated/autoconf.h>
> > 
> > I'm not sure why given the descriptions of olddefconfig and
> > silentoldconfig below.
> 
> xen/tools/kconfig/Makefile holds the answer...
> 
>     silentoldconfig: $(obj)/conf
>     	    $(Q)mkdir -p include/config include/generated
>     	    $< $(silent) --$@ $(Kconfig)
> 
> vs for olddefconfig (which is in $(simple-targets)):
> 
>     $(simple-targets): $(obj)/conf
>     	    $< $(silent) --$@ $(Kconfig)
> 
> However the (seemingly) obvious answer of:
> 
>     diff --git a/xen/Makefile b/xen/Makefile
>     index f8f3bb4..2422ba8 100644
>     --- a/xen/Makefile
>     +++ b/xen/Makefile
>     @@ -239,6 +239,7 @@ $(kconfig):
>             $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig
> ARCH=$(XEN_TARGET_ARCH) $@
>      
>      include/config/%.conf: include/config/auto.conf.cmd
> $(KCONFIG_CONFIG)
>     +       $(Q)mkdir -p include/config include/generated
>             $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig
> ARCH=$(XEN_TARGET_ARCH) olddefconfig
>      
>      # Allow people to just run `make` as before and not force them to
> configure
> 
> Doesn't help, so I suppose there must be an actual semantic difference in
> $(obj)/conf for these two options.
> 
> So I'm not sure what to do now.

There is indeed a difference on conf.c, only silentoldconfig sets
sync_kconfig.

Running olddefconfig and then silentoldconfig seems to work, but ewww...

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config
  2016-01-15 14:48 [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config Ian Campbell
  2016-01-15 15:07 ` Ian Campbell
@ 2016-01-15 15:44 ` Jan Beulich
  1 sibling, 0 replies; 4+ messages in thread
From: Jan Beulich @ 2016-01-15 15:44 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Doug Goldstein, xen-devel

>>> On 15.01.16 at 15:48, <ian.campbell@citrix.com> wrote:
> RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC
> BECAUSE THIS BREAKS CLEAN BUILDS WITH:
> In file included from <command-line>:0:0:
> /local/scratch/ianc/devel/arm/xen.git/xen/include/xen/config.h:10:32: fatal 
> error: generated/autoconf.h: No such file or directory
>  #include <generated/autoconf.h>
> 
> I'm not sure why given the descriptions of olddefconfig and
> silentoldconfig below.
> 
> DO NOT APPLY (OF COURSE!)
> 
> RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC RFC
> 
> When pulling my git tree over a commit which adds new Kconfig
> questions the incremental build still stops and asks me the new
> questions:

To be honest so far I was viewing this as intended and desirable
behavior. Now that you mention it I can see why the one you'd
prefer would also make sense (albeit I'm not sure now which one
is the better one).

As to the odd difference in behavior - I have no idea (i.e. would
need to try this out and perhaps debug it, but since you're on it
I guess I'll leave it to you).

Jan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-01-15 15:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-15 14:48 [PATCH RFC] xen/Kconfig: Use olddefconfig not silentoldconfig to update .config Ian Campbell
2016-01-15 15:07 ` Ian Campbell
2016-01-15 15:12   ` Ian Campbell
2016-01-15 15:44 ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.