Module: Mesa
Branch: main
Commit: f53e5efad7eb5e5cfcc5cf21da4b5393628d2ed4
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f53e5efad7eb5e5cfcc5cf21da4b5393628d2ed4

Author: Lone_Wolf <[email protected]>
Date:   Thu Apr 27 19:42:02 2023 +0200

compiler/clc: Fix embedded clang headers (microsoft-clc)  for LLVM 16+

Reviewed-by: Jesse Natalie <[email protected]>

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7742

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22741>

---

 src/compiler/clc/meson.build | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/compiler/clc/meson.build b/src/compiler/clc/meson.build
index caae07e26dd..64f2e1f6816 100644
--- a/src/compiler/clc/meson.build
+++ b/src/compiler/clc/meson.build
@@ -29,7 +29,17 @@ _libclc_cpp_args = 
['-DLLVM_LIB_DIR="@0@"'.format(llvm_libdir)]
 _libclc_sources = []
 
 if with_microsoft_clc
-  clang_resource_dir = join_paths(llvm_libdir, 'clang', dep_llvm.version(), 
'include')
+
+  # LLVM 16 moved clang header path from using full version to only major 
version
+  if dep_llvm.version().version_compare('< 16')
+    # Prior to LLVM 16, this path used a full version
+    clang_version_dir = dep_llvm.version()
+  else
+    # LLVM 16 changed to only using a major version
+    clang_version_dir = dep_llvm.version().split('.')[0]
+  endif
+  clang_resource_dir = join_paths(llvm_libdir, 'clang', clang_version_dir, 
'include')
+
   if dep_llvm.version().version_compare('< 15.0')
     opencl_c_h = custom_target(
       'opencl-c.h',

Reply via email to