[compiler-rt] 96e3604 - [CMake] Move the AIX archiver settings to a module
Petr Hosek via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 5 11:46:37 PST 2022
Author: Petr Hosek
Date: 2022-01-05T11:46:30-08:00
New Revision: 96e36048fddf7f9ce3e59c117fdd4d307f9165c5
URL: https://github.com/llvm/llvm-project/commit/96e36048fddf7f9ce3e59c117fdd4d307f9165c5
DIFF: https://github.com/llvm/llvm-project/commit/96e36048fddf7f9ce3e59c117fdd4d307f9165c5.diff
LOG: [CMake] Move the AIX archiver settings to a module
This allows their reuse across projects. The name of the module
is intentionally generic because we would like to move more platform
checks there.
Differential Revision: https://reviews.llvm.org/D115276
Added:
cmake/Modules/SetPlatformToolchainTools.cmake
Modified:
compiler-rt/CMakeLists.txt
compiler-rt/lib/builtins/CMakeLists.txt
Removed:
################################################################################
diff --git a/cmake/Modules/SetPlatformToolchainTools.cmake b/cmake/Modules/SetPlatformToolchainTools.cmake
new file mode 100644
index 0000000000000..ab2abe934473d
--- /dev/null
+++ b/cmake/Modules/SetPlatformToolchainTools.cmake
@@ -0,0 +1,9 @@
+get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
+
+if(CMAKE_SYSTEM_NAME MATCHES "AIX")
+ foreach(lang IN LISTS languages)
+ set(CMAKE_${lang}_ARCHIVE_CREATE "<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_${lang}_ARCHIVE_APPEND "<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_${lang}_ARCHIVE_FINISH "<CMAKE_RANLIB> -X32_64 <TARGET>")
+ endforeach()
+endif()
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 1e721a046a2f0..c5003b5efa1d5 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -28,6 +28,7 @@ else()
set(CMAKE_CFG_RESOLVED_INTDIR "")
endif()
+include(SetPlatformToolchainTools)
include(base-config-ix)
include(CompilerRTUtils)
@@ -574,15 +575,6 @@ if (CMAKE_LINKER MATCHES "link.exe$")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
endif()
-if(${CMAKE_SYSTEM_NAME} MATCHES "AIX")
- set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -X32_64 <TARGET>")
- set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -X32_64 <TARGET>")
-endif()
-
add_subdirectory(include)
option(COMPILER_RT_USE_LIBCXX
diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
index e2489f1a3ed09..0b965d90a5b57 100644
--- a/compiler-rt/lib/builtins/CMakeLists.txt
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
@@ -28,6 +28,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
load_llvm_config()
construct_compiler_rt_default_triple()
+ include(SetPlatformToolchainTools)
if(APPLE)
include(CompilerRTDarwinUtils)
endif()
@@ -35,15 +36,6 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
include(UseLibtool)
endif()
include(AddCompilerRT)
-
- if(${CMAKE_SYSTEM_NAME} MATCHES "AIX")
- set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -X32_64 qc <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> -X32_64 q <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -X32_64 <TARGET>")
- set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -X32_64 <TARGET>")
- endif()
endif()
if (COMPILER_RT_STANDALONE_BUILD)
More information about the llvm-commits
mailing list