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

Re: [Xen-devel] [PATCH RFC] build: add autoconf to replace custom checks in tools/check



>>> On 09.01.12 at 12:40, Roger Pau MonnÃ<roger.pau@xxxxxxxxxxxxx> wrote:
> 2012/1/9 Jan Beulich <JBeulich@xxxxxxxx>:
>>>>> On 09.01.12 at 12:06, Roger Pau MonnÃ<roger.pau@xxxxxxxxxxxxx> wrote:
>>> 2012/1/9 Jan Beulich <JBeulich@xxxxxxxx>:
>>>>>>> On 07.01.12 at 04:20, Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> wrote:
>>>>> # HG changeset patch
>>>>> # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
>>>>> # Date 1325906230 -3600
>>>>> # Node ID e12ec1071410c946367cb0508cf218a0c3b596ca
>>>>> # Parent  4086e4811547ddffb9a53fbf2efb6c2fa436b70a
>>>>> build: add autoconf to replace custom checks in tools/check
>>>>>
>>>>> Added autotools magic to replace custom check scripts. The previous
>>>>> checks have been ported to autoconf, and some additional ones have
>>>>> been added (plus the suggestions from running autoscan). Two files are
>>>>> created as a result from executing configure script,
>>>>> config/Autoconf.mk and config.h.
>>>>>
>>>>> Autoconf.mk is included by Config.mk, and contains most of the
>>>>> options previously defined in .config, that can now be set passing
>>>>> parameters or defining environment variables when executing configure
>>>>> script.
>>>>>
>>>>> config.h is still not used anywhere, and is automatically created by
>>>>> autoheader, altough this migh change when we start to include this
>>>>> file.
>>>>>
>>>>> Just a first release, and since Iit's my first autoconf script I guess
>>>>> there will be many things to polish here... Please review and comment.
>>>>>
>>>>> Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
>>>>>
>>>>> diff -r 4086e4811547 -r e12ec1071410 Config.mk
>>>>> --- a/Config.mk       Thu Jan 05 17:25:23 2012 +0000
>>>>> +++ b/Config.mk       Sat Jan 07 04:17:10 2012 +0100
>>>>> @@ -9,8 +9,6 @@ realpath = $(wildcard $(foreach file,$(1
>>>>>
>>>>>  -include $(XEN_ROOT)/.config
>>>>>
>>>>> -# A debug build of Xen and tools?
>>>>> -debug ?= y
>>>>
>>>> I think this should be kept here (possibly override-able by the autoconf
>>>> determined setting, i.e. it may need moving past the inclusion below).
>>>>
>>>>>
>>>>>  XEN_COMPILE_ARCH    ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
>>>>>                           -e s/i86pc/x86_32/ -e s/amd64/x86_64/)
>>>>> @@ -43,6 +41,7 @@ endif
>>>>>
>>>>>  include $(XEN_ROOT)/config/$(XEN_OS).mk
>>>>>  include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
>>>>> +include $(XEN_ROOT)/config/Autoconf.mk
>>>>
>>>> And I would really like to avoid having hypervisor (and perhaps
>>>> also stubdom) builds to require running the autoconfig thing
>>>> first - this ought to be limited to the tools (as were the check
>>>> scripts).
>>>
>>>
>>> Doing something like this is probably more suitable:
>>>
>>> diff -r e12ec1071410 tools/Makefile
>>> --- a/tools/Makefile  Sat Jan 07 04:17:10 2012 +0100
>>> +++ b/tools/Makefile  Sat Jan 07 06:46:55 2012 +0100
>>> @@ -1,4 +1,5 @@
>>>  XEN_ROOT = $(CURDIR)/..
>>> +include $(XEN_ROOT)/config/Autoconf.mk
>>>  include $(XEN_ROOT)/tools/Rules.mk
>>>
>>>  ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
>>
>> Yes, please. Of course, the question then is whether it shouldn't
>> really be tools/Autoconf.mk (and whether perhaps the whole set
>> of new files should also be rooted under tools/ rather than at
>> $(XEN_ROOT)/).
> 
> I think it's more common to find a configure script in the root folder
> of the package rather than having to search for it under some folder.
> Also I prefer to rename config/Autoconf.mk to config/Tools.mk than to
> place it inside tools/.

Having a ./configure at the root is certainly fine, just that it should
then be a simple wrapper around the individual subtree scripts (where
they exist), just like the top level Makefile just controls the invocation
of subtree makes.

Unless there is really meaningful sharing of configure determined
data between subtrees, all of their subtree specific bits should
reside in that subtree imo.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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