[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
>
>