X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Fmeson.build;h=81cbe0381feba9e57e995502ada6271c20b67d06;hb=f787952d13d20b7eceaf6d1742ea591239b63ba1;hp=0c311d235aec8505ac7e36cdbd598d7400d844e9;hpb=fbaf94388763eecf5ceecb691401b124970566a7;p=dpdk.git diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 0c311d235a..81cbe0381f 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -1,23 +1,71 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +# Copyright(c) 2020 Broadcom -install_headers('rte_pmd_bnxt.h') -sources = files('bnxt_cpr.c', - 'bnxt_ethdev.c', - 'bnxt_filter.c', - 'bnxt_flow.c', - 'bnxt_hwrm.c', - 'bnxt_irq.c', - 'bnxt_ring.c', - 'bnxt_rxq.c', - 'bnxt_rxr.c', - 'bnxt_stats.c', - 'bnxt_txq.c', - 'bnxt_txr.c', - 'bnxt_util.c', - 'bnxt_vnic.c', - 'rte_pmd_bnxt.c') +if is_windows + build = false + reason = 'not supported on Windows' + subdir_done() +endif + +headers = files('rte_pmd_bnxt.h') +cflags_options = [ + '-DRTE_LIBRTE_BNXT_TF', + '-DSUPPORT_CFA_HW_ALL=1', +] + +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach + +headers = files('rte_pmd_bnxt.h') + +sources = files( + 'bnxt_cpr.c', + 'bnxt_ethdev.c', + 'bnxt_filter.c', + 'bnxt_flow.c', + 'bnxt_hwrm.c', + 'bnxt_irq.c', + 'bnxt_ring.c', + 'bnxt_rxq.c', + 'bnxt_rxr.c', + 'bnxt_stats.c', + 'bnxt_txq.c', + 'bnxt_txr.c', + 'bnxt_util.c', + 'bnxt_vnic.c', + 'bnxt_reps.c', + + 'rte_pmd_bnxt.c', +) + +#Add the subdirectories that need to be compiled +subdir('tf_ulp') +subdir('tf_core') +subdir('hcapi/cfa') if arch_subdir == 'x86' - sources += files('bnxt_rxtx_vec_sse.c') + sources += files('bnxt_rxtx_vec_sse.c') + # compile AVX2 version if either: + # a. we have AVX supported in minimum instruction set baseline + # b. it's not minimum instruction set, but supported by compiler + if cc.get_define('__AVX2__', args: machine_args) != '' + cflags += ['-DCC_AVX2_SUPPORT'] + sources += files('bnxt_rxtx_vec_avx2.c') + elif cc.has_argument('-mavx2') + cflags += ['-DCC_AVX2_SUPPORT'] + bnxt_avx2_lib = static_library('bnxt_avx2_lib', + 'bnxt_rxtx_vec_avx2.c', + dependencies: [static_rte_ethdev, + static_rte_bus_pci, + static_rte_kvargs, static_rte_hash], + include_directories: includes, + c_args: [cflags, '-mavx2']) + objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c') + endif +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') + sources += files('bnxt_rxtx_vec_neon.c') endif