[v2] config: verify machine arch flag
Checks
Commit Message
Added additional checks for compiler support of specific cpu arch
flags to fix incorrect error reporting.
Without this patch, meson build reports '__SSE4_2__' not defined
error for x86 builds when the compiler does not support the specified
cpu_instruction_set (or) machine argument.
Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2:
- fix build issues on arm platforms
---
config/meson.build | 10 ++++++++++
1 file changed, 10 insertions(+)
Comments
26/10/2023 20:13, Sivaprasad Tummala:
> Added additional checks for compiler support of specific cpu arch
> flags to fix incorrect error reporting.
>
> Without this patch, meson build reports '__SSE4_2__' not defined
> error for x86 builds when the compiler does not support the specified
> cpu_instruction_set (or) machine argument.
>
> Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks.
@@ -159,8 +159,18 @@ if not is_ms_compiler
if host_machine.cpu_family().startswith('ppc')
machine_args += '-mcpu=' + cpu_instruction_set
machine_args += '-mtune=' + cpu_instruction_set
+ compiler_arch_support = cc.has_argument('-mcpu=' + cpu_instruction_set)
else
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'
+ compiler_arch_support = cc.has_argument('-march=' + cpu_instruction_set)
+ else
+ compiler_arch_support = true
+ endif
+ endif
+ if not compiler_arch_support
+ error('Compiler does not support "@0@" arch flag.'.format(cpu_instruction_set))
endif
endif