diff --git a/meson.options b/meson.options index 48e5b810920..e6c9567ade8 100644 --- a/meson.options +++ b/meson.options @@ -786,6 +786,16 @@ option( description : 'Install the mesa-clc compiler (if needed for cross builds).' ) +option( + 'mesa-clc-bundle-headers', + type : 'combo', + value : 'auto', + choices : [ + 'enabled', 'auto' + ], + description : 'Bundle the OpenCL headers into the mesa-clc binary (default to bundle if static LLVM is used). Note, it might require rebuilding mesa-clc if opencl-c.h or opencl-c-base.h are changed (e.g. on Clang upgrades).' +) + option( 'precomp-compiler', type : 'combo', diff --git a/src/compiler/clc/meson.build b/src/compiler/clc/meson.build index 263eba52719..9ff61440f0d 100644 --- a/src/compiler/clc/meson.build +++ b/src/compiler/clc/meson.build @@ -11,7 +11,8 @@ _libmesaclc_c_args = [] _libmesaclc_cpp_args = ['-DLLVM_LIB_DIR="@0@"'.format(llvm_libdir)] _libmesaclc_sources = [] -if not _shared_llvm +if not _shared_llvm or \ + get_option('mesa-clc-bundle-headers') == 'enabled' # 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