This is the mail archive of the
mailing list for the GCC project.
Re: Get rid of libtool? [was Re: Makefile problems]
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>, Phil Edwards <phil at jaj dot com>, Nic Ferrier <nferrier at tapsellferrier dot co dot uk>, java at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: Mon, 25 Feb 2002 00:45:11 -0500 (EST)
- Subject: Re: Get rid of libtool? [was Re: Makefile problems]
On 25 Feb 2002, Alexandre Oliva wrote:
> There are a lot of small details that, when
> added up, may turn into enough of a hassle that a lot of libtool's
> built-in intelligence ends up having to be duplicated, and poorly.
Isn't that happening already for libgcc_s?
> The only advantage I see for GCC in keep on using libtool is the
But when we need a great deal of control over how the shared lib is built
we have to get past the abstraction layer anyway.
For any casual, naive attempts to build a shared lib I would
wholeheartedly recommend libtool. For specific use like libgcj (and
probably libstdc++) it is more debateable.
Things I'd like to see (in no particular order):
- symbol versioning (libgcj doesn't currently do this, but it could, and
probably should). This is platform and tool specific, and to my knowledge
libtool doesn't provide any assistance.
- real incremental linking (*not* convenience libraries, which are a lousy
- better performance (why couldn't some rules be baked into the makefile
rather than evaluated for each compilation?).
> Is it really worth to ditch
> it in favor of a more limited solution that will require effort to put
> in place and maintain? I'm not sure.
For libgcj, we could always fall back to static-only on targets where we
don't know how to build shared libs. I don't have much confidence that
such targets would work even with libtool anyhow. For instance, libgcj
assumes public data symbols are exported by default, which certainly isn't
true on windows at least. That sort of detail isn't hidden by libtool's