[Top][All Lists]
[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
213bis-gary-subdirobj-support.patch
Description: Binary data
PGP.sig
Description: This is a digitally signed message part
- HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/27
- Re: HEAD: workaround for released autotools, Gary V. Vaughan, 2005/08/28
- Re: HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/28
- Re: HEAD: workaround for released autotools,
Gary V. Vaughan <=
- Re: HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/29
- Re: HEAD: workaround for released autotools, Gary V. Vaughan, 2005/08/29
- Re: HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/29
- Re: HEAD: workaround for released autotools, Gary V. Vaughan, 2005/08/29
- Re: HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/29
- Re: HEAD: workaround for released autotools, Gary V. Vaughan, 2005/08/29
- FYI: HEAD: workaround for released autotools, Ralf Wildenhues, 2005/08/29
- Re: FYI: HEAD: workaround for released autotools, Gary V. Vaughan, 2005/08/29