1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright(c) 2017 Intel Corporation 3 4cflags += ['-DPF_DRIVER', 5 '-DVF_DRIVER', 6 '-DINTEGRATED_VF', 7 '-DX722_A0_SUPPORT'] 8 9subdir('base') 10objs = [base_objs] 11 12sources = files( 13 'i40e_ethdev.c', 14 'i40e_rxtx.c', 15 'i40e_ethdev_vf.c', 16 'i40e_pf.c', 17 'i40e_fdir.c', 18 'i40e_flow.c', 19 'i40e_tm.c', 20 'i40e_vf_representor.c', 21 'rte_pmd_i40e.c' 22 ) 23 24deps += ['hash'] 25includes += include_directories('base') 26 27if arch_subdir == 'x86' 28 dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1) 29 sources += files('i40e_rxtx_vec_sse.c') 30 31 # compile AVX2 version if either: 32 # a. we have AVX supported in minimum instruction set baseline 33 # b. it's not minimum instruction set, but supported by compiler 34 if cc.get_define('__AVX2__', args: machine_args) != '' 35 cflags += ['-DCC_AVX2_SUPPORT'] 36 sources += files('i40e_rxtx_vec_avx2.c') 37 elif cc.has_argument('-mavx2') 38 cflags += ['-DCC_AVX2_SUPPORT'] 39 i40e_avx2_lib = static_library('i40e_avx2_lib', 40 'i40e_rxtx_vec_avx2.c', 41 dependencies: [static_rte_ethdev, 42 static_rte_kvargs, static_rte_hash], 43 include_directories: includes, 44 c_args: [cflags, '-mavx2']) 45 objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c') 46 endif 47elif arch_subdir == 'ppc' 48 dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1) 49 sources += files('i40e_rxtx_vec_altivec.c') 50elif arch_subdir == 'arm' 51 dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1) 52 sources += files('i40e_rxtx_vec_neon.c') 53endif 54 55headers = files('rte_pmd_i40e.h') 56