]> git.draconx.ca Git - gob-dx.git/blobdiff - bootstrap
Convert command-line options processing to getopt_long.
[gob-dx.git] / bootstrap
index f9cbd411f77361d91e4f50f1b007c9325f1d3d9d..b5c58568f14aa52dfe6dc49bee64668054f89436 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,16 +1,46 @@
 #!/bin/sh
+#
+# Copyright © 2011-2012, 2021 Nick Bowler
+#
+# Simple script to get started from a fresh git checkout.
+#
+# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
+# This is free software: you are free to do what the fuck you want to.
+# There is NO WARRANTY, to the extent permitted by law.
 
-argv0=$0
+scriptname=$0
 
-err () { printf '%s: %s\n' "$argv0" "$@" 1>&2; }
+err () { printf '%s: %s\n' "$scriptname" "$*" 1>&2; }
 die () { err "$@"; exit 1; }
 
 : "${AUTORECONF=autoreconf}"
+: "${GNULIB=gnulib}"
+: "${PERL=perl}"
 : "${GIT=git}"
 
 $GIT submodule update --init || err "Failed to update submodules from git."
 
+if test -x $GNULIB/gnulib-tool; then
+  $GNULIB/gnulib-tool --update -S || die "Failed to update gnulib."
+else
+  err "Gnulib sources are not properly installed in $GNULIB/"
+  cat >&2 <<'EOF'
+
+To bootstrap this package using an external Gnulib, you can set the GNULIB
+environment variable to indicate the location of the Gnulib sources.
+EOF
+  test ! -f configure || cat >&2 <<'EOF'
+
+However, it seems this package is already bootstrapped.  It should not
+normally be necessary to run this script from a release tarball.
+EOF
+  exit 1
+fi
+
+$PERL common/scripts/fix-gnulib.pl -o lib/gnulib.mk -i lib/gnulib.mk.in ||
+  die "Failed to fixup Gnulib makefile fragment."
+
 # Punt some automake-generated files so that Gentoo's wrapper script
-# doesn'# try to detect the automake version in use.
+# doesn't try to detect the automake version in use.
 rm -f Makefile.in aclocal.m4
 $AUTORECONF -fis