diff --git a/meson.build b/meson.build index 10e8fb0244b..f716a9e8179 100644 --- a/meson.build +++ b/meson.build @@ -1785,7 +1785,6 @@ if with_clc llvm_optional_modules += ['all-targets', 'windowsdriver', 'frontendhlsl', 'frontenddriver'] endif draw_with_llvm = get_option('draw-use-llvm') -llvm_with_orcjit = get_option('llvm-orcjit') if draw_with_llvm llvm_modules += 'native' # lto is needded with LLVM>=15, but we don't know what LLVM verrsion we are using yet @@ -1793,6 +1792,12 @@ if draw_with_llvm endif amd_with_llvm = get_option('amd-use-llvm') +# MCJIT is deprecated in LLVM and will not accept new architecture ports, +# so any architecture not in the exhaustive list will have to rely on LLVM +# ORCJIT for llvmpipe functionality. +llvm_has_mcjit = host_machine.cpu_family() in ['aarch64', 'arm', 'ppc', 'ppc64', 's390x', 'x86', 'x86_64'] +llvm_with_orcjit = get_option('llvm-orcjit') or not llvm_has_mcjit + if with_amd_vk or with_gallium_radeonsi or with_clc or llvm_with_orcjit _llvm_version = '>= 15.0.0' elif with_gallium_clover diff --git a/meson_options.txt b/meson_options.txt index f00a2787a68..545f6d20d3a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -444,7 +444,10 @@ option ( 'llvm-orcjit', type : 'boolean', value : false, - description: 'Build llvmpipe with LLVM ORCJIT support.' + description: 'Build llvmpipe with LLVM ORCJIT support. Has no effect when ' + + 'building for architectures without LLVM MCJIT support -- ' + + 'ORCJIT is the only choice on such architectures and will ' + + 'always be enabled.' ) option(