meson: Make use of optional modules

meson 0.43 gained support for optional modules, which clover wold like
to use. Since we require 0.44.1 now we can rely on them being available
for clover.

compile tested only.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Dylan Baker 2018-06-07 11:22:48 -07:00
parent 34bbb24ce7
commit 0ce3f3538b

View File

@ -1110,6 +1110,7 @@ if dep_libdrm.found()
endif endif
llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit'] llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit']
llvm_optional_modules = []
if with_amd_vk or with_gallium_radeonsi or with_gallium_r600 if with_amd_vk or with_gallium_radeonsi or with_gallium_r600
llvm_modules += ['amdgpu', 'bitreader', 'ipo'] llvm_modules += ['amdgpu', 'bitreader', 'ipo']
if with_gallium_r600 if with_gallium_r600
@ -1121,7 +1122,7 @@ if with_gallium_opencl
'all-targets', 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader', 'all-targets', 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader',
'lto', 'option', 'objcarcopts', 'profiledata', 'lto', 'option', 'objcarcopts', 'profiledata',
] ]
# TODO: optional modules llvm_optional_modules += ['coroutines', 'opencl']
endif endif
if with_amd_vk or with_gallium_radeonsi if with_amd_vk or with_gallium_radeonsi
@ -1137,12 +1138,20 @@ endif
_llvm = get_option('llvm') _llvm = get_option('llvm')
if _llvm == 'auto' if _llvm == 'auto'
dep_llvm = dependency( dep_llvm = dependency(
'llvm', version : _llvm_version, modules : llvm_modules, 'llvm',
version : _llvm_version,
modules : llvm_modules,
optional_modules : llvm_optional_modules,
required : with_amd_vk or with_gallium_radeonsi or with_gallium_swr or with_gallium_opencl, required : with_amd_vk or with_gallium_radeonsi or with_gallium_swr or with_gallium_opencl,
) )
with_llvm = dep_llvm.found() with_llvm = dep_llvm.found()
elif _llvm == 'true' elif _llvm == 'true'
dep_llvm = dependency('llvm', version : _llvm_version, modules : llvm_modules) dep_llvm = dependency(
'llvm',
version : _llvm_version,
modules : llvm_modules,
optional_modules : llvm_optional_modules,
)
with_llvm = true with_llvm = true
else else
dep_llvm = null_dep dep_llvm = null_dep