config: compiler support check for machine arch flags

Message ID 20231025141709.1448007-1-sivaprasad.tummala@amd.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series config: compiler support check for machine arch flags |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing warning Testing issues
ci/intel-Functional success Functional PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-compile-arm64-testing fail Testing issues

Commit Message

Sivaprasad Tummala Oct. 25, 2023, 2:17 p.m. UTC
  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>
---
 config/meson.build | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Bruce Richardson Oct. 25, 2023, 2:29 p.m. UTC | #1
On Wed, Oct 25, 2023 at 07:17:09AM -0700, Sivaprasad Tummala wrote:
> 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>
> ---
>  config/meson.build | 5 +++++
>  1 file changed, 5 insertions(+)
> 
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  

Patch

diff --git a/config/meson.build b/config/meson.build
index d56b0f9bce..e776870def 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -159,8 +159,13 @@  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
+        compiler_arch_support = cc.has_argument('-march=' + cpu_instruction_set)
+    endif
+    if not compiler_arch_support
+        error('Compiler does not support "@0@" arch flag.'.format(cpu_instruction_set))
     endif
 endif