[PATCH] D118672: [cmake][NFC] Configuration for libLLVM.so symbol versioning

Stephen Neuendorffer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 31 18:01:04 PST 2022


stephenneuendorffer created this revision.
Herald added a subscriber: mgorny.
stephenneuendorffer requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Symbol versioning can prevent unintented install-time conflicts
between different llvm versions.  Users may need to override this
for particular products (e.g. Julia), but this requires carrying
a source code patch.  This patch moves this ability to a
configuration option.  NFC for existing usage.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D118672

Files:
  llvm/CMakeLists.txt
  llvm/tools/llvm-shlib/simple_version_script.map.in


Index: llvm/tools/llvm-shlib/simple_version_script.map.in
===================================================================
--- llvm/tools/llvm-shlib/simple_version_script.map.in
+++ llvm/tools/llvm-shlib/simple_version_script.map.in
@@ -1 +1 @@
-LLVM_ at LLVM_VERSION_MAJOR@ { global: *; };
+ at LLVM_SHLIB_SYMBOL_PREFIX@ { global: *; };
Index: llvm/CMakeLists.txt
===================================================================
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -28,6 +28,11 @@
     "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}")
 endif()
 
+if(NOT DEFINED LLVM_SHLIB_SYMBOL_PREFIX)
+  # "Symbol version prefix for libLLVM.so"
+  set(LLVM_SHLIB_SYMBOL_PREFIX "LLVM_${LLVM_VERSION_MAJOR}")
+endif()
+
 if ((CMAKE_GENERATOR MATCHES "Visual Studio") AND (MSVC_TOOLSET_VERSION LESS 142) AND (CMAKE_GENERATOR_TOOLSET STREQUAL ""))
   message(WARNING "Visual Studio generators use the x86 host compiler by "
                   "default, even for 64-bit targets. This can result in linker "


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118672.404775.patch
Type: text/x-patch
Size: 1047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220201/d72bd274/attachment.bin>


More information about the llvm-commits mailing list