[libcxx-commits] [libcxx] 6de59ca - [libc++] Introduce LIBCXX_LIBRARY_VERSION
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue May 17 05:36:30 PDT 2022
Author: Louis Dionne
Date: 2022-05-17T08:36:19-04:00
New Revision: 6de59ca417b491c5ca2ab189aaae83e62369695a
URL: https://github.com/llvm/llvm-project/commit/6de59ca417b491c5ca2ab189aaae83e62369695a
DIFF: https://github.com/llvm/llvm-project/commit/6de59ca417b491c5ca2ab189aaae83e62369695a.diff
LOG: [libc++] Introduce LIBCXX_LIBRARY_VERSION
This allows controlling the current_version linker property on Apple
platforms.
Differential Revision: https://reviews.llvm.org/D125686
Added:
Modified:
libcxx/CMakeLists.txt
libcxx/src/CMakeLists.txt
Removed:
################################################################################
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index 1202a627f2a35..2b2c42cf8ff6e 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -177,7 +177,14 @@ if (LIBCXX_ABI_UNSTABLE)
else()
set(abi_version "1")
endif()
-set(LIBCXX_ABI_VERSION "${abi_version}" CACHE STRING "ABI version of libc++. Can be either 1 or 2, where 2 is currently the unstable ABI. Defaults to 1 unless LIBCXX_ABI_UNSTABLE is specified, in which case this is 2.")
+set(LIBCXX_ABI_VERSION "${abi_version}" CACHE STRING
+ "ABI version of libc++. Can be either 1 or 2, where 2 is currently the unstable ABI.
+ Defaults to 1 unless LIBCXX_ABI_UNSTABLE is specified, in which case this is 2.")
+set(LIBCXX_LIBRARY_VERSION "${LIBCXX_ABI_VERSION}.0" CACHE STRING
+ "Version of libc++. This will be reflected in the name of the shared library produced.
+ For example, -DLIBCXX_LIBRARY_VERSION=x.y will result in the library being named
+ libc++.x.y.dylib, along with the usual symlinks pointing to that. On Apple platforms,
+ this also controls the linker's 'current_version' property.")
set(LIBCXX_ABI_NAMESPACE "__${LIBCXX_ABI_VERSION}" CACHE STRING "The inline ABI namespace used by libc++. It defaults to __n where `n` is the current ABI version.")
if (NOT LIBCXX_ABI_NAMESPACE MATCHES "__.*")
message(FATAL_ERROR "LIBCXX_ABI_NAMESPACE must be a reserved identifier.")
diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index 25aa4450e1e7e..962f6f54e28f2 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -211,7 +211,7 @@ if (LIBCXX_ENABLE_SHARED)
COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
OUTPUT_NAME "c++"
- VERSION "${LIBCXX_ABI_VERSION}.0"
+ VERSION "${LIBCXX_LIBRARY_VERSION}"
SOVERSION "${LIBCXX_ABI_VERSION}"
DEFINE_SYMBOL ""
)
More information about the libcxx-commits
mailing list