X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Fmeson.build;h=09d494e90f2f17a4e969e959681db816708b7218;hb=af397b3c93f82b0803c0890874d7ee3b5127522d;hp=486bf0fd3892ff70b69a34b186360562170fb8c3;hpb=870c251cd0ae6ef1a27b374c1baf9cd698ce4763;p=dpdk.git diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 486bf0fd38..09d494e90f 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -1,18 +1,70 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +# Copyright(c) 2020 Broadcom -install_headers('rte_pmd_bnxt.h') -version = 2 -sources = files('bnxt_cpr.c', - 'bnxt_ethdev.c', - 'bnxt_filter.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_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 = [ + '-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') + # 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