[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCHv6] 03/28] build: use generated Kconfig options for Xen



>>> On 08.12.15 at 20:53, <cardoe@xxxxxxxxxx> wrote:
> On 11/30/15 8:45 AM, Jan Beulich wrote:
>>>>> On 24.11.15 at 18:51, <cardoe@xxxxxxxxxx> wrote:
>>> @@ -227,9 +230,14 @@ kconfig := silentoldconfig oldconfig config menuconfig 
>>> defconfig \
>>>  $(kconfig):
>>>     $(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile ARCH=$(XEN_TARGET_ARCH) 
>>> $@
>>>  
>>> -$(BASEDIR)/include/config/%.conf: $(BASEDIR)/include/config/auto.conf.cmd
>>> +$(BASEDIR)/include/config/%.conf: $(BASEDIR)/include/config/auto.conf.cmd 
>>> $(BASEDIR)/.config
>>>     $(Q)$(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile 
>>> ARCH=$(XEN_TARGET_ARCH) silentoldconfig
>>>  
>>>  # Allow people to just run `make` as before and not force them to configure
>>> -$(BASEDIR)/.config $(BASEDIR)/include/config/auto.conf.cmd: ;
>>> +$(BASEDIR)/.config:
>>>     $(Q)$(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile 
>>> ARCH=$(XEN_TARGET_ARCH) defconfig
>> 
>> This should be one of the oldconfig targets now, shouldn't it?
> 
> oldconfig uses .config. This is the case when the user has checked out
> the tree fresh. Its there to not change the workflow of "git clone ...
> && cd xen/xen && make"

Okay. But then this is meant to only support the simplest possible
form, i.e. without honoring any make command line or ./.config
overrides like debug=y or kexec=n? If that understanding of
mine is correct, at least the comment should mention such a
limitation (even better would be if in such cases unexpected
results would be prevented by - as the most trivial solution -
failing the build with a meaningful error message).

>>> +# Break the dependency chain for the first run
>>> +$(BASEDIR)/include/config/auto.conf.cmd: ;
>>> +
>>> +-include $(BASEDIR)/include/config/auto.conf.cmd
>> 
>> The comment is quite a bit different in Linux, and seems to make more
>> sense. Also note how Linux has an empty rule for $(KCONFIG_CONFIG),
>> a variable which iirc you defined in an earlier patch and hence perhaps
>> you should be using here.
> 
> I don't see where that's defined.

"That" may have multiple meanings in this context. The empty
rule is in ./Makefile:

# To avoid any implicit rule to kick in, define an empty command
$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;

And if I was wrong with seeing you define KCONFIG_CONFIG
somewhere, it would kind of imply that you probably should be
inheriting this level of abstraction from Linux.

Jan


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.