autoconf: Fix soname for libLLVM-Major.Minor.so (2nd try)
authorTom Stellard <thomas.stellard@amd.com>
Tue, 13 May 2014 19:37:03 +0000 (19:37 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Tue, 13 May 2014 19:37:03 +0000 (19:37 +0000)
We were using libLLVM-Major.Minor.Patch.so for the soname, but we
need the soname to stay consistent for all Major.Minor.* releases
otherwise operating system distributors  will need to rebuild all
packages that link with LLVM every time there is a new point release.

This patch also reverses the compatibility symlink, so
libLLVM-Major.Minor.Patch.so is now a symlink that points
to libLLVM-Major-Minor.so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208721 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.rules
tools/llvm-shlib/Makefile

index d05970c18abccde9bdd54397228173e40fbde98f..5273e44ee0e66a5f375548495e79f96d839c5f8f 100644 (file)
@@ -1063,8 +1063,9 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
 LLVMLibsOptions += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc \
                    -L $(SharedLibDir)
 endif
-LLVMLibsOptions += -lLLVM-$(LLVMVersion)
-LLVMLibsPaths += $(SharedLibDir)/$(SharedPrefix)LLVM-$(LLVMVersion)$(SHLIBEXT)
+LLVM_SO_NAME = LLVM-$(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)$(LLVM_VERSION_SUFFIX)
+LLVMLibsOptions += -l$(LLVM_SO_NAME)
+LLVMLibsPaths += $(SharedLibDir)/$(SharedPrefix)$(LLVM_SO_NAME)$(SHLIBEXT)
 else
 
 ifndef NO_LLVM_CONFIG
@@ -1180,7 +1181,12 @@ LibName.O  := $(LibDir)/$(LIBRARYNAME).o
 #---------------------------------------------------------
 ifdef SHARED_LIBRARY
 
-all-local:: $(LibName.SO)
+all-local:: $(AliasName.SO)
+
+$(AliasName.SO): $(LibName.SO)
+ifdef SHARED_ALIAS
+       $(Verb) $(AliasTool) $(BaseLibName.SO) $(AliasName.SO)
+endif
 
 ifdef EXPORTED_SYMBOL_FILE
 $(LibName.SO): $(NativeExportsFile)
@@ -1238,6 +1244,9 @@ endif
 uninstall-local::
        $(Echo) Uninstalling $(BuildMode) Shared Library $(DestSharedLib)
        -$(Verb) $(RM) -f $(DestSharedLib)
+ifdef SHARED_ALIAS
+       -$(Verb) $(RM) -f $(DestSharedAlias)
+endif
 endif
 endif
 
index 7bbc24cae7a7d4605a8de8ea29414265d4a159d3..19077a3858a6a5cb7aa0342faaa392c118f219f2 100644 (file)
@@ -9,8 +9,8 @@
 
 LEVEL := ../..
 
-LIBRARYNAME = LLVM-$(LLVMVersion)
-LIBRARYALIASNAME = LLVM-$(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)$(LLVM_VERSION_SUFFIX)
+LIBRARYNAME = LLVM-$(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)$(LLVM_VERSION_SUFFIX)
+LIBRARYALIASNAME = LLVM-$(LLVMVersion)
 
 NO_BUILD_ARCHIVE := 1
 LINK_LIBS_IN_SHARED := 1