From: Kai Luo Date: Tue, 29 Jun 2021 03:13:55 +0000 (+0000) Subject: [AIX][compiler-rt] Deliver libatomic.a at top level library directory X-Git-Tag: llvmorg-14-init~2766 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae79854e1c597962b74cb13293fcd5d31a2ca9bc;p=platform%2Fupstream%2Fllvm.git [AIX][compiler-rt] Deliver libatomic.a at top level library directory Install libatomic.a in top level library directory so that compiler can find it in search directories. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D104908 --- diff --git a/compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake index 983d97d..3b61430 100644 --- a/compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake +++ b/compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake @@ -57,8 +57,16 @@ macro(archive_aix_libatomic name) if(shared_libraries_to_archive) set(output_dir "") set(install_dir "") - get_compiler_rt_output_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} output_dir) - get_compiler_rt_install_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} install_dir) + # If LLVM defines top level library directory, we want to deliver + # libatomic.a at top level. See `llvm/cmake/modules/AddLLVM.cmake' + # setting _install_rpath on AIX for reference. + if(LLVM_LIBRARY_OUTPUT_INTDIR AND CMAKE_INSTALL_PREFIX) + set(output_dir "${LLVM_LIBRARY_OUTPUT_INTDIR}") + set(install_dir "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") + else() + get_compiler_rt_output_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} output_dir) + get_compiler_rt_install_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} install_dir) + endif() add_custom_command(OUTPUT "${output_dir}/libatomic.a" COMMAND ${CMAKE_AR} -X32_64 r "${output_dir}/libatomic.a" ${shared_libraries_to_archive}