xref: /dpdk/drivers/net/enic/meson.build (revision 00ce43111dc5b364722c882cdd37d3664d87b6cc)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2018 Cisco Systems, Inc.
3
4if is_windows
5    build = false
6    reason = 'not supported on Windows'
7    subdir_done()
8endif
9
10if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0
11    subdir_done()
12endif
13
14sources = files(
15        'base/vnic_cq.c',
16        'base/vnic_dev.c',
17        'base/vnic_intr.c',
18        'base/vnic_rq.c',
19        'base/vnic_wq.c',
20        'enic_ethdev.c',
21        'enic_flow.c',
22        'enic_fm_flow.c',
23        'enic_main.c',
24        'enic_res.c',
25        'enic_rxtx.c',
26        'enic_sriov.c',
27        'enic_vf_representor.c',
28)
29deps += ['hash']
30includes += include_directories('base')
31
32# Build the avx2 handler for 64-bit X86 targets, even though 'machine'
33# may not. This is to support users who build for the min supported machine
34# and need to run the binary on newer CPUs too.
35if dpdk_conf.has('RTE_ARCH_X86_64')
36    enic_avx2_lib = static_library('enic_avx2_lib',
37            'enic_rxtx_vec_avx2.c',
38            dependencies: [static_rte_ethdev, static_rte_bus_pci],
39            include_directories: includes,
40            c_args: [cflags, '-mavx2'])
41    objs += enic_avx2_lib.extract_objects('enic_rxtx_vec_avx2.c')
42endif
43
44annotate_locks = false
45