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.tumm...@amd.com>
Acked-by: Bruce Richardson <bruce.richard...@intel.com>

---
v2:
- fix build issues on arm platforms
---
 config/meson.build | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/config/meson.build b/config/meson.build
index d56b0f9bce..bd0918bb62 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -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
 
-- 
2.34.1

Reply via email to