Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Mar 2004 06:27:59 +0100
From:      Michael Nottebrock <michaelnottebrock@gmx.net>
To:        Oliver Eikemeier <eikemeier@fillmore-labs.com>
Cc:        freebsd-ports@FreeBSD.org
Subject:   Re: cvs commit: ports/devel/libvanessa_adt Makefile pkg-plist ports/devel/libvanessa_adt/files patch-ltmain.sh
Message-ID:  <200403250628.02955.michaelnottebrock@gmx.net>
In-Reply-To: <406261F0.5010800@fillmore-labs.com>
References:  <Pine.LNX.4.44.0403231422350.6103-100000@pancho> <200403250423.47441.michaelnottebrock@gmx.net> <406261F0.5010800@fillmore-labs.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Boundary-02=_i3mYAMgqe5VVWtd
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Thursday 25 March 2004 05:37, Oliver Eikemeier wrote:
> Michael Nottebrock wrote:
>
> [...]
>
> >>So far I followed the former discussions, but I can't remember an examp=
le
> >>where something *really* uses the .la files.
> >
> > Yes, although I keep repeating it, nobody seems to ever remember: KDE
> > _really_ uses them, as it _really_ uses lt_dlopen(). Also third party K=
DE
> > applications will use them (if they happen to load modules or plugins -=
 a
> > simple preferences dialog can be such a module for example), since they
> > use kdelibs which in turn use lt_dlopen().
>
> Ehm, yes, but this is a case for modules or plugins, which should be easi=
ly
> coordinated (since they won't be loaded otherwise).

Yet the .la files are needed - if they weren't, we could just nuke them in =
the=20
KDE ports. Also, the libidn-kdelibs example shows a scenario where=20
lt_dlopen() is used on a file installed by a different package.

> I think this is self-evident, but if you want to state it explicit that's
> fine with me. Maybe not in RFC-style, though ;) A comment in the Makefile
> or packing list, stating which ports are clients of the .la files may be a
> nice addition.

I think something like

LIBTOOLFLAGS=3D   # none, we want to keep libwv2.la

(taken from textproc/wv2) is probably sufficient enough to keep any=20
anti-libtool-archive crusaders away (that libtool archive is kept for koffi=
ce=20
btw).

The really funny thing is - I've just looked at the porter's handbook again=
=20
and there simply isn't any good place to add this paragraph to, because the=
re=20
is no section dealing with libtool archives or ".la files" and the why/why=
=20
not/whatisitgoodforanyway at all.

=46rom digging in the commitlogs I can reconstruct that the default=20
"--disable-ltlibs" argument to ltconfig was added to bsd.port.mk in revisio=
n=20
1.319 (that was back in 1999) and the portlint warnings were added a few=20
months later (revision 1.30 of devel/portlint/Makefile has the commit=20
message).=20

In none of these commits/commitmessages there is any indication that anybod=
y=20
was ever convinced of the fact that libtool archives were useless or unneed=
ed=20
=2D they would just not be created by default for any port that defines=20
USE_LIBTOOL (at that time this probably worked - it doesn't really anymore=
=20
today, extra patches and hacks are often needed - in case of textproc/wv2 a=
=20
patch to the configure script), but that behaviour could and can easily be=
=20
overridden by redefining LIBTOOLFLAGS (see above).

Also, from what I can gather from the commit logs, USE_LIBTOOL was _not_ ad=
ded=20
to bsd.port.mk to get rid of libtool archives - that 'feature' was added=20
later.

This, plus the fact that nobody ever created any documentation about libtoo=
l=20
archives and their (non)-uses leads me to believe that ".la files are not=20
needed on FreeBSD" really is just a legend, born out of erroneous statement=
s=20
on mailing lists and the fact that ports using lt_dlopen() on=20
shared-libraries not installed by themselves are indeed quite rare and thus=
=20
disproof of such claims was not readily available for everybody to observe.

It's quite fascinating how the "convention" of avoiding libtool archives=20
established itself out of (almost) thin air, and how nobody ever asked "Whe=
re=20
is this documented?". Until now, that is.

Anyway, Mark: I will try to write up something about libtool archives,=20
libltdl, USE_LIBTOOL, lt_dlopen(), life, the universe and everything and th=
en=20
condense it again so it will fit in the porter's handbook somewhere, but it=
=20
might take some time - I suck at writing concise documentation. :)

=2D-=20
   ,_,   | Michael Nottebrock               | lofi@freebsd.org
 (/^ ^\) | FreeBSD - The Power to Serve     | http://www.freebsd.org
   \u/   | K Desktop Environment on FreeBSD | http://freebsd.kde.org

--Boundary-02=_i3mYAMgqe5VVWtd
Content-Type: application/pgp-signature
Content-Description: signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQBAYm3iXhc68WspdLARAtW5AJ9dxo92iuWzY5KD/I63F8VFGmzAUQCfVF21
FDk0skCO6sEVegsSmxDF7xA=
=o3zO
-----END PGP SIGNATURE-----

--Boundary-02=_i3mYAMgqe5VVWtd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403250628.02955.michaelnottebrock>