X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fmeson.build;h=65750d35013e4e28a60cfab6dec15552413dbe54;hb=35f9cb006534018b6f69dce8f0d22684fe98e812;hp=d58936089b3018043c33d93bfee43bb01902cd7a;hpb=5674465a32c895ff9eb74280b29cacd15bf8db59;p=dpdk.git diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build index d58936089b..65750d3501 100644 --- a/drivers/net/ice/meson.build +++ b/drivers/net/ice/meson.build @@ -5,64 +5,71 @@ subdir('base') objs = [base_objs] sources = files( - 'ice_ethdev.c', - 'ice_rxtx.c', - 'ice_switch_filter.c', - 'ice_generic_flow.c', - 'ice_fdir_filter.c', - 'ice_hash.c', - 'ice_acl_filter.c' - ) + 'ice_acl_filter.c', + 'ice_ethdev.c', + 'ice_fdir_filter.c', + 'ice_generic_flow.c', + 'ice_hash.c', + 'ice_rxtx.c', + 'ice_switch_filter.c', +) deps += ['hash', 'net', 'common_iavf'] includes += include_directories('base', '../../common/iavf') if arch_subdir == 'x86' - sources += files('ice_rxtx_vec_sse.c') + sources += files('ice_rxtx_vec_sse.c') - # compile AVX2 version if either: - # a. we have AVX supported in minimum instruction set baseline - # b. it's not minimum instruction set, but supported by compiler - if cc.get_define('__AVX2__', args: machine_args) != '' - sources += files('ice_rxtx_vec_avx2.c') - elif cc.has_argument('-mavx2') - ice_avx2_lib = static_library('ice_avx2_lib', - 'ice_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], - include_directories: includes, - c_args: [cflags, '-mavx2']) - objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') - endif + if is_windows and cc.get_id() != 'clang' + cflags += ['-fno-asynchronous-unwind-tables'] + endif - ice_avx512_cpu_support = ( - cc.get_define('__AVX512F__', args: machine_args) != '' and - cc.get_define('__AVX512BW__', args: machine_args) != '') + # compile AVX2 version if either: + # a. we have AVX supported in minimum instruction set baseline + # b. it's not minimum instruction set, but supported by compiler + if cc.get_define('__AVX2__', args: machine_args) != '' + cflags += ['-DCC_AVX2_SUPPORT'] + sources += files('ice_rxtx_vec_avx2.c') + elif cc.has_argument('-mavx2') + cflags += ['-DCC_AVX2_SUPPORT'] + ice_avx2_lib = static_library('ice_avx2_lib', + 'ice_rxtx_vec_avx2.c', + dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash], + include_directories: includes, + c_args: [cflags, '-mavx2']) + objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') + endif - ice_avx512_cc_support = ( - not machine_args.contains('-mno-avx512f') and - cc.has_argument('-mavx512f') and - cc.has_argument('-mavx512bw')) + ice_avx512_cpu_support = ( + cc.get_define('__AVX512F__', args: machine_args) != '' and + cc.get_define('__AVX512BW__', args: machine_args) != '' + ) - if ice_avx512_cpu_support == true or ice_avx512_cc_support == true - cflags += ['-DCC_AVX512_SUPPORT'] - avx512_args = [cflags, '-mavx512f', '-mavx512bw'] - if cc.has_argument('-march=skylake-avx512') - avx512_args += '-march=skylake-avx512' - endif - ice_avx512_lib = static_library('ice_avx512_lib', - 'ice_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], - include_directories: includes, - c_args: avx512_args) - objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') - endif + ice_avx512_cc_support = ( + not machine_args.contains('-mno-avx512f') and + cc.has_argument('-mavx512f') and + cc.has_argument('-mavx512bw') + ) + + if ice_avx512_cpu_support == true or ice_avx512_cc_support == true + cflags += ['-DCC_AVX512_SUPPORT'] + avx512_args = [cflags, '-mavx512f', '-mavx512bw'] + if cc.has_argument('-march=skylake-avx512') + avx512_args += '-march=skylake-avx512' + endif + ice_avx512_lib = static_library('ice_avx512_lib', + 'ice_rxtx_vec_avx512.c', + dependencies: [static_rte_ethdev, + static_rte_kvargs, static_rte_hash], + include_directories: includes, + c_args: avx512_args) + objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') + endif endif sources += files('ice_dcf.c', - 'ice_dcf_vf_representor.c', - 'ice_dcf_ethdev.c', - 'ice_dcf_parent.c') + 'ice_dcf_vf_representor.c', + 'ice_dcf_ethdev.c', + 'ice_dcf_parent.c') headers = files('rte_pmd_ice.h')