xref: /llvm-project/libcxx/cmake/caches/AIX.cmake (revision 917ada35cd937ad4104dff89c48398bd796ba6b7)
1set(CMAKE_BUILD_TYPE Release CACHE STRING "")
2set(CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "")
3set(CMAKE_C_FLAGS "-D__LIBC_NO_CPP_MATH_OVERLOADS__" CACHE STRING "")
4set(CMAKE_CXX_FLAGS "-D__LIBC_NO_CPP_MATH_OVERLOADS__" CACHE STRING "")
5set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-G -Wl,-bcdtors:all:-2147483548:s" CACHE STRING "")
6set(CMAKE_AR "/usr/bin/ar" CACHE FILEPATH "")
7
8set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
9set(LIBCXX_ABI_VERSION "1" CACHE STRING "")
10set(LIBCXX_ENABLE_ABI_LINKER_SCRIPT OFF CACHE BOOL "")
11set(LIBCXX_ENABLE_SHARED ON CACHE BOOL "")
12set(LIBCXX_ENABLE_STATIC OFF CACHE BOOL "")
13set(LIBCXXABI_ENABLE_SHARED ON CACHE BOOL "")
14set(LIBCXXABI_ENABLE_STATIC OFF CACHE BOOL "")
15set(LIBCXX_CXX_ABI libcxxabi CACHE STRING "")
16set(LIBUNWIND_ENABLE_SHARED ON CACHE BOOL "")
17set(LIBUNWIND_ENABLE_STATIC OFF CACHE BOOL "")
18set(LIBCXX_ABI_DEFINES "_LIBCPP_ABI_IOS_ALLOW_ARBITRARY_FILL_VALUE" CACHE STRING "")
19
20# On AIX, both shared and static libraries are archived. As a result, both the static and the shared targets end
21# up with a `.a` suffix, which conflict. To workaround that, we set a different output name for the static
22# libraries, which we never actually build anyway. For more information, see https://gitlab.kitware.com/cmake/cmake/-/issues/19494.
23set(LIBCXX_STATIC_OUTPUT_NAME "c++-static" CACHE STRING "")
24set(LIBCXXABI_STATIC_OUTPUT_NAME "c++abi-static" CACHE STRING "")
25set(LIBUNWIND_STATIC_OUTPUT_NAME "unwind-static" CACHE STRING "")
26