about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mesa/opencl.patch
blob: ce6e3d575085b31360e5ffeacfcd4f59b5cd2418 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
diff --git a/meson_options.txt b/meson_options.txt
index a7030aba31e..1d2d8814992 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -18,6 +18,12 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
+option(
+  'clang-libdir',
+  type : 'string',
+  value : '',
+  description : 'Locations to search for clang libraries.'
+)
 option(
   'platforms',
   type : 'array',
diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
index b77826b6e1e..14fa9ba7177 100644
--- a/src/gallium/targets/opencl/meson.build
+++ b/src/gallium/targets/opencl/meson.build
@@ -30,6 +30,7 @@ if with_ld_version_script
 endif
 
 llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir')
+clang_libdir = get_option('clang-libdir')
 opencl_libname = with_opencl_icd ? 'MesaOpenCL' : 'OpenCL'
 
 polly_dep = null_dep
@@ -60,19 +61,19 @@ else
 endif
 if not (dep_clang.found() and dep_clang_usable)
   dep_clang = [
-    cpp.find_library('clangCodeGen', dirs : llvm_libdir),
-    cpp.find_library('clangFrontendTool', dirs : llvm_libdir),
-    cpp.find_library('clangFrontend', dirs : llvm_libdir),
-    cpp.find_library('clangDriver', dirs : llvm_libdir),
-    cpp.find_library('clangSerialization', dirs : llvm_libdir),
-    cpp.find_library('clangParse', dirs : llvm_libdir),
-    cpp.find_library('clangSema', dirs : llvm_libdir),
-    cpp.find_library('clangAnalysis', dirs : llvm_libdir),
-    cpp.find_library('clangAST', dirs : llvm_libdir),
-    cpp.find_library('clangASTMatchers', dirs : llvm_libdir),
-    cpp.find_library('clangEdit', dirs : llvm_libdir),
-    cpp.find_library('clangLex', dirs : llvm_libdir),
-    cpp.find_library('clangBasic', dirs : llvm_libdir),
+    cpp.find_library('clangCodeGen', dirs : clang_libdir),
+    cpp.find_library('clangFrontendTool', dirs : clang_libdir),
+    cpp.find_library('clangFrontend', dirs : clang_libdir),
+    cpp.find_library('clangDriver', dirs : clang_libdir),
+    cpp.find_library('clangSerialization', dirs : clang_libdir),
+    cpp.find_library('clangParse', dirs : clang_libdir),
+    cpp.find_library('clangSema', dirs : clang_libdir),
+    cpp.find_library('clangAnalysis', dirs : clang_libdir),
+    cpp.find_library('clangAST', dirs : clang_libdir),
+    cpp.find_library('clangASTMatchers', dirs : clang_libdir),
+    cpp.find_library('clangEdit', dirs : clang_libdir),
+    cpp.find_library('clangLex', dirs : clang_libdir),
+    cpp.find_library('clangBasic', dirs : clang_libdir),
     polly_dep, polly_isl_dep,
   ]
   # check clang once more
@@ -120,6 +121,6 @@ if with_opencl_icd
     input : 'mesa.icd.in',
     output : 'mesa.icd',
     install : true,
-    install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+    install_dir : join_paths(get_option('prefix'), 'etc', 'OpenCL', 'vendors'),
   )
 endif