[Bug 44331] Gabble plugin API symbols should be factored out to a separate library

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 3 20:07:11 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=44331

Olli Salli <ollisal at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
           Priority|medium                      |high
                 CC|                            |ollisal at gmail.com
             Blocks|                            |44256
            Summary|3rdparty gabble plugins for |Gabble plugin API symbols
                   |windows can't be built with |should be factored out to a
                   |the current setup.          |separate library

--- Comment #3 from Olli Salli <ollisal at gmail.com> 2012-01-03 11:07:11 PST ---
2) is the only reasonable way to go IMO.

Here's some relevant IRC conversation:

--

19:32 < siraj`> jonnylamb, we can't produce .dll files for the plugins since,
not all the symbols are defined at link time :(

19:32 < siraj`> jonnylamb, which is a must when producing .dll files for
windows

19:33 < siraj`> jonnylamb, right now.. the plugin releated code is all tied up
into the gabble-binary it self.. and on linux it will work

19:33 < siraj`> but on windows.. it fails 

19:33 < siraj`> since it expects to find all the dll's 

19:34 < siraj`> jonnylamb, so we need to split the code needed by the plugins
from the main binary and compile it as a .dll or a tiny library . like MC does
for it's plugins

19:34 < siraj`> jonnylamb, right now.. every thing is just too coupled up.. :( 

19:39 < oggis_> jonnylamb: the key is that when on linux gabble loads a plugin
with dlopen, any symbols from gabble the plugin needs are resolved from the
already loaded executable image

19:39 < oggis_> jonnylamb: so they can be left unresolved in the .so when
linking it

19:39 < oggis_> jonnylamb: but on windows, .dlls need to have all external
symbols resolved to link properly

19:40 < oggis_> jonnylamb: so either the plugins need to link to all of gabble
(libgabble-convenience), or we need to split out the plugin specific symbols
(which are declared in the gabble/ headers)

19:41 < jonnylamb> ohhhhhhhhhhh

19:42 < jonnylamb> siraj`, oggis_: thanks, now I understand

19:42 < oggis_> for example, mission-control has a separate -plugins.so for
this purpose

19:56 < jonnylamb> I'd actually forgotten how gabble & salut did plugins and
forgot it didn't have a -plugins.so

--

This blocks the Ytstenut plugin porting to Windows.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.



More information about the telepathy-bugs mailing list