acl: fix compiler flags with meson and AVX2 runtime
authorAndrius Sirvys <andrius.sirvys@intel.com>
Mon, 11 Mar 2019 15:18:11 +0000 (15:18 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 27 Mar 2019 09:38:06 +0000 (10:38 +0100)
When compiling the ACL library on a system without AVX2 support,
the flags used to compile the AVX2-specific code for later run-time
use were not based on the regular cflags for the rest of the library.
This can cause errors due to symbols being missed/undefined
due to incorrect flags. For example,
when testing compilation on Alpine linux, we got:
error: unknown type name 'cpu_set_t'
due to _GNU_SOURCE not being defined in the cflags.

This issue can be fixed by appending "-mavx2" to
the cflags rather than replacing them with it.

Fixes: 5b9656b157d3 ("lib: build with meson")
Cc: stable@dpdk.org
Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_acl/meson.build

index aec792f..2207dba 100644 (file)
@@ -23,7 +23,7 @@ if arch_subdir == 'x86'
                avx2_tmplib = static_library('avx2_tmp',
                                'acl_run_avx2.c',
                                dependencies: static_rte_eal,
-                               c_args: '-mavx2')
+                               c_args: cflags + ['-mavx2'])
                objs += avx2_tmplib.extract_objects('acl_run_avx2.c')
                cflags += '-DCC_AVX2_SUPPORT'
        endif