About Social Code
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>2025-04-16 14:35:37 +0300
committerMarge Bot <emma+marge@anholt.net>2025-04-24 11:40:15 +0000
commit419a9e9d4277cf187f8a2da3ec151beadb00b311 (patch)
tree8e00e6d835cee3215cc091f930995260b158973c
parent680752d97feec680e04e24e69069f457efdc591a (diff)
mesa-clc: add an option to force inclusion of OpenCL headers
Currently mesa-clc bundles OpenCL headers from Clang only if the static LLVM is used (which means Clang / LLVM are not present on the target system). In some cases (e.g. when building in OpenEmbedded environemnt) it is desirable to have shared LLVM library, but skip installing the whole Clang runtime just to compile shaders. Add an option that forces OpenCL headers to be bundled with the mesa-clc binary. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34551>
-rw-r--r--meson.options10
-rw-r--r--src/compiler/clc/meson.build3
2 files changed, 12 insertions, 1 deletions
diff --git a/meson.options b/meson.options
index 48e5b810920..e6c9567ade8 100644
--- a/meson.options
+++ b/meson.options
@@ -787,6 +787,16 @@ option(
)
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',
value : 'auto',
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