If x86_64 is specified as target CPU instruction set (e.g. when cross-compiling *to* x86_64), the cpu_instruction_set may be set to x86_64, e.g. if it is derived from a Meson crossfile. However, while Meson uses "x86_64" as name for the x86_64 architecture, compiler options accept only "x86-64".
Introduce a conditional for handling this special case by changing cpu_instruction_set to the march-compatible value. Signed-off-by: Adrian Schollmeyer <[email protected]> --- v2 changes: * more explicit comment about GCC/Clang requiring x86-64 * switch to x86-64-v2 feature level config/meson.build | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/meson.build b/config/meson.build index dcb84ebd13..4682729bad 100644 --- a/config/meson.build +++ b/config/meson.build @@ -177,6 +177,12 @@ if not is_ms_compiler machine_args += '-mtune=' + cpu_instruction_set compiler_arch_support = cc.has_argument('-mcpu=' + cpu_instruction_set) else + # Meson uses x86_64, but GCC/Clang expect x86-64. + # See https://mesonbuild.com/Reference-tables.html#cpu-families + if cpu_instruction_set == 'x86_64' + # Feature level derived from DPDK minimum CPU feature requirements + cpu_instruction_set = 'x86-64-v2' + endif machine_args += '-march=' + cpu_instruction_set # arm manages generic/auto config in config/arm/meson.build if cpu_instruction_set != 'generic' and cpu_instruction_set != 'auto' -- 2.43.0

