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