meson: Check for actual LLVM required versions

Currently we always check for 3.9.0, which is pretty safe since
everything except radv work with >= 3.9 and 3.9 is pretty old at this
point. However, radv actually requires 4.0, and there is a patch for
radeonsi to do the same.

Fixes: 673dda8330 ("meson: build "radv" vulkan driver for radeon hardware")
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Dylan Baker 2018-02-02 10:45:12 -08:00
parent d7235ef83b
commit c75a4e5b46

View file

@ -992,15 +992,23 @@ if with_gallium_opencl
# TODO: optional modules # TODO: optional modules
endif endif
if with_amd_vk
_llvm_version = '>= 4.0.0'
elif with_gallium_opencl or with_gallium_swr or with_gallium_r600 or with_gallium_radeonsi
_llvm_version = '>= 3.9.0'
else
_llvm_version = '>= 3.3.0'
endif
_llvm = get_option('llvm') _llvm = get_option('llvm')
if _llvm == 'auto' if _llvm == 'auto'
dep_llvm = dependency( dep_llvm = dependency(
'llvm', version : '>= 3.9.0', modules : llvm_modules, 'llvm', version : _llvm_version, modules : llvm_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 : '>= 3.9.0', modules : llvm_modules) dep_llvm = dependency('llvm', version : _llvm_version, modules : llvm_modules)
with_llvm = true with_llvm = true
else else
dep_llvm = [] dep_llvm = []