build: Add ./configure --disable-fuse option.
[libguestfs.git] / bootstrap
index aa3c5dc..5ceac31 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,65 +21,73 @@ 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
 
-# Create gettext configuration.
-echo "$0: Creating po/Makevars from po/Makevars.template ..."
-rm -f po/Makevars
-sed '
-  /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
-  /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
-  /^XGETTEXT_OPTIONS *=/{
-    s/$/ \\/
-    a\
-        '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
-  }
-' po/Makevars.template >po/Makevars
+# 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_SRCDIR/../gnulib-tool --update)
+(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
+
+# ocaml/.depend is updated automatically. However, as it's included by
+# ocaml/Makefile.am we need to bootstrap it here.
+touch ocaml/.depend
+
+# Disable autopoint and libtoolize, since they were already done above.
+AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install