diff options
author | Jim Meyering <meyering@redhat.com> | 2007-12-05 21:31:07 +0000 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2007-12-05 21:31:07 +0000 |
commit | 261e7581b11505479f9113bc433ea959a4b91b56 (patch) | |
tree | 9c42d91e7514ae40aeaf92aa861347afdcd7e285 /bootstrap | |
parent | * qemud/remote.c: rename remoteDispatchAuthPolkitInit to (diff) | |
download | libvirt-261e7581b11505479f9113bc433ea959a4b91b56.tar.gz libvirt-261e7581b11505479f9113bc433ea959a4b91b56.tar.bz2 libvirt-261e7581b11505479f9113bc433ea959a4b91b56.zip |
Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
gnulib/lib
gnulib/m4
gnulib/tests
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4. Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.
Author: Jim Meyering <meyering@redhat.com>
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/bootstrap b/bootstrap new file mode 100755 index 000000000..73ad3f6d2 --- /dev/null +++ b/bootstrap @@ -0,0 +1,117 @@ +#!/bin/sh +# Run this after autogen.sh, to pull in all of the gnulib-related bits. +# It's important to run *after* autogen.sh, since it updates some of +# the same files autogen.sh does, yet those from gnulib are newer, +# and match the tests. So if a gnulib bug has been fixed since the +# snapshot taken for whatever gettext release you're using, yet you +# run "make check" against the wrong version, the corresponding unit +# test in gl-tests/ may well fail. + +usage() { + echo >&2 "\ +Usage: $0 [OPTION]... +Bootstrap this package from the checked-out sources. + +Options: + --gnulib-srcdir=DIRNAME Specify the local directory where gnulib + sources reside. Use this if you already + have gnulib sources on your machine, and + do not want to waste your bandwidth downloading + them again. + +If the file bootstrap.conf exists in the current working directory, its +contents are read as shell variables to configure the bootstrap. + +Running without arguments will suffice in most cases. +" +} + +for option +do + case $option in + --help) + usage + exit;; + --gnulib-srcdir=*) + GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;; + *) + echo >&2 "$0: $option: unknown option" + exit 1;; + esac +done + +cleanup_gnulib() { + st=$? + rm -fr .gnulib + exit $st +} + +case ${GNULIB_SRCDIR--} in +-) + if [ ! -d gnulib ]; then + echo "$0: getting gnulib files..." + + trap cleanup_gnulib 1 2 13 15 + + git clone --depth 1 git://git.sv.gnu.org/gnulib .gnulib || + cleanup_gnulib + + trap - 1 2 13 15 + fi + GNULIB_SRCDIR=.gnulib +esac + +gnulib_tool=$GNULIB_SRCDIR/gnulib-tool +<$gnulib_tool || exit + +# Tell gnulib to: +# put tests in new gnulib/tests/ dir +# put *.m4 files in new gnulib/m4/ dir +# put *.[ch] files in new gnulib/lib/ dir. +# With --avoid=snprintf, we drop support for systems (many!) with +# losing snprintf but pull in about 30 fewer files +# With the current gnulib and gettext-0.17, the following +# files are added to m4/ by both. But gnulib is stable enough +# and gettext-0.16.1 is new enough that they are identical. +# compiler-flags.m4 +# inttypes_h.m4 +# longlong.m4 +# size_max.m4 +# stdint_h.m4 +# wchar_t.m4 +# wint_t.m4 +# xsize.m4 + +# Note that if we don't exclude the snprintf module, there are two tests +# that have incompatible licenses, so we would have to exclude them. Even +# excluding those two test modules, find reports a total of 94 added files. +# Yes, snprintf has some heavy-duty dependents. +# --avoid=snprintf-tests +# --avoid=vasnprintf-tests + +avoid='--avoid=snprintf' + +avoid=' + --avoid=snprintf-tests + --avoid=vasnprintf-tests + --avoid=alloca-opt-tests +' + +$gnulib_tool \ + --lgpl \ + $avoid \ + --with-tests \ + --m4-base=gnulib/m4 \ + --source-base=gnulib/lib \ + --tests-base=gnulib/tests \ + --import physmem getaddrinfo + +rm -f \ + .gitignore \ + gnulib/lib/.gitignore \ + gnulib/m4/.gitignore \ + gnulib/tests/.gitignore + +(cd gnulib/lib && + (cat .cvsignore; \ + ls -1 *.in.h|sed 's/\.in\.h/.h/') | sort -u > .t; mv .t .cvsignore) |