libtool
[Top][All Lists]
Advanced

[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





reply via email to

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