1 Description: Statically link to libllvm
3 When multiple ICDs are installed, libopencl1 needs to dlopen() them all
4 to find out which one works on the available hardware. If they are
5 dynamically linked, this leads to them sharing a libllvm, which has
6 enough global state that this is likely to error out. (This is a known
7 LLVM bug, https://bugs.llvm.org/show_bug.cgi?id=22952 , but currently
10 Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
11 Bug: https://bugs.llvm.org/show_bug.cgi?id=30587
12 Bug-Debian: https://bugs.debian.org/852746
14 --- beignet-1.3.0.orig/CMake/FindLLVM.cmake
15 +++ beignet-1.3.0/CMake/FindLLVM.cmake
16 @@ -87,11 +87,19 @@ execute_process(
17 OUTPUT_STRIP_TRAILING_WHITESPACE
20 +if (LLVM_VERSION_NODOT VERSION_GREATER 38)
22 + COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs --link-static
23 + OUTPUT_VARIABLE LLVM_MODULE_LIBS
24 + OUTPUT_STRIP_TRAILING_WHITESPACE
26 +else (LLVM_VERSION_NODOT VERSION_GREATER 38)
28 COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs
29 OUTPUT_VARIABLE LLVM_MODULE_LIBS
30 OUTPUT_STRIP_TRAILING_WHITESPACE
32 +endif (LLVM_VERSION_NODOT VERSION_GREATER 38)
34 if (LLVM_VERSION_NODOT VERSION_GREATER 34)