[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 1.16.90 regression: configure now takes 7 seconds to start
From: |
Bruno Haible |
Subject: |
Re: 1.16.90 regression: configure now takes 7 seconds to start |
Date: |
Tue, 18 Jun 2024 16:19:15 +0200 |
Zack Weinberg wrote:
> Literally as I type this I am
> watching gettext 0.22 run its ridiculous number of configure scripts a
> second time from inside `make`.
I'm glad that you didn't write "its ridiculously large configure scripts" :-)
Jokes aside, it's highly unusual that 'configure' runs twice, when you
haven't made modifications. I routinely build packages from ftp.gnu.org
tarballs on 20 different platforms, but always on the local file system.
You can run into such problems:
- if you take a tarball of a git repository that contains the generated
'configure' file, or
- if you are on some networked file system (for example, a file system
with bidirectional rsync).
> > Does "make dist" need to touch configure to ensure that it is newer
> > than its dependencies before rolling the tarball?
>
> It ought to, but I don't think that will be more than a marginal
> improvement, and touching the top-level configure won't be enough,
> you'd need to do a full topological sort on the dependency graph
> leading into every configure + every Makefile.in + every other
> generated-but-shipped file and make sure that each tier of generated
> files is newer than its inputs.
That might be overkill. For simple packages with 1 configure script,
the following is sufficient in my experience:
# Bring the time stamps into an order that will not require autoconf,
automake, etc. to run again.
sleep 1; touch aclocal.m4
sleep 1; touch configure
sleep 1; touch config.h.in
sleep 1; touch `find . -name Makefile.in -type f`
Bruno
- Re: 1.16.90 regression: configure now takes 7 seconds to start, (continued)
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Jacob Bachmeyer, 2024/06/16
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Nick Bowler, 2024/06/17
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Karl Berry, 2024/06/17
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Bruno Haible, 2024/06/17
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Jacob Bachmeyer, 2024/06/17
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Zack Weinberg, 2024/06/17
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Jacob Bachmeyer, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Bruno Haible, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Jacob Bachmeyer, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Zack Weinberg, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start,
Bruno Haible <=
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Zack Weinberg, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Jacob Bachmeyer, 2024/06/18
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Karl Berry, 2024/06/19
- Re: 1.16.90 regression: configure now takes 7 seconds to start, Bruno Haible, 2024/06/16
Re: 1.16.90 regression: configure now takes 7 seconds to start, Karl Berry, 2024/06/11