xref: /dpdk/drivers/net/bnxt/meson.build (revision 80317ff6adfde7f618a100098e068ad5512e8e22)
1870c251cSBruce Richardson# SPDX-License-Identifier: BSD-3-Clause
2870c251cSBruce Richardson# Copyright(c) 2018 Intel Corporation
3e6e8f03eSRandy Schacher# Copyright(c) 2023 Broadcom
4870c251cSBruce Richardson
5b9d60b54SPallavi Kadamif is_windows
6b9d60b54SPallavi Kadam    build = false
7b9d60b54SPallavi Kadam    reason = 'not supported on Windows'
8b9d60b54SPallavi Kadam    subdir_done()
9b9d60b54SPallavi Kadamendif
10b9d60b54SPallavi Kadam
11069fd120SThomas Monjalonif dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0
12069fd120SThomas Monjalon    subdir_done()
13069fd120SThomas Monjalonendif
14069fd120SThomas Monjalon
153fe124d2SKishore Padmanabhaheaders = files('rte_pmd_bnxt.h')
167100b0e5SJeffrey Huangcflags_options = [
17*80317ff6SFarah Smith        '-DSUPPORT_CFA_HW_P70=1',
187100b0e5SJeffrey Huang]
192f312732SVenkat Duvvuru
207100b0e5SJeffrey Huangforeach option:cflags_options
217100b0e5SJeffrey Huang        if cc.has_argument(option)
227100b0e5SJeffrey Huang                cflags += option
237100b0e5SJeffrey Huang        endif
247100b0e5SJeffrey Huangendforeach
257100b0e5SJeffrey Huang
267100b0e5SJeffrey Huangheaders = files('rte_pmd_bnxt.h')
272f312732SVenkat Duvvuru
286d160d77SRandy Schacherdeps += ['hash']
296d160d77SRandy Schacher
304ad4b20aSBruce Richardsonsources = files(
314ad4b20aSBruce Richardson        'bnxt_cpr.c',
32870c251cSBruce Richardson        'bnxt_ethdev.c',
33870c251cSBruce Richardson        'bnxt_filter.c',
345c1171c9SAjit Khaparde        'bnxt_flow.c',
35870c251cSBruce Richardson        'bnxt_hwrm.c',
36870c251cSBruce Richardson        'bnxt_irq.c',
37*80317ff6SFarah Smith        'bnxt_mpc.c',
38870c251cSBruce Richardson        'bnxt_ring.c',
39870c251cSBruce Richardson        'bnxt_rxq.c',
40870c251cSBruce Richardson        'bnxt_rxr.c',
41870c251cSBruce Richardson        'bnxt_stats.c',
42870c251cSBruce Richardson        'bnxt_txq.c',
43870c251cSBruce Richardson        'bnxt_txr.c',
444a2361dfSScott Branden        'bnxt_util.c',
45870c251cSBruce Richardson        'bnxt_vnic.c',
46322bd6e7SSomnath Kotur        'bnxt_reps.c',
474ad4b20aSBruce Richardson        'rte_pmd_bnxt.c',
484ad4b20aSBruce Richardson)
49bc4a000fSLance Richardson
507100b0e5SJeffrey Huang#Add the subdirectories that need to be compiled
517100b0e5SJeffrey Huangsubdir('tf_ulp')
527100b0e5SJeffrey Huangsubdir('tf_core')
53*80317ff6SFarah Smithsubdir('tf_core/v3')
547100b0e5SJeffrey Huangsubdir('hcapi/cfa')
55*80317ff6SFarah Smithsubdir('hcapi/cfa_v3')
567100b0e5SJeffrey Huang
57bc4a000fSLance Richardsonif arch_subdir == 'x86'
58bc4a000fSLance Richardson    sources += files('bnxt_rxtx_vec_sse.c')
59fa127a2cSBruce Richardson    # build AVX2 code with instruction set explicitly enabled for runtime selection
60c4e4c189SLance Richardson    bnxt_avx2_lib = static_library('bnxt_avx2_lib',
61c4e4c189SLance Richardson            'bnxt_rxtx_vec_avx2.c',
62c4e4c189SLance Richardson            dependencies: [static_rte_ethdev,
63c4e4c189SLance Richardson                static_rte_bus_pci,
64c4e4c189SLance Richardson                static_rte_kvargs, static_rte_hash],
65c4e4c189SLance Richardson            include_directories: includes,
66c4e4c189SLance Richardson            c_args: [cflags, '-mavx2'])
67c4e4c189SLance Richardson     objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c')
68746d6f83SRuifeng Wangelif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64')
6939835834SLance Richardson    sources += files('bnxt_rxtx_vec_neon.c')
70bc4a000fSLance Richardsonendif
7170cc4e1fSDavid Marchand
7270cc4e1fSDavid Marchandannotate_locks = false
73