1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2018 Intel Corporation
3 # Copyright(c) 2020 Broadcom
7 reason = 'not supported on Windows'
11 headers = files('rte_pmd_bnxt.h')
13 '-DRTE_LIBRTE_BNXT_TF',
14 '-DSUPPORT_CFA_HW_ALL=1',
17 foreach option:cflags_options
18 if cc.has_argument(option)
23 headers = files('rte_pmd_bnxt.h')
45 #Add the subdirectories that need to be compiled
50 if arch_subdir == 'x86'
51 sources += files('bnxt_rxtx_vec_sse.c')
52 # compile AVX2 version if either:
53 # a. we have AVX supported in minimum instruction set baseline
54 # b. it's not minimum instruction set, but supported by compiler
55 if cc.get_define('__AVX2__', args: machine_args) != ''
56 cflags += ['-DCC_AVX2_SUPPORT']
57 sources += files('bnxt_rxtx_vec_avx2.c')
58 elif cc.has_argument('-mavx2')
59 cflags += ['-DCC_AVX2_SUPPORT']
60 bnxt_avx2_lib = static_library('bnxt_avx2_lib',
61 'bnxt_rxtx_vec_avx2.c',
62 dependencies: [static_rte_ethdev,
64 static_rte_kvargs, static_rte_hash],
65 include_directories: includes,
66 c_args: [cflags, '-mavx2'])
67 objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c')
69 elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
70 sources += files('bnxt_rxtx_vec_neon.c')