Files
libvirt/bootstrap
T

123 lines
2.4 KiB
Bash
Raw Normal View History

#!/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
-)
2008-04-28 14:12:45 +00:00
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
2008-05-09 13:46:09 +00:00
modules='
c-ctype
2008-10-28 17:46:07 +00:00
close
connect
2008-05-09 13:46:09 +00:00
getaddrinfo
2008-10-28 17:46:07 +00:00
gethostname
2008-05-09 13:46:09 +00:00
getpass
gettext
inet_pton
2009-01-07 17:10:00 +00:00
ioctl
2008-08-07 13:02:45 +00:00
mkstemp
2008-05-09 13:46:09 +00:00
mktempd
2008-10-28 17:46:07 +00:00
perror
2008-05-09 13:46:09 +00:00
physmem
poll
posix-shell
2008-10-28 17:46:07 +00:00
recv
random_r
2008-10-28 17:46:07 +00:00
send
setsockopt
socket
2009-01-27 10:30:30 +00:00
stpcpy
2008-05-09 13:46:09 +00:00
strndup
2008-10-28 17:46:07 +00:00
strerror
2008-05-09 13:46:09 +00:00
strsep
sys_stat
time_r
2008-05-09 13:46:09 +00:00
useless-if-before-free
vasprintf
verify
2008-05-09 13:46:09 +00:00
vc-list-files
'
# Tell gnulib to:
# require LGPLv2+
# put *.m4 files in new gnulib/m4/ dir
# put *.[ch] files in new gnulib/lib/ dir.
$gnulib_tool \
2009-01-07 17:10:00 +00:00
--no-vc-files \
--lgpl=2 \
2007-12-10 18:26:56 +00:00
--with-tests \
--m4-base=gnulib/m4 \
--source-base=gnulib/lib \
--tests-base=gnulib/tests \
2008-05-09 13:46:09 +00:00
--import $modules
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)