Skip to content

Commit 8e773d8

Browse files
authored
[compiler-rt] Disable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#131200)
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON is not supported on AIX. Set it to OFF with a WARNING message on AIX.
1 parent 32476b9 commit 8e773d8

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

compiler-rt/cmake/base-config-ix.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
109109
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
110110
set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
111111
"Path where built compiler-rt libraries should be installed.")
112-
else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
112+
else()
113113
set(COMPILER_RT_OUTPUT_LIBRARY_DIR
114114
${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
115115
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")

llvm/CMakeLists.txt

+10-3
Original file line numberDiff line numberDiff line change
@@ -1190,16 +1190,23 @@ endif()
11901190
# Build with _XOPEN_SOURCE on AIX, as stray macros in _ALL_SOURCE mode tend to
11911191
# break things. In this case we need to enable the large-file API as well.
11921192
if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
1193-
add_compile_definitions(_XOPEN_SOURCE=700)
1194-
add_compile_definitions(_LARGE_FILE_API)
1195-
add_compile_options(-pthread)
1193+
add_compile_definitions(_XOPEN_SOURCE=700)
1194+
add_compile_definitions(_LARGE_FILE_API)
1195+
add_compile_options(-pthread)
11961196

11971197
# Modules should be built with -shared -Wl,-G, so we can use runtime linking
11981198
# with plugins.
11991199
string(APPEND CMAKE_MODULE_LINKER_FLAGS " -shared -Wl,-G")
12001200

12011201
# Also set the correct flags for building shared libraries.
12021202
string(APPEND CMAKE_SHARED_LINKER_FLAGS " -shared")
1203+
1204+
# Set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF as AIX doesn't support it
1205+
if (LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
1206+
message(WARNING
1207+
"LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON is not supported on AIX. LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is set to OFF.")
1208+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "" FORCE)
1209+
endif()
12031210
endif()
12041211

12051212
# Build with _XOPEN_SOURCE on z/OS.

runtimes/CMakeLists.txt

+7
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,13 @@ endif()
223223
# This can be used to detect whether we're in the runtimes build.
224224
set(LLVM_RUNTIMES_BUILD ON)
225225

226+
if (LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
227+
# Set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF as AIX doesn't support it
228+
message(WARNING
229+
"LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON is not supported on AIX. LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is set to OFF.")
230+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "" FORCE)
231+
endif()
232+
226233
foreach(entry ${runtimes})
227234
get_filename_component(projName ${entry} NAME)
228235

0 commit comments

Comments
 (0)