[llvm-branch-commits] [libcxx] [libcxxabi] [libunwind] [runtimes][NFC] Re-indent shared library blocks (PR #205523)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 24 03:31:38 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
Re-indent the shared library target blocks that were wrapped in
if(<runtime>_SUPPORTS_SHARED_LIBRARY) in the previous commit. This is a
whitespace-only change split out from the functional change to keep that diff
minimal and reviewable.
Co-authored-by: Claude (Opus 4.8) <noreply@<!-- -->anthropic.com>
---
Patch is 20.51 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/205523.diff
3 Files Affected:
- (modified) libcxx/src/CMakeLists.txt (+74-74)
- (modified) libcxxabi/src/CMakeLists.txt (+89-89)
- (modified) libunwind/src/CMakeLists.txt (+32-32)
``````````diff
diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index 6af0a235ac718..544f7c3039626 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -173,89 +173,89 @@ include(FindLibcCommonUtils)
# Build the shared library.
if (LIBCXX_SUPPORTS_SHARED_LIBRARY)
-add_library(cxx_shared SHARED ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
-target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
-target_link_libraries(cxx_shared PUBLIC cxx-headers runtimes-libc-shared
- PRIVATE ${LIBCXX_LIBRARIES}
- PRIVATE llvm-libc-common-utilities)
-set_target_properties(cxx_shared
- PROPERTIES
- EXCLUDE_FROM_ALL "$<IF:$<BOOL:${LIBCXX_ENABLE_SHARED}>,FALSE,TRUE>"
- COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
- LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
- OUTPUT_NAME "${LIBCXX_SHARED_OUTPUT_NAME}"
- VERSION "${LIBCXX_LIBRARY_VERSION}"
- SOVERSION "${LIBCXX_ABI_VERSION}"
- DEFINE_SYMBOL ""
-)
-cxx_add_common_build_flags(cxx_shared)
-
-if(ZOS)
- add_custom_command(TARGET cxx_shared POST_BUILD
- COMMAND
- ${LIBCXX_SOURCE_DIR}/utils/zos_rename_dll_side_deck.sh
- $<TARGET_LINKER_FILE_NAME:cxx_shared> $<TARGET_FILE_NAME:cxx_shared> "${LIBCXX_DLL_NAME}"
- COMMENT "Rename dll name inside the side deck file"
- WORKING_DIRECTORY $<TARGET_FILE_DIR:cxx_shared>
+ add_library(cxx_shared SHARED ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
+ target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ target_link_libraries(cxx_shared PUBLIC cxx-headers runtimes-libc-shared
+ PRIVATE ${LIBCXX_LIBRARIES}
+ PRIVATE llvm-libc-common-utilities)
+ set_target_properties(cxx_shared
+ PROPERTIES
+ EXCLUDE_FROM_ALL "$<IF:$<BOOL:${LIBCXX_ENABLE_SHARED}>,FALSE,TRUE>"
+ COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
+ LINK_FLAGS "${LIBCXX_LINK_FLAGS}"
+ OUTPUT_NAME "${LIBCXX_SHARED_OUTPUT_NAME}"
+ VERSION "${LIBCXX_LIBRARY_VERSION}"
+ SOVERSION "${LIBCXX_ABI_VERSION}"
+ DEFINE_SYMBOL ""
)
-endif()
+ cxx_add_common_build_flags(cxx_shared)
+
+ if(ZOS)
+ add_custom_command(TARGET cxx_shared POST_BUILD
+ COMMAND
+ ${LIBCXX_SOURCE_DIR}/utils/zos_rename_dll_side_deck.sh
+ $<TARGET_LINKER_FILE_NAME:cxx_shared> $<TARGET_FILE_NAME:cxx_shared> "${LIBCXX_DLL_NAME}"
+ COMMENT "Rename dll name inside the side deck file"
+ WORKING_DIRECTORY $<TARGET_FILE_DIR:cxx_shared>
+ )
+ endif()
-# Link against libc++abi
-if (LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY)
- target_link_libraries(cxx_shared PRIVATE libcxx-abi-shared-objects)
-else()
- target_link_libraries(cxx_shared PUBLIC libcxx-abi-shared)
-endif()
+ # Link against libc++abi
+ if (LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY)
+ target_link_libraries(cxx_shared PRIVATE libcxx-abi-shared-objects)
+ else()
+ target_link_libraries(cxx_shared PUBLIC libcxx-abi-shared)
+ endif()
-# Maybe force some symbols to be weak, not weak or not exported.
-# TODO: This shouldn't depend on the platform, and ideally it should be done in the sources.
-if (APPLE AND LIBCXX_CXX_ABI MATCHES "libcxxabi$"
- AND NOT LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY)
- target_link_libraries(cxx_shared PRIVATE
- "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
- "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
-endif()
+ # Maybe force some symbols to be weak, not weak or not exported.
+ # TODO: This shouldn't depend on the platform, and ideally it should be done in the sources.
+ if (APPLE AND LIBCXX_CXX_ABI MATCHES "libcxxabi$"
+ AND NOT LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY)
+ target_link_libraries(cxx_shared PRIVATE
+ "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
+ "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
+ endif()
-# Generate a linker script in place of a libc++.so symlink.
-if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
- set(link_libraries)
+ # Generate a linker script in place of a libc++.so symlink.
+ if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
+ set(link_libraries)
+
+ set(imported_libname "$<TARGET_PROPERTY:libcxx-abi-shared,IMPORTED_LIBNAME>")
+ set(output_name "$<TARGET_PROPERTY:libcxx-abi-shared,OUTPUT_NAME>")
+ string(APPEND link_libraries "${CMAKE_LINK_LIBRARY_FLAG}$<IF:$<BOOL:${imported_libname}>,${imported_libname},${output_name}>")
+
+ # TODO: Move to the same approach as above for the unwind library
+ if (LIBCXXABI_USE_LLVM_UNWINDER)
+ if (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY)
+ # libunwind is already included in libc++abi
+ elseif (TARGET unwind_shared OR HAVE_LIBUNWIND)
+ string(APPEND link_libraries " ${CMAKE_LINK_LIBRARY_FLAG}$<TARGET_PROPERTY:unwind_shared,OUTPUT_NAME>")
+ else()
+ string(APPEND link_libraries " ${CMAKE_LINK_LIBRARY_FLAG}unwind")
+ endif()
+ endif()
- set(imported_libname "$<TARGET_PROPERTY:libcxx-abi-shared,IMPORTED_LIBNAME>")
- set(output_name "$<TARGET_PROPERTY:libcxx-abi-shared,OUTPUT_NAME>")
- string(APPEND link_libraries "${CMAKE_LINK_LIBRARY_FLAG}$<IF:$<BOOL:${imported_libname}>,${imported_libname},${output_name}>")
+ set(linker_script "INPUT($<TARGET_SONAME_FILE_NAME:cxx_shared> ${link_libraries})")
+ add_custom_command(TARGET cxx_shared POST_BUILD
+ COMMAND "${CMAKE_COMMAND}" -E remove "$<TARGET_LINKER_FILE:cxx_shared>"
+ COMMAND "${CMAKE_COMMAND}" -E echo "${linker_script}" > "$<TARGET_LINKER_FILE:cxx_shared>"
+ COMMENT "Generating linker script: '${linker_script}' as file $<TARGET_LINKER_FILE:cxx_shared>"
+ VERBATIM
+ )
+ endif()
- # TODO: Move to the same approach as above for the unwind library
- if (LIBCXXABI_USE_LLVM_UNWINDER)
- if (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY)
- # libunwind is already included in libc++abi
- elseif (TARGET unwind_shared OR HAVE_LIBUNWIND)
- string(APPEND link_libraries " ${CMAKE_LINK_LIBRARY_FLAG}$<TARGET_PROPERTY:unwind_shared,OUTPUT_NAME>")
+ if(WIN32 AND NOT MINGW AND NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
+ # Since we most likely do not have a mt.exe replacement, disable the
+ # manifest bundling. This allows a normal cmake invocation to pass which
+ # will attempt to use the manifest tool to generate the bundled manifest
+ if (${CMAKE_CXX_COMPILER_FRONTEND_VARIANT} STREQUAL "MSVC")
+ set_target_properties(cxx_shared PROPERTIES
+ APPEND_STRING PROPERTY LINK_FLAGS " /MANIFEST:NO")
else()
- string(APPEND link_libraries " ${CMAKE_LINK_LIBRARY_FLAG}unwind")
+ set_target_properties(cxx_shared PROPERTIES
+ APPEND_STRING PROPERTY LINK_FLAGS " -Xlinker /MANIFEST:NO")
endif()
endif()
-
- set(linker_script "INPUT($<TARGET_SONAME_FILE_NAME:cxx_shared> ${link_libraries})")
- add_custom_command(TARGET cxx_shared POST_BUILD
- COMMAND "${CMAKE_COMMAND}" -E remove "$<TARGET_LINKER_FILE:cxx_shared>"
- COMMAND "${CMAKE_COMMAND}" -E echo "${linker_script}" > "$<TARGET_LINKER_FILE:cxx_shared>"
- COMMENT "Generating linker script: '${linker_script}' as file $<TARGET_LINKER_FILE:cxx_shared>"
- VERBATIM
- )
-endif()
-
-if(WIN32 AND NOT MINGW AND NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
- # Since we most likely do not have a mt.exe replacement, disable the
- # manifest bundling. This allows a normal cmake invocation to pass which
- # will attempt to use the manifest tool to generate the bundled manifest
- if (${CMAKE_CXX_COMPILER_FRONTEND_VARIANT} STREQUAL "MSVC")
- set_target_properties(cxx_shared PROPERTIES
- APPEND_STRING PROPERTY LINK_FLAGS " /MANIFEST:NO")
- else()
- set_target_properties(cxx_shared PROPERTIES
- APPEND_STRING PROPERTY LINK_FLAGS " -Xlinker /MANIFEST:NO")
- endif()
-endif()
endif(LIBCXX_SUPPORTS_SHARED_LIBRARY)
set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt
index c6652a831a4ad..1889d7d5a82de 100644
--- a/libcxxabi/src/CMakeLists.txt
+++ b/libcxxabi/src/CMakeLists.txt
@@ -162,105 +162,105 @@ include(WarningFlags)
# Build the shared library.
if (LIBCXXABI_SUPPORTS_SHARED_LIBRARY)
-add_library(cxxabi_shared_objects OBJECT EXCLUDE_FROM_ALL ${LIBCXXABI_SOURCES} ${LIBCXXABI_HEADERS})
-cxx_add_warning_flags(cxxabi_shared_objects ${LIBCXXABI_ENABLE_WERROR} ${LIBCXXABI_ENABLE_PEDANTIC})
-if (LIBCXXABI_USE_LLVM_UNWINDER)
- if (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY OR
- (DEFINED LIBUNWIND_ENABLE_SHARED AND NOT LIBUNWIND_ENABLE_SHARED))
- target_link_libraries(cxxabi_shared_objects PUBLIC unwind_shared_objects) # propagate usage requirements
- target_sources(cxxabi_shared_objects PUBLIC $<TARGET_OBJECTS:unwind_shared_objects>)
- else()
- target_link_libraries(cxxabi_shared_objects PUBLIC unwind_shared)
+ add_library(cxxabi_shared_objects OBJECT EXCLUDE_FROM_ALL ${LIBCXXABI_SOURCES} ${LIBCXXABI_HEADERS})
+ cxx_add_warning_flags(cxxabi_shared_objects ${LIBCXXABI_ENABLE_WERROR} ${LIBCXXABI_ENABLE_PEDANTIC})
+ if (LIBCXXABI_USE_LLVM_UNWINDER)
+ if (LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY OR
+ (DEFINED LIBUNWIND_ENABLE_SHARED AND NOT LIBUNWIND_ENABLE_SHARED))
+ target_link_libraries(cxxabi_shared_objects PUBLIC unwind_shared_objects) # propagate usage requirements
+ target_sources(cxxabi_shared_objects PUBLIC $<TARGET_OBJECTS:unwind_shared_objects>)
+ else()
+ target_link_libraries(cxxabi_shared_objects PUBLIC unwind_shared)
+ endif()
endif()
-endif()
-target_link_libraries(cxxabi_shared_objects
- PUBLIC cxxabi-headers
- PRIVATE cxx-headers runtimes-libc-headers ${LIBCXXABI_LIBRARIES})
-if (NOT CXX_SUPPORTS_NOSTDLIBXX_FLAG)
- target_link_libraries(cxxabi_shared_objects PRIVATE ${LIBCXXABI_BUILTINS_LIBRARY})
-endif()
-set_target_properties(cxxabi_shared_objects
- PROPERTIES
- CXX_EXTENSIONS OFF
- CXX_STANDARD 23
- CXX_STANDARD_REQUIRED OFF # TODO: Make this REQUIRED once we don't need to accommodate the LLVM documentation builders using an ancient CMake
- COMPILE_FLAGS "${LIBCXXABI_COMPILE_FLAGS}"
- DEFINE_SYMBOL ""
-)
-if (CMAKE_POSITION_INDEPENDENT_CODE OR NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
- set_target_properties(cxxabi_shared_objects PROPERTIES POSITION_INDEPENDENT_CODE ON) # must set manually because it's an object library
-endif()
-target_compile_options(cxxabi_shared_objects PRIVATE "${LIBCXXABI_ADDITIONAL_COMPILE_FLAGS}")
-
-# Build with -fsized-deallocation, which is default in recent versions of Clang.
-# TODO(LLVM 21): This can be dropped once we only support Clang >= 19.
-target_add_compile_flags_if_supported(cxxabi_shared_objects PRIVATE -fsized-deallocation)
-
-add_library(cxxabi_shared SHARED)
-set_target_properties(cxxabi_shared
- PROPERTIES
- EXCLUDE_FROM_ALL "$<IF:$<BOOL:${LIBCXXABI_ENABLE_SHARED}>,FALSE,TRUE>"
- LINK_FLAGS "${LIBCXXABI_LINK_FLAGS}"
- OUTPUT_NAME "${LIBCXXABI_SHARED_OUTPUT_NAME}"
- SOVERSION "1"
- VERSION "${LIBCXXABI_LIBRARY_VERSION}"
-)
-
-if (ZOS)
- add_custom_command(TARGET cxxabi_shared POST_BUILD
- COMMAND
- ${LIBCXXABI_LIBCXX_PATH}/utils/zos_rename_dll_side_deck.sh
- $<TARGET_LINKER_FILE_NAME:cxxabi_shared> $<TARGET_FILE_NAME:cxxabi_shared> "${LIBCXXABI_DLL_NAME}"
- COMMENT "Rename dll name inside the side deck file"
- WORKING_DIRECTORY $<TARGET_FILE_DIR:cxxabi_shared>
+ target_link_libraries(cxxabi_shared_objects
+ PUBLIC cxxabi-headers
+ PRIVATE cxx-headers runtimes-libc-headers ${LIBCXXABI_LIBRARIES})
+ if (NOT CXX_SUPPORTS_NOSTDLIBXX_FLAG)
+ target_link_libraries(cxxabi_shared_objects PRIVATE ${LIBCXXABI_BUILTINS_LIBRARY})
+ endif()
+ set_target_properties(cxxabi_shared_objects
+ PROPERTIES
+ CXX_EXTENSIONS OFF
+ CXX_STANDARD 23
+ CXX_STANDARD_REQUIRED OFF # TODO: Make this REQUIRED once we don't need to accommodate the LLVM documentation builders using an ancient CMake
+ COMPILE_FLAGS "${LIBCXXABI_COMPILE_FLAGS}"
+ DEFINE_SYMBOL ""
)
-endif ()
-
-target_link_libraries(cxxabi_shared
- PUBLIC cxxabi_shared_objects runtimes-libc-shared
- PRIVATE ${LIBCXXABI_LIBRARIES})
-
-# TODO: Move this to libc++'s HandleLibCXXABI.cmake since this is effectively trying to control
-# what libc++ re-exports.
-add_library(cxxabi-reexports INTERFACE)
-function(export_symbols file)
- # -exported_symbols_list is only available on Apple platforms
- if (APPLE)
- target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${file}")
+ if (CMAKE_POSITION_INDEPENDENT_CODE OR NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
+ set_target_properties(cxxabi_shared_objects PROPERTIES POSITION_INDEPENDENT_CODE ON) # must set manually because it's an object library
endif()
-endfunction()
+ target_compile_options(cxxabi_shared_objects PRIVATE "${LIBCXXABI_ADDITIONAL_COMPILE_FLAGS}")
+
+ # Build with -fsized-deallocation, which is default in recent versions of Clang.
+ # TODO(LLVM 21): This can be dropped once we only support Clang >= 19.
+ target_add_compile_flags_if_supported(cxxabi_shared_objects PRIVATE -fsized-deallocation)
+
+ add_library(cxxabi_shared SHARED)
+ set_target_properties(cxxabi_shared
+ PROPERTIES
+ EXCLUDE_FROM_ALL "$<IF:$<BOOL:${LIBCXXABI_ENABLE_SHARED}>,FALSE,TRUE>"
+ LINK_FLAGS "${LIBCXXABI_LINK_FLAGS}"
+ OUTPUT_NAME "${LIBCXXABI_SHARED_OUTPUT_NAME}"
+ SOVERSION "1"
+ VERSION "${LIBCXXABI_LIBRARY_VERSION}"
+ )
-function(reexport_symbols file)
- export_symbols("${file}")
- # -reexported_symbols_list is only available on Apple platforms
- if (APPLE)
- target_link_libraries(cxxabi-reexports INTERFACE "-Wl,-reexported_symbols_list,${file}")
- endif()
-endfunction()
+ if (ZOS)
+ add_custom_command(TARGET cxxabi_shared POST_BUILD
+ COMMAND
+ ${LIBCXXABI_LIBCXX_PATH}/utils/zos_rename_dll_side_deck.sh
+ $<TARGET_LINKER_FILE_NAME:cxxabi_shared> $<TARGET_FILE_NAME:cxxabi_shared> "${LIBCXXABI_DLL_NAME}"
+ COMMENT "Rename dll name inside the side deck file"
+ WORKING_DIRECTORY $<TARGET_FILE_DIR:cxxabi_shared>
+ )
+ endif ()
+
+ target_link_libraries(cxxabi_shared
+ PUBLIC cxxabi_shared_objects runtimes-libc-shared
+ PRIVATE ${LIBCXXABI_LIBRARIES})
+
+ # TODO: Move this to libc++'s HandleLibCXXABI.cmake since this is effectively trying to control
+ # what libc++ re-exports.
+ add_library(cxxabi-reexports INTERFACE)
+ function(export_symbols file)
+ # -exported_symbols_list is only available on Apple platforms
+ if (APPLE)
+ target_link_libraries(cxxabi_shared PRIVATE "-Wl,-exported_symbols_list,${file}")
+ endif()
+ endfunction()
-export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/symbols-not-reexported.exp")
-reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/cxxabiv1.exp")
-reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/fundamental-types.exp")
-reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
-reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/std-misc.exp")
+ function(reexport_symbols file)
+ export_symbols("${file}")
+ # -reexported_symbols_list is only available on Apple platforms
+ if (APPLE)
+ target_link_libraries(cxxabi-reexports INTERFACE "-Wl,-reexported_symbols_list,${file}")
+ endif()
+ endfunction()
-if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
- reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
-endif()
+ export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/symbols-not-reexported.exp")
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/cxxabiv1.exp")
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/fundamental-types.exp")
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/std-misc.exp")
-# Note that std:: exception types are always defined by the library regardless of
-# whether the exception runtime machinery is provided.
-reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/std-exceptions.exp")
+ if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
+ endif()
-if (LIBCXXABI_ENABLE_EXCEPTIONS)
- reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-exceptions.exp")
+ # Note that std:: exception types are always defined by the library regardless of
+ # whether the exception runtime machinery is provided.
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/std-exceptions.exp")
- if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
- reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-sjlj.exp")
- else()
- reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-v0.exp")
+ if (LIBCXXABI_ENABLE_EXCEPTIONS)
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-exceptions.exp")
+
+ if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-sjlj.exp")
+ else()
+ reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/personality-v0.exp")
+ endif()
endif()
-endif()
endif(LIBCXXABI_SUPPORTS_SHARED_LIBRARY)
# Build the static library.
diff --git a/libunwind/src/CMakeLists.txt b/libunwind/src/CMakeLists.txt
index 57e780afb90b2..a9d9a2ef089d6 100644
--- a/libunwind/src/CMakeLists.txt
+++ b/libunwind/src/CMakeLists.txt
@@ -126,39 +126,39 @@ include(WarningFlags)
# Build the shared library.
if (LIBUNWIND_SUPPORTS_SHARED_LIBRARY)
-add_library(unwind_shared_objects OBJECT EXCLUDE_FROM_ALL ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS})
-cxx_add_warning_flags(unwind_shared_objects ${LIBUNWIND_ENABLE_WERROR} ${LIBUNWIND_ENABLE_PEDANTIC})
-if(CMAKE_C_COMPILER_ID STREQUAL MSVC)
- target_compile_options(unwind_shared_objects PRIVATE /GR-)
-else()
- target_compile_options(unwind_shared_objects PRIVATE -fno-rtti)
-endif()
-target_compile_options(unwind_shared_objects PUBLIC "${LIBUNWIND_ADDITIONAL_COMPILE_FLAGS}")
-target_link_libraries(unwind_shared_objects
- PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}"
- PRIVATE unwind-headers runtimes-libc-headers ${LIBUNWIND_LIBRARIES})
-set_target_properties(unwind_shared_objects
- PROPERTIES
- CXX_EXTENSIONS OFF
- CXX_STANDARD 17
- CXX_STANDARD_REQUIRED ON
- COMPILE_FLAGS "${LIBUNWIND_COMPILE_FLAGS}"
-)
-if (CMAKE_POSITION_INDEPENDENT_CODE OR NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
- set_target_properties(unwind_shared_objects PROPERTIES POSITION_INDEPENDENT_CODE ON) # must set manually because it's an object library
-endif()
+ add_library(unwind_shared_objects OBJECT EXCLUDE_FROM_ALL ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS})
+ cxx_add_warning_flags(unwind_shared_objects ${LIBUNWIND_ENABLE_WERROR} ${LIBUNWIND_ENABLE_PEDANTIC})
+ if(CMAKE_C_COMPILER_ID STREQUAL MSVC)
+ target_compile_options(unwind_shared_objects PRIVATE /GR-)
+ else()
+ target_compile_options(unwind_shared_objects PRIVATE -fno-rtti)
+ endif()
+ target_compile_options(unwind_shared_objects PUBLIC "${LIBUNWIND_ADDITIONAL_COMPILE_FLAGS}")
+ target_link_libraries(unwind_shared_objects
+ PUBLIC "${LIBUNWIND_ADDITIONAL_LIBRARIES}"
+ PRIVATE unwind-headers runtimes-libc-headers ${LIBUNWIND_LIBRARIES})
+ set_target_properties(unwind_shared_objects
+ PROPERTIES
+ CXX_EXTENSIONS OFF
+ CXX_STANDARD 17
+ CXX_STANDARD_REQUIRED ON
+ COMPILE_FLAGS "${LIBUNWIND_COMPILE_FLAGS}"
+ )
+ if (CMAKE_POSITION_INDEPENDENT_CODE OR NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
+ set_target_properties(unwind_shared_objects PROPERTIES POSITION_INDEPENDENT_CODE ON) # must set manually because it's an object library
+ endif()
-add_library(unwind_shared SHARED)
-target_link_libraries(unwind_shared PUBLIC unwind_shared_objects runtimes-libc-shared)
-set_target_properties(unwind_shared
- PROPERTIES
- EXCLUDE_FROM_ALL "$<IF:$<BOOL:${LIBUNWIND_ENABLE_SHARED}>,FALSE,TRUE>"
- LINK_FLAGS "${LIBUNWIND_LINK_FLAGS}"
- LINKER_LANGUAGE C
- OUTPUT_NAME "${LIBUNWIND_SHARED_OUTPUT_NAME}"
- VERSION "${LIBUNWIND_LIBRARY_VERSION}"
- SOVERSION "1"
-)
+ add_libr...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/205523
More information about the llvm-branch-commits
mailing list