[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: libjava build times]
From: |
Bob Friesenhahn |
Subject: |
Re: address@hidden: libjava build times] |
Date: |
Fri, 6 May 2005 10:31:32 -0500 (CDT) |
On Thu, 5 May 2005, Ralf Wildenhues wrote:
Libtool has been around since 1996 but its implementation is still
fundamentally broken.
Which part is _fundamentally_ broken? Being a shell script it can be
slow, yes, and quoting is a pain, but you get that with `make',
`autoconf' or `automake' as well, in slightly different settings.
I did not mean to offend ... by "fundamentally broken" I mean that it
is impossible for a shell script to reach the performance levels of
compiled code. There is a philosophical issue which is currently
forcing libtool into this model. Libtool is doing things that it
doesn't need to do. There are perceived "requirements" which are not
actual requirements.
Interposing libtool beween 'make' and the compiler/linker shouldn't
consume more than 1% of the time or so. On some systems (e.g.
Microsoft Windows) it seems to consume 80-90% of the build time.
I get your repeated point about ltmain.c. But let me tell you
something about programming efficiency: if we can manage to put
something like libtool-cache (but not broken) into libtool, let's
say in roughly 30 hours work including testing, then I think that is
reasonable. If you tell us that you can spend 300 hours
implementing ltmain.c within the next few months, then I'll be happy
that you found a sponsor and the time for doing this work. _And_
I'd still be amazed at your programming and testing speed.
I didn't claim it was easy, however, a thousand mile journey starts
with a single step. At the moment, there is not even the start of a
plan.
By making the libtool binary a tool that you install in advance
(similar to 'make') a huge amount of the effort can be relieved.
Each package would then only need to provide a small bit of
configuration information. Each package would configure and build
much faster. Some small packages would be much smaller due to
elimination of most of the configure script. It is not uncommon for
most of the configure script run time to be consumed with
libtool-related processing.
We already assume that the user has been able to procure/install make,
a C compiler, and many other tools. It doesn't seem like a big deal
for packages to require that libtool be installed.
Bob
======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
Re: address@hidden: libjava build times], Peter O'Gorman, 2005/05/04