meson: add feature option for use of system Clang headers at runtime

Enabling or disabling the "microsoft-clc" option previously changed
shared logic for all compiler/clc users, which was surprising.

In addition, the option to avoid the use of system Clang headers at
runtime is useful outside the scope of Windows.

Separating the two concepts by making this a neutral feature option
addresses both matters.

Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23255>
This commit is contained in:
Dor Askayo
2023-05-26 14:19:23 +03:00
committed by Marge Bot
parent 7836260af8
commit a28540a430
2 changed files with 10 additions and 2 deletions

View File

@@ -183,6 +183,13 @@ option(
description : 'Link libclc SPIR-V statically.',
)
option(
'opencl-external-clang-headers',
type : 'feature',
description : 'Use system Clang headers at runtime for OpenCL kernel ' +
'compilation.',
)
option(
'd3d-drivers-path',
type : 'string',

View File

@@ -28,8 +28,9 @@ files_libclc = files(
_libclc_cpp_args = ['-DLLVM_LIB_DIR="@0@"'.format(llvm_libdir)]
_libclc_sources = []
if with_microsoft_clc
if get_option('opencl-external-clang-headers') \
.disable_auto_if(host_machine.system() == 'windows') \
.disabled()
# 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