Apply patch to use proper clang
This commit is contained in:
45
cmake-fix.patch
Normal file
45
cmake-fix.patch
Normal file
@@ -0,0 +1,45 @@
|
||||
diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
|
||||
index 11472060a6..0e570f5a21 100644
|
||||
--- a/cmake/LLVM.cmake
|
||||
+++ b/cmake/LLVM.cmake
|
||||
@@ -335,7 +335,6 @@
|
||||
"${PROG_NAME}${CMAKE_EXECUTABLE_SUFFIX}"
|
||||
HINTS "${LLVM_BINDIR}" "${LLVM_CONFIG_LOCATION}"
|
||||
DOC "${DOCSTRING}"
|
||||
- NO_DEFAULT_PATH
|
||||
NO_CMAKE_PATH
|
||||
NO_CMAKE_ENVIRONMENT_PATH
|
||||
)
|
||||
@@ -346,7 +345,12 @@
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
-find_program_or_die(CLANG "clang" "clang binary")
|
||||
+if(DEFINED CMAKE_C_COMPILER) # TODO: this assumes we are using clang
|
||||
+ set(CLANG "${CMAKE_C_COMPILER}")
|
||||
+ message(STATUS "Using clang: ${CLANG}")
|
||||
+else()
|
||||
+ find_program_or_die(CLANG "clang" "clang binary")
|
||||
+endif()
|
||||
execute_process(COMMAND "${CLANG}" "--version" OUTPUT_VARIABLE LLVM_CLANG_VERSION RESULT_VARIABLE CLANG_RES)
|
||||
find_program_or_die(CLANGXX "clang++" "clang++ binary")
|
||||
execute_process(COMMAND "${CLANGXX}" "--version" OUTPUT_VARIABLE LLVM_CLANGXX_VERSION RESULT_VARIABLE CLANGXX_RES)
|
||||
@@ -925,9 +929,15 @@
|
||||
|
||||
#####################################################################
|
||||
|
||||
-execute_process(COMMAND "${CLANG}" "--print-resource-dir" OUTPUT_VARIABLE RESOURCE_DIR)
|
||||
-string(STRIP "${RESOURCE_DIR}" RESOURCE_DIR)
|
||||
-set(CLANG_RESOURCE_DIR "${RESOURCE_DIR}" CACHE INTERNAL "Clang resource dir")
|
||||
+if (NOT DEFINED CLANG_RESOURCE_DIR)
|
||||
+ execute_process(COMMAND "${CLANG}" "--print-resource-dir" OUTPUT_VARIABLE RESOURCE_DIR)
|
||||
+ string(STRIP "${RESOURCE_DIR}" RESOURCE_DIR)
|
||||
+ set(CLANG_RESOURCE_DIR "${RESOURCE_DIR}" CACHE INTERNAL "Clang resource dir")
|
||||
+endif()
|
||||
+
|
||||
+set(CLANG_OPENCL_HEADERS "${CLANG_RESOURCE_DIR}/include/opencl-c.h"
|
||||
+ "${CLANG_RESOURCE_DIR}/include/opencl-c-base.h")
|
||||
+message(STATUS "clang OpenCL Headers: ${CLANG_OPENCL_HEADERS}")
|
||||
|
||||
##########################################################
|
||||
|
||||
@@ -45,6 +45,8 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
version = "nightly";
|
||||
inherit src;
|
||||
|
||||
patches = [ ./cmake-fix.patch ];
|
||||
|
||||
cmakeFlags = [
|
||||
# TODO: all these are broken when cross compiling. Upstream has refactored
|
||||
# all the cmake infra for cross compilation, but it's not in a release yet
|
||||
|
||||
Reference in New Issue
Block a user