[openmp] [elf_common] Fix linking against LLVM dylib
authorMichał Górny <mgorny@moritz.systems>
Mon, 4 Oct 2021 06:25:45 +0000 (08:25 +0200)
committerMichał Górny <mgorny@moritz.systems>
Mon, 4 Oct 2021 07:29:06 +0000 (09:29 +0200)
The hand-rolled linking logic in elf_common does not account for
the possibility of using LLVM dylib rather than a dozen static
libraries.  Since it does not seem to be easily convertible
to add_llvm_library, just hand-roll support for LLVM_LINK_LLVM_DYLIB.
This is necessary to support stand-alone builds against installed LLVM.

Differential Revision: https://reviews.llvm.org/D111038

openmp/libomptarget/plugins/common/elf_common/CMakeLists.txt

index aad2e14..457aab9 100644 (file)
@@ -16,6 +16,9 @@ add_library(elf_common OBJECT elf_common.cpp)
 set_property(TARGET elf_common PROPERTY POSITION_INDEPENDENT_CODE ON)
 llvm_update_compile_flags(elf_common)
 set(LINK_LLVM_LIBS LLVMBinaryFormat LLVMObject LLVMSupport)
+if (LLVM_LINK_LLVM_DYLIB)
+  set(LINK_LLVM_LIBS LLVM)
+endif()
 target_link_libraries(elf_common INTERFACE ${LINK_LLVM_LIBS})
 include_directories(${LIBOMPTARGET_LLVM_INCLUDE_DIRS})
 add_dependencies(elf_common ${LINK_LLVM_LIBS})