xref: /dpdk/drivers/net/nfp/meson.build (revision fb6befdf262a3812a9054c69209433f6f9f53b92)
1d9b9ca7eSBruce Richardson# SPDX-License-Identifier: BSD-3-Clause
2ad7ad46aSChaoyong He# Copyright(c) 2018 Corigine, Inc.
3d9b9ca7eSBruce Richardson
48741a907SBruce Richardsonif not is_linux or not dpdk_conf.get('RTE_ARCH_64')
5e60a1a8bSAgalya Babu RadhaKrishnan    build = false
6135155a8SThomas Monjalon    reason = 'only supported on 64-bit Linux'
7c7c2199aSLong Wu    subdir_done()
8e60a1a8bSAgalya Babu RadhaKrishnanendif
9ad7ad46aSChaoyong He
104ad4b20aSBruce Richardsonsources = files(
118e55349aSChaoyong He        'flower/nfp_conntrack.c',
12b1880421SChaoyong He        'flower/nfp_flower.c',
13e1124c4fSChaoyong He        'flower/nfp_flower_cmsg.c',
14a36634e8SChaoyong He        'flower/nfp_flower_ctrl.c',
150a29615dSChaoyong He        'flower/nfp_flower_flow.c',
16e1124c4fSChaoyong He        'flower/nfp_flower_representor.c',
1742f603aaSLong Wu        'flower/nfp_flower_service.c',
18ffe84fcbSChaoyong He        'nfd3/nfp_nfd3_dp.c',
19fc756151SChaoyong He        'nfdk/nfp_nfdk_dp.c',
20*fb6befdfSLong Wu        'nfdk/nfp_nfdk_vec_stub.c',
21d9b9ca7eSBruce Richardson        'nfpcore/nfp_cppcore.c',
22d9b9ca7eSBruce Richardson        'nfpcore/nfp_crc.c',
23c82ca09cSPeng Zhang        'nfpcore/nfp_elf.c',
24d9b9ca7eSBruce Richardson        'nfpcore/nfp_hwinfo.c',
25ad7ad46aSChaoyong He        'nfpcore/nfp_mip.c',
26ad7ad46aSChaoyong He        'nfpcore/nfp_mutex.c',
27ad7ad46aSChaoyong He        'nfpcore/nfp_nffw.c',
28ad7ad46aSChaoyong He        'nfpcore/nfp_nsp.c',
29ad7ad46aSChaoyong He        'nfpcore/nfp_nsp_cmds.c',
30ad7ad46aSChaoyong He        'nfpcore/nfp_nsp_eth.c',
31ad7ad46aSChaoyong He        'nfpcore/nfp_resource.c',
32ad7ad46aSChaoyong He        'nfpcore/nfp_rtsym.c',
336b4273a0SLong Wu        'nfpcore/nfp_sync.c',
34e6858e7eSChaoyong He        'nfpcore/nfp_target.c',
35e96559a1SChaoyong He        'nfpcore/nfp6000_pcie.c',
3619af5a38SHeinrich Kuhn        'nfp_cpp_bridge.c',
37646ea79cSHeinrich Kuhn        'nfp_ethdev.c',
38ad7ad46aSChaoyong He        'nfp_ethdev_vf.c',
3954713740SChang Miao        'nfp_ipsec.c',
40d2cafb5cSChaoyong He        'nfp_logs.c',
41434c66e7SJin Liu        'nfp_mtr.c',
42ca65f2eeSChaoyong He        'nfp_net_cmsg.c',
4311e9eae4SChaoyong He        'nfp_net_common.c',
44e2018e37SChaoyong He        'nfp_net_ctrl.c',
458153bc6fSChaoyong He        'nfp_net_flow.c',
46ddcd598fSLong Wu        'nfp_net_meta.c',
47ad7ad46aSChaoyong He        'nfp_rxtx.c',
48*fb6befdfSLong Wu        'nfp_rxtx_vec_stub.c',
49600f6d2cSLong Wu        'nfp_service.c',
504ad4b20aSBruce Richardson)
51ac093760SChaoyong He
52*fb6befdfSLong Wuif arch_subdir == 'x86'
53*fb6befdfSLong Wu        includes += include_directories('../../common/nfp')
54*fb6befdfSLong Wu
55*fb6befdfSLong Wu        avx2_sources = files(
56*fb6befdfSLong Wu                'nfdk/nfp_nfdk_vec_avx2_dp.c',
57*fb6befdfSLong Wu                'nfp_rxtx_vec_avx2.c',
58*fb6befdfSLong Wu        )
59*fb6befdfSLong Wu
60*fb6befdfSLong Wu        nfp_avx2_lib = static_library('nfp_avx2_lib',
61*fb6befdfSLong Wu                avx2_sources,
62*fb6befdfSLong Wu                dependencies: [static_rte_ethdev, static_rte_bus_pci],
63*fb6befdfSLong Wu                include_directories: includes,
64*fb6befdfSLong Wu                c_args: [cflags, '-mavx2']
65*fb6befdfSLong Wu        )
66*fb6befdfSLong Wu
67*fb6befdfSLong Wu        objs += nfp_avx2_lib.extract_all_objects(recursive: true)
68*fb6befdfSLong Wuendif
69*fb6befdfSLong Wu
70214fb306SChaoyong Hedeps += ['hash', 'security', 'common_nfp']
71