automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: don't install .la do install .so


From: Andrew W. Nosenko
Subject: Re: don't install .la do install .so
Date: Mon, 21 Mar 2011 20:18:49 +0200

On Mon, Mar 21, 2011 at 17:52, Paul Elliott
<address@hidden> wrote:
> According to the Fedora Packaging:Guidelines
> http://fedoraproject.org/wiki/Packaging/Guidelines
>
> .la files should not be installed:
>> Packaging Static Libraries
>>
>> Packages including libraries should exclude static libs as far as possible
>> (eg by configuring with --disable-static). Static libraries should only be
>> included in exceptional circumstances. Applications linking against
>> libraries should as far as possible link against shared libraries not
>> static versions.
>>
>> Libtool archives, foo.la files, should not be included. Packages using
>> libtool will install these by default even if you configure with
>> --disable-static, so they may need to be removed before packaging. Due to
>> bugs in older versions of libtool or bugs in programs that use it, there
>> are times when it is not always possible to remove *.la files without
>> modifying the program. In most cases it is fairly easy to work with
>> upstream to fix these issues. Note that if you are updating a library in a
>> stable release (not devel) and the package already contains *.la files,
>> removing the *.la files should be treated as an API/ABI change -- ie:
>> Removing them changes the interface that the library gives to the rest of
>> the world and should not be undertaken lightly.
>
> How do I create a Makefile.am for a shared library so that make install will
> not install the .la file but will install the .so?

Exuse me, but how you then plan to handle inter-library dependencies
assuming that it's unsupported by ld.so and you need to link all
libraries explicitly?

(E.g. your application depends on library libA.  libA depends on libB.
 Then you need to link both libA and ibB into your app even if app
itself needs libA only and know nothing about libB.)

-- 
Andrew W. Nosenko <address@hidden>



reply via email to

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