After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 679786 - Turn libempathy(-gtk) to private public libs
Turn libempathy(-gtk) to private public libs
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: General
2.33.x
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2012-07-12 09:22 UTC by Guillaume Desmottes
Modified: 2012-07-17 12:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Define libempathyexeclibdir (958 bytes, patch)
2012-07-12 09:36 UTC, Guillaume Desmottes
none Details | Review
Turn libempathy to a public lib (2.04 KB, patch)
2012-07-12 09:36 UTC, Guillaume Desmottes
none Details | Review
Turn libempathy-gtk to a public lib (1.33 KB, patch)
2012-07-12 09:36 UTC, Guillaume Desmottes
none Details | Review

Description Guillaume Desmottes 2012-07-12 09:22:54 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.
Comment 1 Guillaume Desmottes 2012-07-12 09:36:29 UTC
Created attachment 218608 [details] [review]
Define libempathyexeclibdir

That's the place where libempathy and libempathy-gtk libs will be installed.
Comment 2 Guillaume Desmottes 2012-07-12 09:36:32 UTC
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.
Comment 3 Guillaume Desmottes 2012-07-12 09:36:34 UTC
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.
Comment 4 Guillaume Desmottes 2012-07-12 11:53:29 UTC
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.
Comment 5 Simon McVittie 2012-07-17 11:45:03 UTC
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.)