libtool-patches
[Top][All Lists]
Advanced

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

Re: HEAD: workaround for released autotools


From: Gary V. Vaughan
Subject: Re: HEAD: workaround for released autotools
Date: Sun, 28 Aug 2005 21:56:24 +0100

On 28 Aug 2005, at 20:26, Ralf Wildenhues wrote:
Hi Gary,

Hey Ralf!

* Gary V. Vaughan wrote on Sun, Aug 28, 2005 at 06:30:12PM CEST:

On 27 Aug 2005, at 19:56, Ralf Wildenhues wrote:

This is an ugly (from a stylistic point of view) patch to make CVS
HEAD Libtool work with Autoconf 2.59 and Automake 1.9.5, which lack
features in their support for AC_CONFIG_LIBOBJ_DIR: just symlink the
libobj source files into $top_srcdir from bootstrap, and distribute
them.

In principle, that's fine.  The attached runs a test during bootstrap
to decide whether the workaround is necessary. This simply means that
if the person who bootstraps a release uses a new enough (or suitably
patched) autotoolset then the extra copies aren't added to the dist
tarball.

Why, oh why wait another minute for bootstrap to finish? It's not like
this would be the first work-around for limitations in Automake 2.59.
Besides, your patch adds about as much size to tarball as the duplicate
files do.

minute?

$ time ./tests/libobj.test -q
real    0m12.573s
user    0m4.923s
sys     0m4.714s

vs. a reconf of just $top_srcdir when nothing needs rebuilding:

$ reconfdirs=. time ./bootstrap
...
make: `doc/notes.txt' is up to date.
make: `libtoolize.in' is up to date.
make: `tests/defs.in' is up to date.
make: `tests/package.m4' is up to date.
make: `tests/testsuite' is up to date.
make: `tests/libobj.test' is up to date.
make: `libltdl/Makefile.am' is up to date.
make: `commit' is up to date.
...
      149.91 real       116.73 user        23.87 sys

vs. a fresh bootstrap of the whole tree:

$ time ./bootstrap
...
real    10m42.998s
user    9m2.650s
sys     0m49.210s

barely 2% slowdown... :->

I can add a note to HACKING about this if you like.

No need.  I think this version being self correcting as the installed
tools are upgraded is sufficient.

Hmm.  I know more than one system where a plain "configure" without
options will not lead to a working compiler configuration.  No, not
everyone has config.site's employed.  I for one don't.

Are you referring to the CONFIGSITE setting from m4general.m4sh?

By self-correcting, I mean that the code in my patch needs no more
maintenance... it just stops shipping extra copies of libobj sources
as soon as people start bootstrapping with new enough autotools.

OK to apply?

I prefer the attached... ;-)

Tested with stock 1.9.6/2.59, darwin & subdir-libobj patched
1.9.6/2.5.9, and bootstrapping with one and `make dist' with the other
set in both  directions.

Have you tested with CVS version of one, and released of the other?

No, but libobj.test can only succeed when everything required to build
subdir libobjs correctly works, so there is no need... it is functionally
equivalent of unpatched 1.9.6/2.59.

Note to the actual patch: you need to quote uses of $testdir.

Okay, thanks.

And you scribble around in the source tree should ${TMPDIR-/tmp} be full.

I don't see it (apart from bootstrap itself creating the libobj.test script). Besides, if $TMPDIR is full, the user has bigger problems that not being to
install libtool!!

It'd been easier to leverage AS_VERSION_COMPARE, but that wouldn't have
worked on Solaris till last week, either.

And it can't detect patched tools, such as the ones I'm using at the moment.

Honestly, I think this is bloat. All 2.59/1.9.6-induced workarounds are
trivially found by a single grep.

At the moment, yes. But this is scalable incase we want to support other suboptimal (future) releases of bootstrap utilities, and it minimises future maintenance -- once this is in (and debugged ;-)), we can just forget about
it, until we need a model for doing something similar in the future.

If on the other hand another item is
found that needs addition to M4SH_INIT, we have to maintain several
copies yet again.

Agreed.  Fixed in the attached version.

Cheers,
    Gary.
--
Gary V. Vaughan ())_. gary@ {lilith.warpmail.net,gnu.org},address@hidden
Research Scientist   ( '/   http://www.tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/{libtool,m4}
Technical Author   `(_~)_   http://sources.redhat.com/autobook

Attachment: 213bis-gary-subdirobj-support.patch
Description: Binary data

Attachment: PGP.sig
Description: This is a digitally signed message part


reply via email to

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