[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ltmain.sh
From: |
Alexandre Duret-Lutz |
Subject: |
Re: ltmain.sh |
Date: |
Thu, 29 Jul 2004 22:02:10 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
>>> "Gary" == Gary V Vaughan <address@hidden> writes:
[...]
Gary> I think that what we *really* need is for automake to not
Gary> assume ltmain.sh is in the source tree, and some way for
Gary> the libtool Makefile.am to declare that config/ltmain.sh
Gary> is a built file so that automake doesn't keep stopping
Gary> before it is built without the horrible bootstrap $fakes
Gary> hack.
Two answers: short-term, and long-term.
short-term:
IMHO you are swimming against the stream, that's why it looks
hard. Consider the following:
Automake wants to distribute that file? So let's distribute
it. The file is distributed? So let's update it in the
source tree. The file is expected to be identical for all
users installing the same revision of libtool? So let's not
build it from ./configure (you should not do this for a
distributed file anyway): have it created by bootstrap and
write a custom Makefile rule that updates the file whenever
configure.ac changes.
This way you meet Automake expectations and never have to lie
to it, so things should work as expected. The drawback is
that you'll waste a few kilobytes, but I don't think the
economy is worth the irritation one gets debugging clumsy
hacks.
Automake has a similar issue with its m4/amversion.m4 file.
It must be generated from m4/amversion.in, but it's also a
prerequisite to run autoconf. The setup is similar to the one
I suggest above (except the rebuild rule does not depend on
configure.ac because a bootstrap is needed anyway).
long-term:
To reduce the amount of hard-coded knowledge in Automake, I'd
like to introduce a macro, say AM_REQUIRE_AUX_FILE, so that
third-party Autoconf macros can instruct automake to
1. check that the files they need are present,
2. distribute them.
Libtool could be equipped with
m4_ifdef([A][M_REQUIRE_AUX_FILE], [A][M_REQUIRE_AUX_FILE([ltmain.sh])])
and the hard coded test removed from Automake.
Then it seems it would not be too difficult to disable the
above line in libtool itself, so that Automake never bothers
about ltmain.sh.
[...]
Gary> Rerunning autoreconf -fvi on all 8 test/*demo* trees and
Gary> the libtool source tree proper after every cvs update and
Gary> commit takes about 30 minutes on my high end Mac, and up
Gary> to an hour for some of our other developers :-(
Does it? Running ./bootstrap takes 8 minutes on my poor PC.
--
Alexandre Duret-Lutz
- ltmain.sh, Gary V. Vaughan, 2004/07/29
- Re: ltmain.sh,
Alexandre Duret-Lutz <=