[Openmp-commits] [openmp] [OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (PR #73725)

Johannes Doerfert via Openmp-commits openmp-commits at lists.llvm.org
Wed Nov 29 07:56:45 PST 2023


================
@@ -10,5 +10,94 @@
 #
 ##===----------------------------------------------------------------------===##
 
+# NOTE: Don't try to build `PluginInterface` using `add_llvm_library` because we
+# don't want to export `PluginInterface` while `add_llvm_library` requires that.
+add_library(PluginCommon OBJECT
+  src/PluginInterface.cpp
+  src/GlobalHandler.cpp
+  src/JIT.cpp
+  src/RPC.cpp
+  src/Utils/ELF.cpp
+)
+
+# Only enable JIT for those targets that LLVM can support.
+string(TOUPPER "${LLVM_TARGETS_TO_BUILD}" TargetsSupported)
+foreach(Target ${TargetsSupported})
+	target_compile_definitions(PluginCommon PRIVATE "LIBOMPTARGET_JIT_${Target}")
+endforeach()
+
+# This is required when using LLVM libraries.
+llvm_update_compile_flags(PluginCommon)
+
+if (LLVM_LINK_LLVM_DYLIB)
+  set(llvm_libs LLVM)
+else()
+  llvm_map_components_to_libnames(llvm_libs
+    ${LLVM_TARGETS_TO_BUILD}
+    AggressiveInstCombine
+    Analysis
+    BinaryFormat
+    BitReader
+    BitWriter
+    CodeGen
+    Core
+    Extensions
+    InstCombine
+    Instrumentation
+    IPO
+    IRReader
+    Linker
+    MC
+    Object
+    Passes
+    Remarks
+    ScalarOpts
+    Support
+    Target
+    TargetParser
+    TransformUtils
+    Vectorize
+  )
+endif()
+
+target_link_libraries(PluginCommon
+  PUBLIC
+    ${llvm_libs}
+)
+
+# Include the RPC server from the `libc` project if availible.
+if(TARGET llvmlibc_rpc_server AND ${LIBOMPTARGET_GPU_LIBC_SUPPORT})
+	target_link_libraries(PluginCommon PRIVATE llvmlibc_rpc_server)
+	target_compile_definitions(PluginCommon PRIVATE LIBOMPTARGET_RPC_SUPPORT)
+elseif(${LIBOMPTARGET_GPU_LIBC_SUPPORT})
+  find_library(llvmlibc_rpc_server NAMES llvmlibc_rpc_server
+               PATHS ${LIBOMPTARGET_LLVM_LIBRARY_DIR} NO_DEFAULT_PATH)
+  if(llvmlibc_rpc_server)
+		target_link_libraries(PluginCommon PRIVATE llvmlibc_rpc_server)
+		target_compile_definitions(PluginCommon PRIVATE LIBOMPTARGET_RPC_SUPPORT)
+  endif()
+endif()
+
+if ((OMPT_TARGET_DEFAULT) AND (LIBOMPTARGET_OMPT_SUPPORT))
----------------
jdoerfert wrote:

I just copied it. Feel free to fix it NFC after.

https://github.com/llvm/llvm-project/pull/73725


More information about the Openmp-commits mailing list