Roger Pau Monne
2012-Feb-20 22:18 UTC
[PATCH v5] 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/Tools.mk and config.h. conf/Tools.mk is included by tools/Rules.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 only used by libxl/xl to detect yajl_version.h. Changes since v4: * Updated to tip. * Include config.h from compiler command line when building libxl and xl to assure yajl_version.h presence and correctly detect yajl version. * Added glib-2.0 check with appropiate m4 macros. * Purged config.h.in from unnecessary defines that could mess with the build system. * Removed tools/config.sub, tools/config.guess, tools/configure and configure to make the patch fit mailing list limit. Changes since v3: * Copied config.guess and config.sub from automake 1.11. * Added a test to check for uuid.h on BSD and uuid/uuid.h on Linux. Changes since v2: * Changed order of config/Tools.mk include. * Added "-e" to autogen.sh shebang. * Added necessary files (config.*) and output from Autoheader and Autoconf. * Removed Autoconf from build dependencies and updated README. Changes since v1: * Moved autoconf stuff inside tools folder. * Add Makefile rules for cleaning. * Removed Automake dependency. * Create autogen.sh to automatically create configure script when building from source repository. * Cached values of options passed from command line. * Add necessary ignores to .hgignore. * Added Autoconf to the list of dependencies. * Changed hypen to underscore in XML2 and CURL variable names. * Added script to get version from xen/Makefile. * Set Ocaml tools to optional. * Added procedence of m4/ocaml.m4. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> .hgignore | 6 + Config.mk | 39 ------ Makefile | 2 - README | 4 + autogen.sh | 8 + config/Tools.mk.in | 50 +++++++ tools/Makefile | 3 +- tools/Rules.mk | 7 +- tools/blktap/drivers/Makefile | 2 +- tools/blktap/drivers/check_gcrypt | 14 -- tools/check/Makefile | 26 ---- tools/check/README | 20 --- tools/check/check_brctl | 13 -- tools/check/check_crypto_lib | 11 - tools/check/check_curl | 13 -- tools/check/check_iproute | 15 -- tools/check/check_libaio_devel | 11 - tools/check/check_libaio_lib | 9 - tools/check/check_openssl_devel | 6 - tools/check/check_python | 13 -- tools/check/check_python_devel | 17 -- tools/check/check_python_xml | 12 - tools/check/check_udev | 22 --- tools/check/check_uuid_devel | 7 - tools/check/check_x11_devel | 9 - tools/check/check_xgettext | 6 - tools/check/check_xml2 | 14 -- tools/check/check_yajl_devel | 8 - tools/check/check_zlib_devel | 6 - tools/check/check_zlib_lib | 12 - tools/check/chk | 63 --------- tools/check/funcs.sh | 106 ---------------- tools/config.h.in | 16 ++ tools/configure.ac | 193 ++++++++++++++++++++++++++++++ tools/debugger/gdbsx/xg/Makefile | 1 - tools/install.sh | 1 + tools/libfsimage/Makefile | 6 +- tools/libfsimage/check-libext2fs | 21 --- tools/libxen/Makefile | 8 +- tools/libxl/Makefile | 7 +- tools/libxl/libxl_json.h | 2 +- tools/m4/default_lib.m4 | 8 + tools/m4/disable_feature.m4 | 13 ++ tools/m4/enable_feature.m4 | 13 ++ tools/m4/ocaml.m4 | 241 ++++++++++++++++++++++++++++++++++++++ tools/m4/path_or_fail.m4 | 6 + tools/m4/pkg.m4 | 157 ++++++++++++++++++++++++ tools/m4/python_devel.m4 | 18 ++ tools/m4/python_version.m4 | 12 + tools/m4/python_xml.m4 | 10 + tools/m4/set_cflags_ldflags.m4 | 20 +++ tools/m4/udev.m4 | 32 +++++ tools/m4/uuid.m4 | 10 + version.sh | 5 + 54 files changed, 843 insertions(+), 511 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xensource.com/xen-devel
Ian Campbell
2012-Feb-21 10:03 UTC
Re: [PATCH v5] build: add autoconf to replace custom checks in tools/check
On Mon, 2012-02-20 at 22:18 +0000, Roger Pau Monne wrote:> > +echo "#!/bin/sh -e" >> configure > +echo "cd tools && ./configure \$@" >> configure > +chmod +x configurewhy not check this in as a script rather than generating it from autogen.sh? Ian.
Ian Campbell
2012-Feb-21 10:07 UTC
Re: [PATCH v5] build: add autoconf to replace custom checks in tools/check
On Mon, 2012-02-20 at 22:18 +0000, Roger Pau Monne wrote:> > +# Autoscan stuff (except for yajl/yajl_version.h check)I don''t understand this comment, the following AC_CHECK_HEADERS _does_ check for yajl_version.> +# Checks for header files. > +AC_FUNC_ALLOCA > +AC_CHECK_HEADERS([ \ > + arpa/inet.h fcntl.h inttypes.h libintl.h limits.h malloc.h \ > + netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \ > + strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h \ > + sys/socket.h sys/statvfs.h sys/time.h syslog.h termios.h \ > + unistd.h yajl/yajl_version.h \ > + ])
Roger Pau Monné
2012-Feb-21 10:15 UTC
Re: [PATCH v5] build: add autoconf to replace custom checks in tools/check
2012/2/21 Ian Campbell <Ian.Campbell@citrix.com>:> On Mon, 2012-02-20 at 22:18 +0000, Roger Pau Monne wrote: >> >> +echo "#!/bin/sh -e" >> configure >> +echo "cd tools && ./configure \$@" >> configure >> +chmod +x configure > > why not check this in as a script rather than generating it from > autogen.sh?This is a left over from previous versions, when I assumed the end-user would perform the ./autogen.sh stuff, to prevent people from trying to run configure before executing autogen, but it''s useless now, I will add it to the patch and resend. Thanks.> Ian. >
Roger Pau Monné
2012-Feb-21 10:17 UTC
Re: [PATCH v5] build: add autoconf to replace custom checks in tools/check
2012/2/21 Ian Campbell <Ian.Campbell@citrix.com>:> On Mon, 2012-02-20 at 22:18 +0000, Roger Pau Monne wrote: >> >> +# Autoscan stuff (except for yajl/yajl_version.h check) > > I don't understand this comment, the following AC_CHECK_HEADERS _does_ > check for yajl_version.Sorry, the comment is misleading, what I mean is that everything here is detected by autoscan, except for the yajl_version.h test that I've added myself. Should I change the comment?> >> +# Checks for header files. >> +AC_FUNC_ALLOCA >> +AC_CHECK_HEADERS([ \ >> + arpa/inet.h fcntl.h inttypes.h libintl.h limits.h malloc.h \ >> + netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \ >> + strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h \ >> + sys/socket.h sys/statvfs.h sys/time.h syslog.h termios.h \ >> + unistd.h yajl/yajl_version.h \ >> + ]) >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xensource.com/xen-devel
Ian Campbell
2012-Feb-21 11:06 UTC
Re: [PATCH v5] build: add autoconf to replace custom checks in tools/check
On Tue, 2012-02-21 at 10:17 +0000, Roger Pau Monné wrote:> 2012/2/21 Ian Campbell <Ian.Campbell@citrix.com>: > > On Mon, 2012-02-20 at 22:18 +0000, Roger Pau Monne wrote: > >> > >> +# Autoscan stuff (except for yajl/yajl_version.h check) > > > > I don''t understand this comment, the following AC_CHECK_HEADERS _does_ > > check for yajl_version. > > Sorry, the comment is misleading, what I mean is that everything here > is detected by autoscan, except for the yajl_version.h test that I''ve > added myself. Should I change the comment?I''d be tempted to just remove it. No one will update it when they add another check not covered by autoscan.> > > >> +# Checks for header files. > >> +AC_FUNC_ALLOCA > >> +AC_CHECK_HEADERS([ \ > >> + arpa/inet.h fcntl.h inttypes.h libintl.h limits.h malloc.h \ > >> + netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \ > >> + strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h \ > >> + sys/socket.h sys/statvfs.h sys/time.h syslog.h termios.h \ > >> + unistd.h yajl/yajl_version.h \ > >> + ]) > >