diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-03-09 13:35:37 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-03-23 14:11:37 +0000 |
commit | f06469da5cfc7c8dc750bce82099dde4b528a20b (patch) | |
tree | 9b931684acd30b6e4186fafe818788d6d7907905 | |
parent | c535a29358002b3b48c3df7bedecfbf73ab4553f (diff) |
Install non-ABI-stable libraries used by plugins to a private directory
This avoids having Gabble and Salut, or old Gabble and a future stable
Wocky, fight over the libwocky.so symlink.
If you're building for a tightly controlled platform where Gabble and
Salut are definitely using the same Wocky version, you can put them in the
normal libdir with
./configure pluginexeclibdir='${libdir}'
or (when Salut has been updated with this change) make them share a private
library directory:
./configure pluginexeclibdir='${libdir}/telepathy/ytstenut-1.0'
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=46417
Reviewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | gabble/telepathy-gabble-uninstalled.pc.in | 1 | ||||
-rw-r--r-- | gabble/telepathy-gabble.pc.in | 3 | ||||
-rw-r--r-- | src/Makefile.am | 2 |
4 files changed, 15 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 119c1207e..08922eda8 100644 --- a/configure.ac +++ b/configure.ac @@ -238,6 +238,15 @@ AC_SUBST(GLIB_LIBS) GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL) +# These must contain "exec" for automake to work right (install-exec, +# not install-data). +# +# Private directory for Wocky and the gabble-plugins library +if test "x$pluginexeclibdir" = x; then + pluginexeclibdir='${libdir}/telepathy/gabble-0/lib' +fi +AC_ARG_VAR([pluginexeclibdir]) + AC_ARG_ENABLE(plugins, AC_HELP_STRING([--disable-plugins], [disable plugin loader]), @@ -321,7 +330,8 @@ fi # AX_CONFIG_DIR doesn't make it very easy to pass extra arguments to the # submodule's configure. prev_ac_configure_args=$ac_configure_args -ac_configure_args="$ac_configure_args --with-installed-headers=${wocky_install_headers_dir} --enable-shared-suffix=${PACKAGE}-${VERSION}" + +ac_configure_args="$ac_configure_args --with-installed-headers=${wocky_install_headers_dir} --enable-shared-suffix=${PACKAGE}-${VERSION} --libdir=${pluginexeclibdir}" if test "x$ENABLE_CODING_STYLE_CHECKS" = xyes ; then ac_configure_args="$ac_configure_args --enable-coding-style-checks" diff --git a/gabble/telepathy-gabble-uninstalled.pc.in b/gabble/telepathy-gabble-uninstalled.pc.in index c4b1847ba..bc221c0c2 100644 --- a/gabble/telepathy-gabble-uninstalled.pc.in +++ b/gabble/telepathy-gabble-uninstalled.pc.in @@ -3,6 +3,7 @@ exec_prefix= abs_top_srcdir=@abs_top_srcdir@ abs_top_builddir=@abs_top_builddir@ libdir=@libdir@ +pluginexeclibdir=@pluginexeclibdir@ plugindir=${libdir}/telepathy/gabble-0 gabblepath=@abs_top_builddir@/src/telepathy-gabble # For plugins' tests diff --git a/gabble/telepathy-gabble.pc.in b/gabble/telepathy-gabble.pc.in index db7e87a33..3faac34da 100644 --- a/gabble/telepathy-gabble.pc.in +++ b/gabble/telepathy-gabble.pc.in @@ -5,6 +5,7 @@ includedir=@includedir@ libexecdir=@libexecdir@ plugindir=${libdir}/telepathy/gabble-0 +pluginexeclibdir=@pluginexeclibdir@ gabblepath=${libexecdir}/telepathy-gabble # For plugins' tests Name: Telepathy-Gabble @@ -12,5 +13,5 @@ Description: XMPP backend for the Telepathy framework Version: @VERSION@ Requires: pkg-config >= 0.21 Requires.private: glib-2.0 >= 2.16, gobject-2.0 >= 2.16, gio-2.0, telepathy-glib >= 0.7.37 -Libs: -L${libdir} -lgabble-plugins -lwocky +Libs: -L${pluginexeclibdir} -lgabble-plugins -lwocky Cflags: -I${includedir}/telepathy-gabble-0 diff --git a/src/Makefile.am b/src/Makefile.am index b6905c656..b5b281d04 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -239,7 +239,7 @@ telepathy_gabble_LDFLAGS = -export-dynamic noinst_LTLIBRARIES = libgabble-convenience.la -lib_LTLIBRARIES = libgabble-plugins.la +pluginexeclib_LTLIBRARIES = libgabble-plugins.la # Gabble's plugin API is not stable yet (it can't be, since neither is Wocky), # so use -release to make the SONAME of the plugin library change with every |