Fix installation of shared library symlinks
authorPeter Colberg <peter@colberg.org>
Fri, 30 Oct 2015 18:57:16 +0000 (14:57 -0400)
committerPeter Colberg <peter@colberg.org>
Fri, 30 Oct 2015 18:57:16 +0000 (14:57 -0400)
Use relative symlinks that are independent of installation prefix.

Drop superfluous .so.MAJOR.MINOR symlink, which is and should never
be needed in practice. The purpose of shared library symlinks is to
provide libraries for compile-time linking (.so) and for run-time
linking using the SONAME (.so.MAJOR).

Makefile

index 61e723a10a83d09c533ac6bdc7513619672152a7..1d41ba995049c650c981f040c5dd4789f351e1fb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -44,6 +44,9 @@ all: libutf8proc.a libutf8proc.$(SHLIB_EXT)
 
 clean:
        rm -f utf8proc.o libutf8proc.a libutf8proc.$(SHLIB_VERS_EXT) libutf8proc.$(SHLIB_EXT) test/normtest test/graphemetest test/printproperty test/charwidth test/valid test/iterate
+ifneq ($(OS),Darwin)
+       rm -f libutf8proc.so.$(MAJOR)
+endif
        $(MAKE) -C bench clean
        $(MAKE) -C data clean
 
@@ -84,10 +87,9 @@ install: libutf8proc.a libutf8proc.$(SHLIB_EXT) libutf8proc.$(SHLIB_VERS_EXT)
        mkdir -m 755 -p $(DESTDIR)$(libdir)
        $(INSTALL) -m 644 libutf8proc.a $(DESTDIR)$(libdir)
        $(INSTALL) -m 755 libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)
-       ln -f -s $(libdir)/libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)/libutf8proc.$(SHLIB_EXT)
+       ln -f -s libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)/libutf8proc.$(SHLIB_EXT)
 ifneq ($(OS),Darwin)
-       ln -f -s $(libdir)/libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)/libutf8proc.so.$(MAJOR)
-       ln -f -s $(libdir)/libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)/libutf8proc.so.$(MAJOR).$(MINOR)
+       ln -f -s libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)/libutf8proc.so.$(MAJOR)
 endif
 
 # Test programs