summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2010-08-08 11:26:29 -0400
committerRyan Lortie <desrt@desrt.ca>2010-08-08 11:26:29 -0400
commitcb0ba1707abac22794c86b845c936c4947b5dd9e (patch)
tree80de31a4d9269b5b7de0eccc099351ad67117f7f /client
parentfff74bd71e01d35b495a841c440c15f5c34008fc (diff)
downloaddconf-cb0ba1707abac22794c86b845c936c4947b5dd9e.tar.gz
Tweak shared library installation
ldconfig gets angry if it finds the soname not to be a symlink. So, install libdconf.so.0.0.0 and symlink libdconf.so.0 to that.
Diffstat (limited to 'client')
-rw-r--r--client/.gitignore1
-rw-r--r--client/Makefile.am25
2 files changed, 16 insertions, 10 deletions
diff --git a/client/.gitignore b/client/.gitignore
index bb66dd5..6b4b55c 100644
--- a/client/.gitignore
+++ b/client/.gitignore
@@ -4,3 +4,4 @@ dconf-client.c
*.deps
libdconf.so
libdconf.so.0
+libdconf.so.0.0.0
diff --git a/client/Makefile.am b/client/Makefile.am
index 4677a48..bb07ec0 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -1,7 +1,7 @@
if HAVE_INTROSPECTION
include $(INTROSPECTION_MAKEFILE)
-dconf-1.0.gir: libdconf.so
+dconf-1.0.gir: libdconf.so.0 libdconf.so
dconf_1_0_gir_INCLUDES = Gio-2.0
dconf_1_0_gir_CFLAGS = $(INCLUDES)
dconf_1_0_gir_LIBS = dconf
@@ -20,27 +20,32 @@ AM_CFLAGS = -std=c89 -Wall -Wmissing-prototypes -Wwrite-strings -D__dconf_h__ -f
INCLUDES = -I$(top_srcdir)/common -I$(top_srcdir)/gvdb -I$(top_srcdir)/engine $(gio_CFLAGS)
shlibdir=$(libdir)
-shlib_PROGRAMS = libdconf.so.0
-noinst_DATA = libdconf.so
+shlib_PROGRAMS = libdconf.so.0.0.0
+nodist_noinst_DATA = libdconf.so.0 libdconf.so
-libdconf.so: libdconf.so.0
- ln -fs libdconf.so.0 libdconf.so
+libdconf.so.0 libdconf.so: libdconf.so.0.0.0
+ $(AM_V_GEN) ln -fs libdconf.so.0.0.0 $@
install-data-hook:
- ln -fs libdconf.so.0 $(DESTDIR)$(shlibdir)/libdconf.so
+ ln -fs libdconf.so.0.0.0 $(DESTDIR)$(shlibdir)/libdconf.so.0
+ ln -fs libdconf.so.0.0.0 $(DESTDIR)$(shlibdir)/libdconf.so
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(shlibdir)/libdconf.so.0
+ rm -f $(DESTDIR)$(shlibdir)/libdconf.so
dconfinclude_HEADERS = \
dconf-client.h \
dconf.h
-libdconf_so_0_LDFLAGS = -shared -Wl,-soname=libdconf.so.0 $(gio_LIBS)
-libdconf_so_0_SOURCES = \
+libdconf_so_0_0_0_LDFLAGS = -shared -Wl,-soname=libdconf.so.0 $(gio_LIBS)
+libdconf_so_0_0_0_SOURCES = \
../common/dconf-shmdir.c \
../common/dconf-paths.c \
../engine/dconf-engine.c \
../gvdb/gvdb-reader.c \
dconf-client.vala engine.vapi
-libdconf_so_0_VALAFLAGS = --library dconf --pkg=gio-2.0
+libdconf_so_0_0_0_VALAFLAGS = --library dconf --pkg=gio-2.0
EXTRA_DIST = dconf.vapi extra-docs.c
dconf.vapi: libdconf.so.0
@@ -54,4 +59,4 @@ vapidir = $(datadir)/vala/vapi
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dconf.pc
-CLEANFILES = $(dist_gir_DATA) $(typelib_DATA) dconf.deps
+CLEANFILES = $(dist_gir_DATA) $(typelib_DATA) dconf.deps libdconf.so.0 libdconf.so