[OpenMP][NVPTX] Disable building NVPTX deviceRTL by default on a non-CUDA system
authorShilei Tian <tianshilei1992@gmail.com>
Wed, 27 Jan 2021 22:06:05 +0000 (17:06 -0500)
committerShilei Tian <tianshilei1992@gmail.com>
Wed, 27 Jan 2021 22:06:14 +0000 (17:06 -0500)
D95466 dropped CUDA to build NVPTX deviceRTL and enabled it by default.
However, the building requires some libraries that are not available on non-CUDA
system by default, which could break the compilation. This patch disabled the
build by default. It can be enabled with `LIBOMPTARGET_BUILD_NVPTX_BCLIB=ON`.

Reviewed By: kparzysz

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

openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt

index 4661bf0..23efbba 100644 (file)
 #
 ##===----------------------------------------------------------------------===##
 
+# By default we will not build NVPTX deviceRTL on a non-CUDA
+set(LIBOMPTARGET_BUILD_NVPTX_BCLIB FALSE CACHE BOOL
+  "Whether build NVPTX deviceRTL on non-CUDA system.")
+
+if (NOT (LIBOMPTARGET_DEP_CUDA_FOUND OR LIBOMPTARGET_BUILD_NVPTX_BCLIB))
+  libomptarget_say("Not building NVPTX deviceRTL by default on non-CUDA system.")
+  return()
+endif()
+
 # Check if we can create an LLVM bitcode implementation of the runtime library
 # that could be inlined in the user application. For that we need to find
 # a Clang compiler capable of compiling our CUDA files to LLVM bitcode and