Can someone who actively uses 'bootstrap' please review this? Thanks.
Jose E. Marchesi wrote in <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00096.html>: > This patch adds a couple of hooks to the `bootstrap' script that > allows the users to handle their own command line options in their > bootstrap.conf files. > > Usage example: > > bootstrap_option_hook () > { > case $1 in > --jitter-srcdir) > JITTER_SRCDIR=${$1#--jitter-srcdir=}; return 0;; > esac > > return 1; > } > > bootstrap_print_option_usage_hook () > { > cat <<EOF > --jitter-srcdir=DIRNAME specify the local directory where jitter > sources reside. Use this if you already > have jitter sources on your machine, and > do not want to waste your bandwidth downloading > them again. > EOF > } > > * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define > (bootstrap_option_hook): Likewise. > (usage): Call bootstrap_print_option_usage_hook. > --- > ChangeLog | 6 ++++++ > build-aux/bootstrap | 20 +++++++++++++++++--- > 2 files changed, 23 insertions(+), 3 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index d50f4d1a2..ce023761c 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,9 @@ > +2020-11-18 Jose E. Marchesi <jema...@gnu.org> > + > + * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define > + (bootstrap_option_hook): Likewise. > + (usage): Call bootstrap_print_option_usage_hook. > + > 2020-11-17 Akim Demaille <a...@lrde.epita.fr> > > bitset: strengthen tests > diff --git a/build-aux/bootstrap b/build-aux/bootstrap > index 8f76d6962..5f1b1b70c 100755 > --- a/build-aux/bootstrap > +++ b/build-aux/bootstrap > @@ -1,6 +1,6 @@ > #! /bin/sh > # Print a version string. > -scriptversion=2020-04-13.15; # UTC > +scriptversion=2020-11-18.17; # UTC > > # Bootstrap this package from checked-out sources. > > @@ -71,7 +71,9 @@ Options: > --no-git do not use git to update gnulib. Requires that > --gnulib-srcdir point to a correct gnulib snapshot > --skip-po do not download po files > - > +EOF > + bootstrap_print_option_usage_hook > + cat <<EOF > If the file $me.conf exists in the same directory as this script, its > contents are read as shell variables to configure the bootstrap. > > @@ -154,6 +156,18 @@ gnulib_files= > : ${AUTOPOINT=autopoint} > : ${AUTORECONF=autoreconf} > > +# A function to be called for each unrecognized option. Returns 0 if > +# the option in $1 has been processed by the function. Returns 1 if > +# the option has not been processed by the function. Override it via > +# your own definition in bootstrap.conf > + > +bootstrap_option_hook() { return 1; } > + > +# A function to be called in order to print the --help information > +# corresponding to user-defined command-line options. > + > +bootstrap_print_option_usage_hook() { :; } > + > # A function to be called right after gnulib-tool is run. > # Override it via your own definition in bootstrap.conf. > bootstrap_post_import_hook() { :; } > @@ -335,7 +349,7 @@ do > --no-git) > use_git=false;; > *) > - die "$option: unknown option";; > + bootstrap_option_hook $option || die "$option: unknown option";; > esac > done > >