bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] bootstrap: add hooks for user-defined command-line options


From: Bruno Haible
Subject: Re: [PATCH] bootstrap: add hooks for user-defined command-line options
Date: Sun, 22 Nov 2020 23:57:16 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-193-generic; KDE/5.18.0; x86_64; ; )

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  <jemarch@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  <akim@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
>  
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]