diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-09-06 16:12:44 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-09-06 16:59:52 +0800 |
commit | d001dd2ca3436cae899456994230b22e1c6ec6c7 (patch) | |
tree | 0a9f3d936b8eb38c106a2eba4d1e5ed5fe9a147f | |
parent | b73b93e7cfb16579ef6ec18ef01acdac2c6c24f3 (diff) | |
download | gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar.gz gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar.bz2 gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar.lz gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar.xz gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.tar.zst gsoc2013-empathy-d001dd2ca3436cae899456994230b22e1c6ec6c7.zip |
UOA account plugins: move shared code to a shared lib
Avoid to redefine existing symbols when different plugins are loaded.
https://bugzilla.gnome.org/show_bug.cgi?id=683415
-rw-r--r-- | ubuntu-online-accounts/cc-plugins/account-plugins/Makefile.am | 129 | ||||
-rwxr-xr-x | ubuntu-online-accounts/cc-plugins/generate-plugins.py | 25 |
2 files changed, 64 insertions, 90 deletions
diff --git a/ubuntu-online-accounts/cc-plugins/account-plugins/Makefile.am b/ubuntu-online-accounts/cc-plugins/account-plugins/Makefile.am index 1d84b2865..7a5ac57ae 100644 --- a/ubuntu-online-accounts/cc-plugins/account-plugins/Makefile.am +++ b/ubuntu-online-accounts/cc-plugins/account-plugins/Makefile.am @@ -12,6 +12,23 @@ INCLUDES = \ $(DISABLE_DEPRECATED) \ $(EMPATHY_CFLAGS) +pkglib_LTLIBRARIES = libempathy-uoa-account-plugin.la + +# this API is not stable and will never be, so use -release to make the +# SONAME of the plugin library change with every Empathy release. +libempathy_uoa_account_plugin_la_LDFLAGS = \ + -no-undefined \ + -release $(VERSION) + +libempathy_uoa_account_plugin_la_SOURCES = \ + empathy-accounts-plugin.c \ + empathy-accounts-plugin.h \ + empathy-accounts-plugin-widget.c \ + empathy-accounts-plugin-widget.h + +libempathy_uoa_account_plugin_la_LIBADD = \ + $(UOA_LIBS) + plugin_LTLIBRARIES = \ libaim.la\ libgadugadu.la\ @@ -30,196 +47,140 @@ plugin_LTLIBRARIES = \ $(NULL) libaim_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-aim.c \ - empathy-accounts-plugin-aim.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-aim.h libaim_la_LDFLAGS = -module -avoid-version libaim_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libgadugadu_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-gadugadu.c \ - empathy-accounts-plugin-gadugadu.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-gadugadu.h libgadugadu_la_LDFLAGS = -module -avoid-version libgadugadu_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libgroupwise_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-groupwise.c \ - empathy-accounts-plugin-groupwise.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-groupwise.h libgroupwise_la_LDFLAGS = -module -avoid-version libgroupwise_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libicq_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-icq.c \ - empathy-accounts-plugin-icq.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-icq.h libicq_la_LDFLAGS = -module -avoid-version libicq_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libirc_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-irc.c \ - empathy-accounts-plugin-irc.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-irc.h libirc_la_LDFLAGS = -module -avoid-version libirc_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libjabber_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-jabber.c \ - empathy-accounts-plugin-jabber.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-jabber.h libjabber_la_LDFLAGS = -module -avoid-version libjabber_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libmxit_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-mxit.c \ - empathy-accounts-plugin-mxit.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-mxit.h libmxit_la_LDFLAGS = -module -avoid-version libmxit_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libmyspace_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-myspace.c \ - empathy-accounts-plugin-myspace.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-myspace.h libmyspace_la_LDFLAGS = -module -avoid-version libmyspace_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libsip_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-sip.c \ - empathy-accounts-plugin-sip.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-sip.h libsip_la_LDFLAGS = -module -avoid-version libsip_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la liblocal_xmpp_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-local-xmpp.c \ - empathy-accounts-plugin-local-xmpp.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-local-xmpp.h liblocal_xmpp_la_LDFLAGS = -module -avoid-version liblocal_xmpp_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libsametime_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-sametime.c \ - empathy-accounts-plugin-sametime.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-sametime.h libsametime_la_LDFLAGS = -module -avoid-version libsametime_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libyahoojp_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-yahoojp.c \ - empathy-accounts-plugin-yahoojp.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-yahoojp.h libyahoojp_la_LDFLAGS = -module -avoid-version libyahoojp_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libyahoo_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-yahoo.c \ - empathy-accounts-plugin-yahoo.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-yahoo.h libyahoo_la_LDFLAGS = -module -avoid-version libyahoo_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la libzephyr_la_SOURCES = \ - empathy-accounts-plugin.c \ - empathy-accounts-plugin.h \ empathy-accounts-plugin-zephyr.c \ - empathy-accounts-plugin-zephyr.h \ - empathy-accounts-plugin-widget.c \ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-zephyr.h libzephyr_la_LDFLAGS = -module -avoid-version libzephyr_la_LIBADD = \ - $(UOA_LIBS) \ + libempathy-uoa-account-plugin.la \ $(top_builddir)/libempathy/libempathy.la \ $(top_builddir)/libempathy-gtk/libempathy-gtk.la diff --git a/ubuntu-online-accounts/cc-plugins/generate-plugins.py b/ubuntu-online-accounts/cc-plugins/generate-plugins.py index b3b54f6e2..a5acab488 100755 --- a/ubuntu-online-accounts/cc-plugins/generate-plugins.py +++ b/ubuntu-online-accounts/cc-plugins/generate-plugins.py @@ -179,15 +179,11 @@ def generate_build_block(p): la = 'lib%s_la' % p.protocol.replace('-', '_') output = '''%s_SOURCES = \\ - empathy-accounts-plugin.c \\ - empathy-accounts-plugin.h \\ empathy-accounts-plugin-%s.c \\ - empathy-accounts-plugin-%s.h \\ - empathy-accounts-plugin-widget.c \\ - empathy-accounts-plugin-widget.h + empathy-accounts-plugin-%s.h %s_LDFLAGS = -module -avoid-version %s_LIBADD = \\ - $(UOA_LIBS) \\ + libempathy-uoa-account-plugin.la \\ $(top_builddir)/libempathy/libempathy.la \\ $(top_builddir)/libempathy-gtk/libempathy-gtk.la ''' % (la, p.protocol, p.protocol, la, la) @@ -228,6 +224,23 @@ INCLUDES = \\ $(DISABLE_DEPRECATED) \\ $(EMPATHY_CFLAGS) +pkglib_LTLIBRARIES = libempathy-uoa-account-plugin.la + +# this API is not stable and will never be, so use -release to make the +# SONAME of the plugin library change with every Empathy release. +libempathy_uoa_account_plugin_la_LDFLAGS = \\ + -no-undefined \\ + -release $(VERSION) + +libempathy_uoa_account_plugin_la_SOURCES = \\ + empathy-accounts-plugin.c \\ + empathy-accounts-plugin.h \\ + empathy-accounts-plugin-widget.c \\ + empathy-accounts-plugin-widget.h + +libempathy_uoa_account_plugin_la_LIBADD = \\ + $(UOA_LIBS) + plugin_LTLIBRARIES = \\ %s \\ $(NULL) |