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: sta...@dpdk.org

Signed-off-by: Andrius Sirvys <andrius.sir...@intel.com>
---
Cc: bruce.richard...@intel.com
---
 lib/librte_acl/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_acl/meson.build b/lib/librte_acl/meson.build
index aec792f..c7f2ba1 100644
--- a/lib/librte_acl/meson.build
+++ b/lib/librte_acl/meson.build
@@ -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: clfags +  ['-mavx2'])
                objs += avx2_tmplib.extract_objects('acl_run_avx2.c')
                cflags += '-DCC_AVX2_SUPPORT'
        endif
-- 
2.7.4

Reply via email to