llvmPackages_git: Fix the libcxx and libcxxabi builds

+52 -69
+1 -4
pkgs/development/compilers/llvm/git/libcxx/default.nix
··· 1 - { lib, stdenv, llvm_meta, src, cmake, python3, libcxxabi, fixDarwinDylibNames, version 2 , enableShared ? !stdenv.hostPlatform.isStatic 3 }: 4 ··· 24 nativeBuildInputs = [ cmake python3 ] 25 ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 26 27 - buildInputs = [ libcxxabi ]; 28 - 29 cmakeFlags = [ 30 - "-DLIBCXX_CXX_ABI=libcxxabi" 31 ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" 32 ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" 33 ++ lib.optional stdenv.hostPlatform.isWasm [
··· 1 + { lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version 2 , enableShared ? !stdenv.hostPlatform.isStatic 3 }: 4 ··· 24 nativeBuildInputs = [ cmake python3 ] 25 ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 26 27 cmakeFlags = [ 28 ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" 29 ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" 30 ++ lib.optional stdenv.hostPlatform.isWasm [
+36 -55
pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
··· 1 diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index 9bf1a02f0908..612cd4aab76c 100644 3 --- a/CMakeLists.txt 4 +++ b/CMakeLists.txt 5 @@ -28,6 +28,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build") ··· 9 + include(GNUInstallDirs) 10 + 11 set(PACKAGE_NAME libcxx) 12 - set(PACKAGE_VERSION 12.0.0) 13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 - @@ -402,7 +404,7 @@ endif () 15 - if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 16 - set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 17 - set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR}) 18 - - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 19 - + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 20 if(LIBCXX_LIBDIR_SUBDIR) 21 - string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR}) 22 - string(APPEND LIBCXX_INSTALL_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR}) 23 - @@ -410,11 +412,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 24 - elseif(LLVM_LIBRARY_OUTPUT_INTDIR) 25 set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) 26 - set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR}) 27 - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) 28 + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) 29 else() 30 set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX}) 31 - set(LIBCXX_HEADER_DIR ${CMAKE_BINARY_DIR}) 32 - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) 33 + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) 34 endif() 35 - 36 - file(MAKE_DIRECTORY "${LIBCXX_BINARY_INCLUDE_DIR}") 37 diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake 38 - index 5d2764e870e9..bb1ec5de6ca2 100644 39 --- a/cmake/Modules/HandleLibCXXABI.cmake 40 +++ b/cmake/Modules/HandleLibCXXABI.cmake 41 @@ -63,7 +63,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs) 42 43 if (LIBCXX_INSTALL_HEADERS) 44 install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" 45 - - DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir} 46 - + DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} 47 COMPONENT cxx-headers 48 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 49 ) 50 - diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt 51 - index 29a317b8ae9a..4747263cfd1b 100644 52 - --- a/include/CMakeLists.txt 53 - +++ b/include/CMakeLists.txt 54 - @@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS) 55 - foreach(file ${files}) 56 - get_filename_component(dir ${file} DIRECTORY) 57 - install(FILES ${file} 58 - - DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir} 59 - + DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir} 60 - COMPONENT cxx-headers 61 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 62 - ) 63 - @@ -260,7 +260,7 @@ if (LIBCXX_INSTALL_HEADERS) 64 - 65 - # Install the generated header as __config. 66 - install(FILES ${LIBCXX_BINARY_DIR}/__generated_config 67 - - DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1 68 - + DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1 69 - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 70 - RENAME __config 71 - COMPONENT cxx-headers) 72 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 73 - index 9965104cb5b2..9b55dbb1d822 100644 74 --- a/src/CMakeLists.txt 75 +++ b/src/CMakeLists.txt 76 - @@ -352,21 +352,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY) 77 install(TARGETS cxx_shared 78 - ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 79 - LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 80 - - RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) 81 - + RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 82 endif() 83 84 if (LIBCXX_INSTALL_STATIC_LIBRARY) 85 install(TARGETS cxx_static 86 - ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 87 - LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 88 - - RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) 89 - + RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 90 endif() 91 92 if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY) 93 install(TARGETS cxx_experimental 94 - LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 95 - ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 96 - - RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx) 97 - + RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 98 endif() 99 100 # NOTE: This install command must go after the cxx install command otherwise
··· 1 diff --git a/CMakeLists.txt b/CMakeLists.txt 2 + index 06ee1d74a03e..6c3c6f8f8d47 100644 3 --- a/CMakeLists.txt 4 +++ b/CMakeLists.txt 5 @@ -28,6 +28,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build") ··· 9 + include(GNUInstallDirs) 10 + 11 set(PACKAGE_NAME libcxx) 12 + set(PACKAGE_VERSION 13.0.0git) 13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 + @@ -409,7 +411,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 15 + set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) 16 + set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1") 17 + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1") 18 + - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}) 19 + + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}) 20 + set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1") 21 + set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1") 22 if(LIBCXX_LIBDIR_SUBDIR) 23 + @@ -420,14 +422,14 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR) 24 set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) 25 + set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1") 26 + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}") 27 - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) 28 + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) 29 + set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1") 30 + set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}") 31 else() 32 set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX}) 33 + set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1") 34 + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}") 35 - set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX}) 36 + set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}) 37 + set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1") 38 + set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}") 39 endif() 40 diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake 41 + index 5a8a4a270a1a..c06bae0001aa 100644 42 --- a/cmake/Modules/HandleLibCXXABI.cmake 43 +++ b/cmake/Modules/HandleLibCXXABI.cmake 44 @@ -63,7 +63,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs) 45 46 if (LIBCXX_INSTALL_HEADERS) 47 install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" 48 + - DESTINATION include/c++/v1/${dstdir} 49 + + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir} 50 COMPONENT cxx-headers 51 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 52 ) 53 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 54 + index 87b71f7ba334..d20a783079b7 100644 55 --- a/src/CMakeLists.txt 56 +++ b/src/CMakeLists.txt 57 + @@ -369,21 +369,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY) 58 install(TARGETS cxx_shared 59 + ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 60 + LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 61 + - RUNTIME DESTINATION bin COMPONENT cxx) 62 + + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 63 endif() 64 65 if (LIBCXX_INSTALL_STATIC_LIBRARY) 66 install(TARGETS cxx_static 67 + ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 68 + LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 69 + - RUNTIME DESTINATION bin COMPONENT cxx) 70 + + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 71 endif() 72 73 if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY) 74 install(TARGETS cxx_experimental 75 + LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 76 + ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx 77 + - RUNTIME DESTINATION bin COMPONENT cxx) 78 + + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx) 79 endif() 80 81 # NOTE: This install command must go after the cxx install command otherwise
+4 -1
pkgs/development/compilers/llvm/git/libcxxabi/default.nix
··· 1 { lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version 2 , enableShared ? !stdenv.hostPlatform.isStatic 3 }: 4 5 stdenv.mkDerivation rec { ··· 26 nativeBuildInputs = [ cmake python3 ]; 27 buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; 28 29 - cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [ 30 "-DLLVM_ENABLE_LIBCXX=ON" 31 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 32 ] ++ lib.optionals stdenv.hostPlatform.isWasm [
··· 1 { lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version 2 , enableShared ? !stdenv.hostPlatform.isStatic 3 + , libcxx 4 }: 5 6 stdenv.mkDerivation rec { ··· 27 nativeBuildInputs = [ cmake python3 ]; 28 buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; 29 30 + cmakeFlags = [ 31 + "-DLIBCXXABI_LIBCXX_INCLUDES=${libcxx.dev}/include/c++/v1" 32 + ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ 33 "-DLLVM_ENABLE_LIBCXX=ON" 34 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 35 ] ++ lib.optionals stdenv.hostPlatform.isWasm [
+11 -9
pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
··· 1 diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index 426c855288fc..a9812a994f53 100644 3 --- a/CMakeLists.txt 4 +++ b/CMakeLists.txt 5 @@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH ··· 9 + include(GNUInstallDirs) 10 + 11 set(PACKAGE_NAME libcxxabi) 12 - set(PACKAGE_VERSION 11.0.0) 13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 - @@ -180,17 +182,17 @@ set(CMAKE_MODULE_PATH 15 - 16 if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 17 - set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 18 - - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 19 - + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) 20 if(LIBCXX_LIBDIR_SUBDIR) 21 string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) 22 string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) 23 - endif() 24 elseif(LLVM_LIBRARY_OUTPUT_INTDIR) 25 set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) 26 - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) 27 + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) 28 else() 29 set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) 30 - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) 31 + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) 32 endif() 33 34 - set(LIBCXXABI_INSTALL_PREFIX "" CACHE STRING "Define libc++abi destination prefix.")
··· 1 diff --git a/CMakeLists.txt b/CMakeLists.txt 2 + index 1e8b73aa38cc..6f7b2a25d205 100644 3 --- a/CMakeLists.txt 4 +++ b/CMakeLists.txt 5 @@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH ··· 9 + include(GNUInstallDirs) 10 + 11 set(PACKAGE_NAME libcxxabi) 12 + set(PACKAGE_VERSION 11.0.0git) 13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 14 + @@ -196,7 +198,7 @@ set(CMAKE_MODULE_PATH 15 if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 16 + set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR}) 17 + set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) 18 + - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}) 19 + + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}) 20 if(LIBCXX_LIBDIR_SUBDIR) 21 string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) 22 string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) 23 + @@ -204,11 +206,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) 24 elseif(LLVM_LIBRARY_OUTPUT_INTDIR) 25 + set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR}) 26 set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) 27 - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) 28 + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) 29 else() 30 + set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR}) 31 set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) 32 - set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX}) 33 + set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX}) 34 endif() 35 36 + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})