From: Joel E. Denny Date: Sun, 21 Nov 2010 15:07:13 +0000 (-0500) Subject: build: use gnulib's new bootstrap_sync option. X-Git-Tag: v2.5_rc1~52 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/dcd39f1d4ab0d2efa467406682175643c7c0ca1d build: use gnulib's new bootstrap_sync option. Now, whenever we update bison's copy of gnulib, bootstrap will update itself the next time it's run. * bootstrap: Copy from latest gnulib for bootstrap_sync support. * bootstrap.conf (bootstrap_sync): Set to true. * gnulib: Update to latest so bootstrap is in sync now. (cherry picked from commit 10bae98af27edbb84a06d82a20a63ad7a0cca688) --- diff --git a/ChangeLog b/ChangeLog index 1d80e92d..3c6df27f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-11-21 Joel E. Denny + + build: use gnulib's new bootstrap_sync option. + Now, whenever we update bison's copy of gnulib, bootstrap will + update itself the next time it's run. + * bootstrap: Copy from latest gnulib for bootstrap_sync support. + * bootstrap.conf (bootstrap_sync): Set to true. + * gnulib: Update to latest so bootstrap is in sync now. + 2010-11-07 Joel E. Denny yysyntax_error: adjust prior fixes for branch-2.5's lalr1.cc. diff --git a/bootstrap b/bootstrap index 8c8d777d..dcd47739 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2010-10-08.16; # UTC +scriptversion=2010-11-20.03; # UTC # Bootstrap this package from checked-out sources. @@ -54,6 +54,12 @@ Options: have gnulib sources on your machine, and do not want to waste your bandwidth downloading them again. Defaults to \$GNULIB_SRCDIR. + --bootstrap-sync If this bootstrap script is not identical to + the version in the local gnulib sources, + update this script, and then restart it with + /bin/sh or the shell \$CONFIG_SHELL if + defined. + --no-bootstrap-sync Do not check whether bootstrap is out of sync. --copy Copy files instead of creating symbolic links. --force Attempt to bootstrap even if the sources seem not to have been checked out. @@ -168,6 +174,10 @@ copy=false # on which version control system (if any) is used in the source directory. vc_ignore=auto +# Set this to true in bootstrap.conf to enable --bootstrap-sync by +# default. +bootstrap_sync=false + # find_tool ENVVAR NAMES... # ------------------------- # Search for a required program. Use the value of ENVVAR, if set, @@ -239,6 +249,10 @@ do checkout_only_file=;; --copy) copy=true;; + --bootstrap-sync) + bootstrap_sync=true;; + --no-bootstrap-sync) + bootstrap_sync=false;; *) echo >&2 "$0: $option: unknown option" exit 1;; @@ -344,17 +358,18 @@ get_version() { $app --version >/dev/null 2>&1 || return 1 $app --version 2>&1 | - sed -n '# extract version within line - s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ - t done + sed -n '# Move version to start of line. + s/.*[v ]\([0-9]\)/\1/ + + # Skip lines that do not start with version. + /^[0-9]/!d - # extract version at start of line - s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ - t done + # Remove characters after the version. + s/[^.a-z0-9-].*// - d + # The first component must be digits only. + s/^\([0-9]*\)[a-z-].*/\1/ - :done #the following essentially does s/5.005/5.5/ s/\.0*\([1-9]\)/.\1/g p @@ -500,6 +515,16 @@ case ${GNULIB_SRCDIR--} in ;; esac +if $bootstrap_sync; then + cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { + echo "$0: updating bootstrap and restarting..." + exec sh -c \ + 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ + -- "$GNULIB_SRCDIR/build-aux/bootstrap" \ + "$0" "$@" --no-bootstrap-sync + } +fi + gnulib_tool=$GNULIB_SRCDIR/gnulib-tool <$gnulib_tool || exit diff --git a/bootstrap.conf b/bootstrap.conf index e19bb721..0b1b768e 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -65,3 +65,5 @@ bootstrap_epilogue() # the time of a bootstrap. touch src/parse-gram.[ch] } + +bootstrap_sync=true diff --git a/gnulib b/gnulib index 8b9b4bbb..9aa2d4c5 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 8b9b4bbba5041e107a8dea35e78d28dd3cc979f7 +Subproject commit 9aa2d4c522f12870229df0fd01d3140bddf94317