From cb0ba1707abac22794c86b845c936c4947b5dd9e Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Sun, 8 Aug 2010 11:26:29 -0400 Subject: 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. --- client/.gitignore | 1 + client/Makefile.am | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) (limited to 'client') 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 -- cgit v1.2.1