[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: shared library from smaller pieces
From: |
Ralf Wildenhues |
Subject: |
Re: shared library from smaller pieces |
Date: |
Sun, 4 Dec 2005 17:08:50 +0100 |
User-agent: |
Mutt/1.5.11 |
Hi Vlad,
* Vlad Skvortsov wrote on Sun, Dec 04, 2005 at 08:01:45AM CET:
>
> I use automake/libtool environment for a project with couple of dozens
> of libraries. I link those libraries statically into the binaries that
> are then distributed. It works ok.
>
> What I need now is to create a shared library that would contain a
> subset of those smaller libraries. Say, I want to pack the contents of
> libaaa.la, libbbb.la and libccc.la into libbig, and libbig has to be
> shared (it will be distributed in binary form).
>
> When I use something like this:
>
> lib_LT_LIBRARIES = libbig.la
> libbig_la_LIBADD = .../libaaa.la .../libbbb.la .../libccc.la
>
> I end up with the shared library that contains _references_ to _shared_
> libraries aaa, bbb and ccc. But I just want their contents to be packed
> inside.
>
> How can I achieve that?
You make the other libraries into `convenience archives'. These are
documented in both
info Automake 'A Shared Library'
info Libtool 'Static libraries'
Short: noinst_LTLIBRARIES creates these, they contain objects with PIC
code. You'd do:
noinst_LTLIBRARIES = libaaa.la libbbb.la libccc.la
lib_LTLIBRARIES = libbig.la
libbig_la_LIBADD = ./libaaa.la ./libbbb.la ./libccc.la
Now I guess you *also* want to build the program as will, with the stuff
linked in statically. You *can* do
bin_PROGRAMS = foo
foo_LDADD = ./libaaa.la ./libbbb.la ./libccc.la
and it will likely work fine, on many platforms. *However*: It's not
totally portable, it will actually link PIC objects into your program,
thus the program will be a bit slower than with non-PIC objects, and
of course you should not let foo get anywhere close to libbig, as then
you'll have fun with duplicate symbols.
Does that help you?
Cheers,
Ralf
- shared library from smaller pieces, Vlad Skvortsov, 2005/12/04
- Re: shared library from smaller pieces,
Ralf Wildenhues <=
- Re: shared library from smaller pieces, Vlad Skvortsov, 2005/12/04
- Re: shared library from smaller pieces, Ralf Wildenhues, 2005/12/05
- Re: shared library from smaller pieces, Vlad Skvortsov, 2005/12/06
- Re: shared library from smaller pieces, Ralf Wildenhues, 2005/12/07
- Re: shared library from smaller pieces, Vlad Skvortsov, 2005/12/09
- Re: shared library from smaller pieces, Ralf Wildenhues, 2005/12/12
- Re: shared library from smaller pieces, Vlad Skvortsov, 2005/12/15
- Re: shared library from smaller pieces, Ralf Wildenhues, 2005/12/16
- Re: shared library from smaller pieces, Vlad Skvortsov, 2005/12/20
Re: shared library from smaller pieces, Andreas Schwab, 2005/12/04