]> git.draconx.ca Git - upkg.git/blobdiff - bootstrap
build: Integrate Gnulib non-recursively using fix-gnulib.
[upkg.git] / bootstrap
index abdb256c82bf75716ea9274a3e724b03dad5c6d0..557a9a46c8a8f22e5c78ff6089cd109276a80b57 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,19 +1,38 @@
 #!/bin/sh
+#
+# Copyright © 2011-2012 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.
 
-die()
-{
-       echo $@ 1>&2
+scriptname=$0
+
+err() {
+       printf '%s: %s\n' "$scriptname" "$@" 1>&2
+}
+
+die() {
+       err "$@"
        exit 1
 }
 
-test -d m4  || mkdir m4
-test -d lib || mkdir lib
+: ${AUTORECONF=autoreconf}
+: ${GNULIB=gnulib}
+: ${GIT=git}
+: ${PERL=perl}
 
-git submodule update --init || echo "Failed to update Gnulib sources from git."
-if test -x gnulib/gnulib-tool; then
-       gnulib/gnulib-tool --update || die "Failed to update gnulib."
+$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
-       die "Gnulib sources are not properly installed in gnulib/"
+       die "Gnulib sources are not properly installed in gnulib/."
 fi
 
-autoreconf -fis
+$PERL common/scripts/fix-gnulib.pl -o lib/gnulib.mk -i lib/gnulib.mk.in \
+       || die "Failed to fixup Gnulib makefile fragment."
+
+$AUTORECONF -fis