summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-05-13 19:37:03 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-05-13 19:37:03 +0000
commit3e18feedfddd2bd3619d0d4294f77e533a142b49 (patch)
tree48543a43e9c467fc256320ca6887e15da250f8ae
parent834384bf5bd3c104e352d3ef4956541f5932529c (diff)
downloadllvm-3e18feedfddd2bd3619d0d4294f77e533a142b49.tar.gz
llvm-3e18feedfddd2bd3619d0d4294f77e533a142b49.tar.bz2
llvm-3e18feedfddd2bd3619d0d4294f77e533a142b49.tar.xz
autoconf: Fix soname for libLLVM-Major.Minor.so (2nd try)
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
-rw-r--r--Makefile.rules15
-rw-r--r--tools/llvm-shlib/Makefile4
2 files changed, 14 insertions, 5 deletions
diff --git a/Makefile.rules b/Makefile.rules
index d05970c18a..5273e44ee0 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -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
diff --git a/tools/llvm-shlib/Makefile b/tools/llvm-shlib/Makefile
index 7bbc24cae7..19077a3858 100644
--- a/tools/llvm-shlib/Makefile
+++ b/tools/llvm-shlib/Makefile
@@ -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