GNOME Bugzilla – Bug 679786
Turn libempathy(-gtk) to private public libs
Last modified: 2012-07-17 12:54:49 UTC
We have a bunch of empathy- binaries all statically linking on libempathy and libempathy-gtk. By turning those libs to a public one, we'll save all these binaries to each include a full copy of those libs. As those libs don't have any stable API and are not meant to be used out of Empathy's tree, they will have to be installed to a location which is not in the standard linker search path. We should also use libtool -release versioning which is made for this kind of situation. Gabble does exactly that with libgabble-plugin.
Created attachment 218608 [details] [review] Define libempathyexeclibdir That's the place where libempathy and libempathy-gtk libs will be installed.
Created attachment 218609 [details] [review] Turn libempathy to a public lib We use "-release" versioning as it's not meant to be used out of Empathy's tree.
Created attachment 218610 [details] [review] Turn libempathy-gtk to a public lib We use "-release" versioning as it's not meant to be used out of Empathy's tree.
Looks like pulseaudio is doing something similar but using pkglib: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=cea6e165164283f718a2896600c81810a7a87ddd I tried this approach as well: http://cgit.collabora.com/git/user/cassidy/empathy/log/?h=pkglib-679786 With my first patches, the libs are installed to $prefix/lib/empathy-0/lib/ while they are installed to $prefix/lib/empathy/ with pkglib.
The git branch using pkglibdir looks good. The patches attached here also look OK, but I prefer the simpler git branch using pkglibdir. Having an empathy-0 directory only makes sense if you have, or aim to have, a stable "version 0" ABI that would allow for out-of-tree library users, or out-of-tree plugins - and in this case it looks as though you don't want that. (Gabble and Salut use the more elaborate version, because they do aim to allow out-of-tree plugins one day.)