inspect: Abstract the wrapper that sets up Augeas.
[libguestfs.git] / bootstrap
index 73a5e04..c2507fc 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -4,18 +4,6 @@ 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.
 "
 }
 
@@ -25,8 +13,6 @@ do
   --help)
     usage
     exit;;
-  --gnulib-srcdir=*)
-    GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
   *)
     echo >&2 "$0: $option: unknown option"
     exit 1;;
@@ -35,48 +21,69 @@ done
 
 # Get gnulib files.
 
-case ${GNULIB_SRCDIR--} in
--)
-  echo "$0: getting gnulib files..."
-  git submodule init || exit $?
-  git submodule update || exit $?
-  GNULIB_SRCDIR=.gnulib
-  ;;
-*)
-  # Redirect the gnulib submodule to the directory on the command line
-  # if possible.
-  if test -d "$GNULIB_SRCDIR"/.git && \
-       git config --file .gitmodules submodule.gnulib.url >/dev/null; then
-    git submodule init
-    GNULIB_SRCDIR=`cd $GNULIB_SRCDIR && pwd`
-    git config --replace-all submodule.gnulib.url $GNULIB_SRCDIR
-    echo "$0: getting gnulib files..."
-    git submodule update || exit $?
-    GNULIB_SRCDIR=.gnulib
-  else
-    echo >&2 "$0: invalid gnulib srcdir: $GNULIB_SRCDIR"
-    exit 1
-  fi
-  ;;
-esac
+echo "$0: getting gnulib files..."
+git submodule init || exit $?
+git submodule update || exit $?
+GNULIB_SRCDIR=.gnulib
+
+ls po/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' > po/LINGUAS
+
+# Run autopoint, to get po/Makevars.template:
+# Also, released autopoint has the tendency to install macros that have
+# been obsoleted in current gnulib, so run this before gnulib-tool.
+autopoint --force
+
+# Autoreconf runs aclocal before libtoolize, which causes spurious
+# warnings if the initial aclocal is confused by the libtoolized
+# (or worse out-of-date) macro directory.
+libtoolize --copy --install
 
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 <$gnulib_tool || exit
 
+(cd daemon && mkdir -p tests lib && ../$gnulib_tool --update)
+
 modules='
+arpa_inet
+c-ctype
+closeout
+error
+filevercmp
+fts
+full-read
+full-write
 gitlog-to-changelog
 gnu-make
 gnumakefile
+hash
+hash-pjw
+ignore-value
+lock
 maintainer-makefile
 manywarnings
-warnings
+netinet_in
+progname
+setenv
+strchrnul
+strerror
+strndup
+vasprintf
 vc-list-files
+warnings
+xalloc
+xalloc-die
+xstrtol
+xstrtoll
+xvasprintf
 '
 
 $gnulib_tool                   \
   --avoid=dummy                        \
   --with-tests                 \
-  --m4-base=gnulib/m4          \
+  --m4-base=m4                 \
   --source-base=gnulib/lib     \
   --tests-base=gnulib/tests    \
   --import $modules
+
+# Disable autopoint and libtoolize, since they were already done above.
+AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install