xref: /dpdk/drivers/net/intel/ice/meson.build (revision c1d145834f287aa8cf53de914618a7312f2c360e)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2018 Intel Corporation
3
4subdir('base')
5objs = [base_objs]
6
7sources = files(
8        'ice_acl_filter.c',
9        'ice_diagnose.c',
10        'ice_ethdev.c',
11        'ice_fdir_filter.c',
12        'ice_generic_flow.c',
13        'ice_hash.c',
14        'ice_rxtx.c',
15        'ice_switch_filter.c',
16        'ice_tm.c',
17)
18
19testpmd_sources = files('ice_testpmd.c')
20
21deps += ['hash', 'net', 'common_iavf']
22includes += include_directories('base')
23
24if arch_subdir == 'x86'
25    sources += files('ice_rxtx_vec_sse.c')
26
27    if is_windows and cc.get_id() != 'clang'
28        cflags += ['-fno-asynchronous-unwind-tables']
29    endif
30
31    ice_avx2_lib = static_library('ice_avx2_lib',
32            'ice_rxtx_vec_avx2.c',
33            dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash],
34            include_directories: includes,
35            c_args: [cflags, '-mavx2'])
36    objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c')
37
38    if cc_has_avx512
39        cflags += ['-DCC_AVX512_SUPPORT']
40        avx512_args = cflags + cc_avx512_flags
41        if cc.has_argument('-march=skylake-avx512')
42            avx512_args += '-march=skylake-avx512'
43        endif
44        ice_avx512_lib = static_library('ice_avx512_lib',
45                'ice_rxtx_vec_avx512.c',
46                dependencies: [static_rte_ethdev,
47                    static_rte_kvargs, static_rte_hash],
48                include_directories: includes,
49                c_args: avx512_args)
50        objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
51    endif
52endif
53
54sources += files(
55        'ice_dcf.c',
56        'ice_dcf_vf_representor.c',
57        'ice_dcf_ethdev.c',
58        'ice_dcf_parent.c',
59        'ice_dcf_sched.c',
60)
61
62require_iova_in_mbuf = false
63