xref: /dpdk/drivers/net/nfp/meson.build (revision fb6befdf262a3812a9054c69209433f6f9f53b92)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2018 Corigine, Inc.
3
4if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
5    build = false
6    reason = 'only supported on 64-bit Linux'
7    subdir_done()
8endif
9
10sources = files(
11        'flower/nfp_conntrack.c',
12        'flower/nfp_flower.c',
13        'flower/nfp_flower_cmsg.c',
14        'flower/nfp_flower_ctrl.c',
15        'flower/nfp_flower_flow.c',
16        'flower/nfp_flower_representor.c',
17        'flower/nfp_flower_service.c',
18        'nfd3/nfp_nfd3_dp.c',
19        'nfdk/nfp_nfdk_dp.c',
20        'nfdk/nfp_nfdk_vec_stub.c',
21        'nfpcore/nfp_cppcore.c',
22        'nfpcore/nfp_crc.c',
23        'nfpcore/nfp_elf.c',
24        'nfpcore/nfp_hwinfo.c',
25        'nfpcore/nfp_mip.c',
26        'nfpcore/nfp_mutex.c',
27        'nfpcore/nfp_nffw.c',
28        'nfpcore/nfp_nsp.c',
29        'nfpcore/nfp_nsp_cmds.c',
30        'nfpcore/nfp_nsp_eth.c',
31        'nfpcore/nfp_resource.c',
32        'nfpcore/nfp_rtsym.c',
33        'nfpcore/nfp_sync.c',
34        'nfpcore/nfp_target.c',
35        'nfpcore/nfp6000_pcie.c',
36        'nfp_cpp_bridge.c',
37        'nfp_ethdev.c',
38        'nfp_ethdev_vf.c',
39        'nfp_ipsec.c',
40        'nfp_logs.c',
41        'nfp_mtr.c',
42        'nfp_net_cmsg.c',
43        'nfp_net_common.c',
44        'nfp_net_ctrl.c',
45        'nfp_net_flow.c',
46        'nfp_net_meta.c',
47        'nfp_rxtx.c',
48        'nfp_rxtx_vec_stub.c',
49        'nfp_service.c',
50)
51
52if arch_subdir == 'x86'
53        includes += include_directories('../../common/nfp')
54
55        avx2_sources = files(
56                'nfdk/nfp_nfdk_vec_avx2_dp.c',
57                'nfp_rxtx_vec_avx2.c',
58        )
59
60        nfp_avx2_lib = static_library('nfp_avx2_lib',
61                avx2_sources,
62                dependencies: [static_rte_ethdev, static_rte_bus_pci],
63                include_directories: includes,
64                c_args: [cflags, '-mavx2']
65        )
66
67        objs += nfp_avx2_lib.extract_all_objects(recursive: true)
68endif
69
70deps += ['hash', 'security', 'common_nfp']
71