Re: [PATCH spice 03/18] build-sys: build a noinst libtest.la to link to

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

 



On Wed, Dec 16, 2015 at 2:53 PM, Marc-André Lureau <mlureau@xxxxxxxxxx> wrote:
>
>
> ----- Original Message -----
>> >
>> > Hi
>> >
>> > On Wed, Dec 16, 2015 at 10:44 AM, Frediano Ziglio <fziglio@xxxxxxxxxx>
>> > wrote:
>> > > You are not... convenient library should not be linked to programs!
>> > > Is in libtool documentation.
>> >
>> > https://www.gnu.org/software/libtool/manual/html_node/Static-libraries.html
>> > "The key is remembering that a convenience library contains PIC
>> > objects, and can be linked where a list of PIC objects makes sense;
>> > i.e. into a shared library. A static convenience library contains
>> > non-PIC objects, so can be linked into an old static library, or a
>> > program. "
>> >
>>
>> Yes, I was referring to this.
>>
>> > Having -static or not doesn't change the result. All objects are
>> > compiled with -fPIC. And ar of PIC objects + ld/elf is fine linking a
>> > program or a library that way. Searching a bit over the web, it seems
>> > to be a common practice for quite a while. Do we care so much about
>> > other non-elf compilers/linkers that could in theory have issues? Even
>> > win32 dll are fine with this (I created a small project to test this
>> > attached). Do you know an arch/compiler that wouldn't support this?
>> >
>> > What are the alternatives? To compile the library twice and pass all
>> > the needed library flags when linking? I don't think we need to do all
>> > that for something hypotetical we can't  test.
>> >
>>
>> Why using a static library is so bad?
>> Here would be perfect and working on all possible (and impossible) platforms.
>
> That's worse, you get a warning from libtool:
>
> libspice_server_la_LIBADD = libserver.a
>
>   CCLD     libspice-server.la
> *** Warning: Linking the shared library libspice-server.la against the
> *** static library libserver.a is not portable!
>

Furthermore, as I tried to explain before:
- mixing libtool and non-libtool libs is recipe for more issues than
using all libtool
- libtool lib carry all the flags needed to link against the lib, this
avoid duplicating the libserver flags around

>>
>> Frediano
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>>



-- 
Marc-André Lureau
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]