aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-09-06 16:12:44 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-09-06 16:59:52 +0800
commitd001dd2ca3436cae899456994230b22e1c6ec6c7 (patch)
tree0a9f3d936b8eb38c106a2eba4d1e5ed5fe9a147f
parentb73b93e7cfb16579ef6ec18ef01acdac2c6c24f3 (diff)
downloadgsoc2013-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.am129
-rwxr-xr-xubuntu-online-accounts/cc-plugins/generate-plugins.py25
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)