]> git.draconx.ca Git - upkg.git/blobdiff - bootstrap
Stop using gnulib's flexmember module.
[upkg.git] / bootstrap
index d7e5087db43f9784761cb01796a426534999d897..2ab4a587fc333cc5efb54514d68aae19c249889c 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright © 2011-2012, 2015 Nick Bowler
+# Copyright © 2011-2012, 2015, 2021-2023 Nick Bowler
 #
 # Simple script to get started from a fresh git checkout.
 #
 
 scriptname=$0
 
-err() {
-       printf '%s: %s\n' "$scriptname" "$@" 1>&2
-}
-
-die() {
-       err "$@"
-       exit 1
-}
+err() { printf '%s: %s\n' "$scriptname" "$*" 1>&2; }
+die() { err "$@"; exit 1; }
 
 : ${LIBTOOLIZE=libtoolize}
 : ${AUTORECONF=autoreconf}
+: ${AUTOMAKE=automake}
 : ${GNULIB=gnulib}
 : ${GIT=git}
 : ${PERL=perl}
@@ -28,13 +23,25 @@ die() {
 $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."
+  $GNULIB/gnulib-tool --update -S || die "Failed to update Gnulib."
 else
-       die "Gnulib sources are not properly installed in gnulib/."
+  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."
+  || die "Failed to fixup Gnulib makefile fragment."
 
 # Frustratingly, libtoolize has changed the name of its nonrecursive ltdl
 # makefile output, which broke all packages depending on previous documented
@@ -50,4 +57,9 @@ $PERL common/scripts/fix-ltdl.pl -o libltdl/ltdl.mk -i libltdl/ltdl.mk.in \
 # Punt some automake-generated files so that Gentoo's wrapper script doesn't
 # try to detect the automake version in use.
 rm -f Makefile.in aclocal.m4
-LIBTOOLIZE=true $AUTORECONF -fis
+LIBTOOLIZE=true $AUTORECONF -fis || exit
+
+amdir=`$AUTOMAKE --print-libdir`
+if test -f "$amdir/INSTALL"; then
+  ln -sf "$amdir/INSTALL" INSTALL
+fi