changeset 4:72883192a39a icedtea-sound-1.0.0

PR1876: The following shared libraries lack a SONAME: /usr/lib64/libicedtea-sound.so 2014-07-18 Andrew John Hughes <gnu.andrew@redhat.com> PR1876: The following shared libraries lack a SONAME: /usr/lib64/libicedtea-sound.so * Makefile.am: (TARGET_NAME): Added to store target library name. (LIBRARY_NAME): Added to store fully versioned library name. (all-local): Move docs down to icedtea-sound level. (install-exec-local): Install the library with the version in its name and an unversioned symlink to it. (install-data-local): Depend on docs. (uninstall-local): Delete both library and symlink. (icedtea-sound): Depend on docs. ($(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME)): Set soname to $(LIBRARY_NAME) when building library. * NEWS: Updated.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 18 Jul 2014 21:19:43 +0100
parents b3457afd5360
children d6b663c6cb0c
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 36 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jul 18 20:16:21 2014 +0100
+++ b/ChangeLog	Fri Jul 18 21:19:43 2014 +0100
@@ -1,3 +1,22 @@
+2014-07-18  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	PR1876: The following shared libraries lack a
+	SONAME: /usr/lib64/libicedtea-sound.so
+	* Makefile.am:
+	(TARGET_NAME): Added to store target library name.
+	(LIBRARY_NAME): Added to store fully versioned
+	library name.
+	(all-local): Move docs down to icedtea-sound level.
+	(install-exec-local): Install the library with
+	the version in its name and an unversioned symlink
+	to it.
+	(install-data-local): Depend on docs.
+	(uninstall-local): Delete both library and symlink.
+	(icedtea-sound): Depend on docs.
+	($(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME)):
+	Set soname to $(LIBRARY_NAME) when building library.
+	* NEWS: Updated.
+
 2014-07-18  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* NEWS: Set release date.
--- a/Makefile.am	Fri Jul 18 20:16:21 2014 +0100
+++ b/Makefile.am	Fri Jul 18 21:19:43 2014 +0100
@@ -17,6 +17,9 @@
 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301 USA.
 
+TARGET_NAME=lib$(PACKAGE_NAME).so
+LIBRARY_NAME=$(TARGET_NAME).$(PACKAGE_VERSION)
+
 # Source directories
 ICEDTEA_SOUND_DIR = $(abs_top_srcdir)
 ICEDTEA_SOUND_NATIVE_SRCDIR = $(ICEDTEA_SOUND_DIR)/src/native
@@ -64,7 +67,7 @@
 # Top-Level Targets
 # =================
 
-all-local: stamps/icedtea-sound.stamp stamps/docs.stamp
+all-local: stamps/icedtea-sound.stamp
 
 clean-local: clean-icedtea-sound clean-docs
 	rm -f $(abs_top_builddir)/src.zip
@@ -72,11 +75,13 @@
 
 .PHONY: clean-icedtea-sound
 
-install-exec-local:
+install-exec-local: $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME)
 	${mkinstalldirs} $(DESTDIR)$(libdir)
-	${INSTALL_PROGRAM} $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/libicedtea-sound.so $(DESTDIR)$(libdir)
+	${INSTALL_PROGRAM} $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME) \
+	  $(DESTDIR)$(libdir)/$(LIBRARY_NAME)
+	ln -sf $(LIBRARY_NAME) $(DESTDIR)$(libdir)/$(TARGET_NAME)
 
-install-data-local:
+install-data-local: stamps/icedtea-sound-jar.stamp stamps/docs.stamp
 	${mkinstalldirs} $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/
 	${INSTALL_DATA} icedtea-sound.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
 	(cd $(ICEDTEA_SOUND_JAVA_SRCDIR) && \
@@ -92,13 +97,15 @@
 endif
 
 uninstall-local:
-	rm -f $(DESTDIR)$(libdir)/libicedtea-sound.so
+	rm -f $(DESTDIR)$(libdir)/$(TARGET_NAME)
+	rm -f $(DESTDIR)$(libdir)/$(LIBRARY_NAME)
 	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/icedtea-sound.jar
 	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/src.zip
 	rmdir $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
 	rm -rf $(DESTDIR)$(htmldir)
 
-stamps/icedtea-sound.stamp: stamps/icedtea-sound-jar.stamp $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/libicedtea-sound.so
+stamps/icedtea-sound.stamp: stamps/icedtea-sound-jar.stamp \
+  $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME) stamps/docs.stamp
 	mkdir -p stamps
 	touch $@
 
@@ -137,9 +144,9 @@
 	$(CC) $(IT_CFLAGS) -fPIC -I$(SYSTEM_JDK_DIR)/include/linux -I$(SYSTEM_JDK_DIR)/include \
 	 -I$(ICEDTEA_SOUND_NATIVE_BUILDDIR) -o $@ -c $<
 
-$(ICEDTEA_SOUND_NATIVE_BUILDDIR)/libicedtea-sound.so: $(ICEDTEA_SOUND_NATIVE_OBJECTS)
-	$(CC) $(LDFLAGS) -shared $(ICEDTEA_SOUND_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \
-	 -o $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/libicedtea-sound.so
+$(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME): $(ICEDTEA_SOUND_NATIVE_OBJECTS)
+	$(CC) $(LDFLAGS) -shared -Xlinker -soname=$(LIBRARY_NAME) \
+	  $(ICEDTEA_SOUND_NATIVE_OBJECTS) $(LIBPULSE_LIBS) -o $@
 
 clean-icedtea-sound:
 	rm -rf $(ICEDTEA_SOUND_NATIVE_BUILDDIR)
--- a/NEWS	Fri Jul 18 20:16:21 2014 +0100
+++ b/NEWS	Fri Jul 18 21:19:43 2014 +0100
@@ -36,3 +36,4 @@
 * PR1741: Break PulseAudio provider out into IcedTea-Sound
 * PR1840: Replace Makefile.am references to PULSE_JAVA with ICEDTEA_SOUND
 * PR1842: Linker does not check that symbols can be resolved for libpulse-java.so
+* PR1876: The following shared libraries lack a SONAME: /usr/lib64/libicedtea-sound.so