X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fmeson.build;h=9a67c8f7ba9b773bdeb5274536d36ea6896c2766;hb=76fd789cc7dddbaa2c08065b7c3ca915b5c07e7c;hp=e6fe7448798e1058baf67a543c346defebcc98e4;hpb=0b02c9519432e1d25694d58c023ee03d4e944883;p=dpdk.git diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build index e6fe744879..9a67c8f7ba 100644 --- a/drivers/net/ice/meson.build +++ b/drivers/net/ice/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +if is_windows + build = false + reason = 'not supported on Windows' + subdir_done() +endif + subdir('base') objs = [base_objs] @@ -10,7 +16,8 @@ sources = files( 'ice_switch_filter.c', 'ice_generic_flow.c', 'ice_fdir_filter.c', - 'ice_hash.c' + 'ice_hash.c', + 'ice_acl_filter.c' ) deps += ['hash', 'net', 'common_iavf'] @@ -22,7 +29,7 @@ if arch_subdir == 'x86' # 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 dpdk_conf.has('RTE_MACHINE_CPUFLAG_AVX2') + 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', @@ -33,10 +40,35 @@ if arch_subdir == 'x86' c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') endif + + ice_avx512_cpu_support = ( + cc.get_define('__AVX512F__', args: machine_args) != '' and + cc.get_define('__AVX512BW__', args: machine_args) != '') + + 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') -install_headers('rte_pmd_ice.h') +headers = files('rte_pmd_ice.h')