1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright(c) 2018 Intel Corporation 3 4subdir('base') 5objs = [base_objs] 6 7sources = files( 8 'ice_ethdev.c', 9 'ice_rxtx.c', 10 'ice_switch_filter.c', 11 'ice_generic_flow.c', 12 'ice_fdir_filter.c', 13 'ice_hash.c' 14 ) 15 16deps += ['hash', 'net', 'common_iavf'] 17includes += include_directories('base', '../../common/iavf') 18 19if arch_subdir == 'x86' 20 sources += files('ice_rxtx_vec_sse.c') 21 22 # compile AVX2 version if either: 23 # a. we have AVX supported in minimum instruction set baseline 24 # b. it's not minimum instruction set, but supported by compiler 25 if cc.get_define('__AVX2__', args: machine_args) != '' 26 sources += files('ice_rxtx_vec_avx2.c') 27 elif cc.has_argument('-mavx2') 28 ice_avx2_lib = static_library('ice_avx2_lib', 29 'ice_rxtx_vec_avx2.c', 30 dependencies: [static_rte_ethdev, 31 static_rte_kvargs, static_rte_hash], 32 include_directories: includes, 33 c_args: [cflags, '-mavx2']) 34 objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') 35 endif 36endif 37 38sources += files('ice_dcf.c', 39 'ice_dcf_ethdev.c', 40 'ice_dcf_parent.c') 41 42install_headers('rte_pmd_ice.h') 43