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]>
---
 config/meson.build | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/config/meson.build b/config/meson.build
index dcb84ebd13..238d6cae0c 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -177,6 +177,11 @@ 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 compilers expect x86-64.
+        # See https://mesonbuild.com/Reference-tables.html#cpu-families
+        if cpu_instruction_set == 'x86_64'
+            cpu_instruction_set = 'x86-64'
+        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

Reply via email to