Bruno Haible <br...@clisp.org> writes:

> Simon Josefsson wrote:
>> is it possible to design a reliable
>> caching mechanism?  Something similar to CONFIG_SITE for autoconf?
>
> CONFIG_SITE is not reliable; that's the problem with it...
>
>> I find that ./gnulib-tool takes a long time and 95% of the time I use
>> it, it ended up doing exactly the same thing as it did last time I ran
>> it: copying a set of possibly patched files out of the gnulib directory.
>
> I use gnulib-tool with option --symlink in such cases. As long as the
> module descriptions don't change, you don't need to re-run gnulib-tool
> then.

My usage pattern is to frequently re-bootstrap from a clean git checkout
to confirm that my changes still work properly for fresh rebuilds.  The
reason is that I don't trust 'make clean', 'make distclean', etc.  That
may not be a common work flow, but I'm pretty committed to it.  I now
remember that something like this was discussed before:

https://git.savannah.gnu.org/cgit/libidn.git/commit/?id=9ae53e866a6fafa56db26d184ccae9c39dae7446
https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00077.html

I don't recall if I actually had any real problems with that approach...
however I got a faster laptop and stoped using it to mimize any
deviation from standard gnulib workflows.

Maybe a hook below would allow further experiments?  I am not proposing
to commit this now since it is relatively easy for me to experiment with
improvements by adding this to the bootstrap.conf script on projects
that I work on.  The GNULIB_BOOTSTRAP_SITE also allows me to change my
setup without altering bootstrap.conf for every project I work on.

/Simon

diff --git a/top/bootstrap-funclib.sh b/top/bootstrap-funclib.sh
index 9e40f4a3e4..9b8972f56c 100644
--- a/top/bootstrap-funclib.sh
+++ b/top/bootstrap-funclib.sh
@@ -194,6 +194,7 @@ bootstrap_sync=false
 # Make sure that bootstrap.conf is sourced from the current directory
 # if we were invoked as "sh bootstrap".
 conffile=`dirname "$me"`/bootstrap.conf
+test -r "$GNULIB_BOOTSTRAP_SITE" && . "$GNULIB_BOOTSTRAP_SITE"
 test -r "$conffile" && . "$conffile"
 
 # ------------------------- Build-time prerequisites -------------------------

Attachment: signature.asc
Description: PGP signature

Reply via email to