[patch] releases.html

Zack Weinberg zackw@stanford.edu
Tue Feb 13 19:24:00 GMT 2001


On Tue, Feb 13, 2001 at 06:20:35PM -0800, Russ Allbery wrote:
> Zack Weinberg <zackw@Stanford.EDU> writes:
> 
> > I would argue that if we can do it with substantially less complexity
> > and fragility than libtool, then duplicating the effort is worth it.
> > And I would argue that we can.  Existence proof: perl5 does not use
> > libtool, yet manages to generate and use shared libraries _and_
> > dynamically loaded modules in the course of its build.  Without
> > insisting on any particular compiler.  I have trouble imagining that its
> > build system can be _worse_ than libtool.
> 
> However, Perl uses metaconfig, which has the approximate complexity of
> autoconf plus libtool.  It's using a very similar sort of software suite
> as autoconf/libtool, just with a different origin and style.

Hm, I could have explained myself better.  I'm aware of the total
complexity of metaconfig.  However, it seems to me that the complexity
of its dynamic library/module support is far smaller than the
complexity of libtool, for roughly equivalent functionality.  There is
no heavyweight compiler wrapper script, only a straightforward set of
additional Makefile variables (LDDLFLAGS etc.)  Object files and
executables are not hidden away in a secret .libs directory.
Executable wrappers which confuse the debugger are not created.
Dynamic loading is implemented with a sensible C-level abstraction of
the OS features, not an overdesigned library which uses its own
mysterious helper files (which tend not to get installed, so the
system doesn't work at all).

All this, and it manages to work on _more_ platforms than libtool
does.  Oh, and the actual logic in Configure is at least 10x shorter
than libtool itself (crude comparison, may not be entirely fair; the
metaconfig unit gets to recycle lots of logic, libtool doesn't).

Where could I find Perl's hacked up version of metaconfig?  The
official "dist-3.70" doesn't have any units for dynamic library
generation as far as I can see.

zw



More information about the Gcc-patches mailing list