[dpdk-dev] [PATCH v2 2/2] build: i40e PMD on Windows

Pallavi Kadam pallavi.kadam at intel.com
Thu Dec 17 23:59:09 CET 2020


Allows i40e PMD to compile on Windows and disable other drivers.
Disable few warnings with Clang such as comparison of integers of
different signs and macro redefinitions.

Adds temp folder mlx5/windows as it is required to build this patch
without any build error. This folder will be removed once mlx5 PMD
patches are merged.

Signed-off-by: Pallavi Kadam <pallavi.kadam at intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon at intel.com>
---
 drivers/net/af_xdp/meson.build        |  6 ++++++
 drivers/net/ark/meson.build           |  6 ++++++
 drivers/net/atlantic/meson.build      |  6 ++++++
 drivers/net/bnx2x/meson.build         |  6 ++++++
 drivers/net/bnxt/meson.build          |  6 ++++++
 drivers/net/bonding/meson.build       |  6 ++++++
 drivers/net/cxgbe/meson.build         |  6 ++++++
 drivers/net/e1000/meson.build         |  6 ++++++
 drivers/net/ena/meson.build           |  6 ++++++
 drivers/net/enic/meson.build          |  6 ++++++
 drivers/net/failsafe/meson.build      |  6 ++++++
 drivers/net/fm10k/meson.build         |  6 ++++++
 drivers/net/hinic/meson.build         |  6 ++++++
 drivers/net/i40e/base/i40e_osdep.h    | 10 ++++++++++
 drivers/net/i40e/i40e_ethdev_vf.c     |  3 ++-
 drivers/net/i40e/i40e_rxtx_vec_avx2.c |  2 +-
 drivers/net/i40e/i40e_tm.c            |  2 +-
 drivers/net/iavf/meson.build          |  6 ++++++
 drivers/net/ice/meson.build           |  6 ++++++
 drivers/net/igc/meson.build           |  6 ++++++
 drivers/net/ionic/meson.build         |  6 ++++++
 drivers/net/ipn3ke/meson.build        |  6 ++++++
 drivers/net/ixgbe/meson.build         |  6 ++++++
 drivers/net/kni/meson.build           |  6 ++++++
 drivers/net/liquidio/meson.build      |  6 ++++++
 drivers/net/meson.build               |  3 ---
 drivers/net/mlx5/windows/meson.build  |  0
 drivers/net/mvneta/meson.build        |  6 ++++++
 drivers/net/mvpp2/meson.build         |  6 ++++++
 drivers/net/netvsc/meson.build        |  6 ++++++
 drivers/net/nfb/meson.build           |  6 ++++++
 drivers/net/null/meson.build          |  6 ++++++
 drivers/net/octeontx/meson.build      |  6 ++++++
 drivers/net/octeontx2/meson.build     |  6 ++++++
 drivers/net/pcap/meson.build          |  6 ++++++
 drivers/net/qede/meson.build          |  6 ++++++
 drivers/net/ring/meson.build          |  6 ++++++
 drivers/net/sfc/meson.build           |  6 ++++++
 drivers/net/szedata2/meson.build      |  6 ++++++
 drivers/net/thunderx/meson.build      |  6 ++++++
 drivers/net/txgbe/meson.build         |  6 ++++++
 drivers/net/vhost/meson.build         |  6 ++++++
 drivers/net/virtio/meson.build        |  6 ++++++
 drivers/net/vmxnet3/meson.build       |  6 ++++++
 44 files changed, 242 insertions(+), 6 deletions(-)
 create mode 100644 drivers/net/mlx5/windows/meson.build

diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
index fead8dd99..5c50d3f41 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files('rte_eth_af_xdp.c')
 
 bpf_dep = dependency('libbpf', required: false)
diff --git a/drivers/net/ark/meson.build b/drivers/net/ark/meson.build
index 80bce94e1..cbc7d6166 100644
--- a/drivers/net/ark/meson.build
+++ b/drivers/net/ark/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
+
 headers = files('rte_pmd_ark.h')
 
 sources = files('ark_ddm.c',
diff --git a/drivers/net/atlantic/meson.build b/drivers/net/atlantic/meson.build
index 60b84684e..a386dd2ec 100644
--- a/drivers/net/atlantic/meson.build
+++ b/drivers/net/atlantic/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Aquantia Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files(
 	'atl_rxtx.c',
 	'atl_ethdev.c',
diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build
index 4892bb234..4e9ea6995 100644
--- a/drivers/net/bnx2x/meson.build
+++ b/drivers/net/bnx2x/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
+
 dep = dependency('zlib', required: false)
 build = dep.found()
 reason = 'missing dependency, "zlib"'
diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build
index 2896337b5..24e594e19 100644
--- a/drivers/net/bnxt/meson.build
+++ b/drivers/net/bnxt/meson.build
@@ -2,6 +2,12 @@
 # Copyright(c) 2018 Intel Corporation
 # Copyright(c) 2020 Broadcom
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 headers = files('rte_pmd_bnxt.h')
 
 includes += include_directories('tf_ulp')
diff --git a/drivers/net/bonding/meson.build b/drivers/net/bonding/meson.build
index adf64626e..3ff155bcb 100644
--- a/drivers/net/bonding/meson.build
+++ b/drivers/net/bonding/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 name = 'bond' #, james bond :-)
 sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c',
 	'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c')
diff --git a/drivers/net/cxgbe/meson.build b/drivers/net/cxgbe/meson.build
index 3992aba44..52b59d1bd 100644
--- a/drivers/net/cxgbe/meson.build
+++ b/drivers/net/cxgbe/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
+
 sources = files('cxgbe_ethdev.c',
 	'cxgbe_main.c',
 	'cxgbevf_ethdev.c',
diff --git a/drivers/net/e1000/meson.build b/drivers/net/e1000/meson.build
index cf456995c..a517f86fc 100644
--- a/drivers/net/e1000/meson.build
+++ b/drivers/net/e1000/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/ena/meson.build b/drivers/net/ena/meson.build
index 189903b90..150f10c33 100644
--- a/drivers/net/ena/meson.build
+++ b/drivers/net/ena/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
+
 sources = files('ena_ethdev.c',
 	'base/ena_com.c',
 	'base/ena_eth_com.c')
diff --git a/drivers/net/enic/meson.build b/drivers/net/enic/meson.build
index 86ef2a8a2..345000e5d 100644
--- a/drivers/net/enic/meson.build
+++ b/drivers/net/enic/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Cisco Systems, Inc.
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files(
 	'base/vnic_cq.c',
 	'base/vnic_dev.c',
diff --git a/drivers/net/failsafe/meson.build b/drivers/net/failsafe/meson.build
index 56010e212..4e9d15bec 100644
--- a/drivers/net/failsafe/meson.build
+++ b/drivers/net/failsafe/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
+
 cflags += '-std=gnu99'
 cflags += '-D_DEFAULT_SOURCE'
 cflags += '-D_XOPEN_SOURCE=700'
diff --git a/drivers/net/fm10k/meson.build b/drivers/net/fm10k/meson.build
index 2772ea4df..336b100cc 100644
--- a/drivers/net/fm10k/meson.build
+++ b/drivers/net/fm10k/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/hinic/meson.build b/drivers/net/hinic/meson.build
index bc7e24639..0298c0769 100644
--- a/drivers/net/hinic/meson.build
+++ b/drivers/net/hinic/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Huawei Technologies Co., Ltd
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/i40e/base/i40e_osdep.h b/drivers/net/i40e/base/i40e_osdep.h
index 9b5033024..5085d6510 100644
--- a/drivers/net/i40e/base/i40e_osdep.h
+++ b/drivers/net/i40e/base/i40e_osdep.h
@@ -20,6 +20,7 @@
 #include <rte_io.h>
 
 #include "../i40e_logs.h"
+#include "i40e_status.h"
 
 #define INLINE inline
 #define STATIC static
@@ -67,6 +68,15 @@ typedef enum i40e_status_code i40e_status;
 #define false           0
 #define true            1
 
+/* Avoid macro redefinition warning on Windows */
+#ifdef RTE_EXEC_ENV_WINDOWS
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
+#endif
+#endif
 #define min(a,b) RTE_MIN(a,b)
 #define max(a,b) RTE_MAX(a,b)
 
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index c26b036b8..daf4a3f99 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1495,7 +1495,8 @@ i40evf_handle_aq_msg(struct rte_eth_dev *dev)
 						       info.msg_len);
 			else {
 				/* read message and it's expected one */
-				if (msg_opc == vf->pend_cmd) {
+				if ((volatile uint32_t)msg_opc ==
+				    vf->pend_cmd) {
 					vf->cmd_retval = msg_ret;
 					/* prevent compiler reordering */
 					rte_compiler_barrier();
diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
index 7a558fc73..e5f0e90cb 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
@@ -12,7 +12,7 @@
 #include "i40e_rxtx.h"
 #include "i40e_rxtx_vec_common.h"
 
-#include <x86intrin.h>
+#include <rte_vect.h>
 
 #ifndef __INTEL_COMPILER
 #pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/i40e/i40e_tm.c b/drivers/net/i40e/i40e_tm.c
index 5d722f92c..cab296e1a 100644
--- a/drivers/net/i40e/i40e_tm.c
+++ b/drivers/net/i40e/i40e_tm.c
@@ -554,7 +554,7 @@ i40e_node_add(struct rte_eth_dev *dev, uint32_t node_id,
 	}
 	/* check level */
 	if (level_id != RTE_TM_NODE_LEVEL_ID_ANY &&
-	    level_id != parent_node_type + 1) {
+	    level_id != (uint32_t)parent_node_type + 1) {
 		error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS;
 		error->message = "Wrong level";
 		return -EINVAL;
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index 26c02c440..a7b4a7adb 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 cflags += ['-Wno-strict-aliasing']
 
 includes += include_directories('../../common/iavf')
diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
index 7b291269d..9866b78c6 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]
 
diff --git a/drivers/net/igc/meson.build b/drivers/net/igc/meson.build
index fba119c98..90c05ef81 100644
--- a/drivers/net/igc/meson.build
+++ b/drivers/net/igc/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019-2020 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/ionic/meson.build b/drivers/net/ionic/meson.build
index 1c6362d27..99aaae3e9 100644
--- a/drivers/net/ionic/meson.build
+++ b/drivers/net/ionic/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
 # Copyright(c) 2019 Pensando
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files(
 	'ionic_mac_api.c',
 	'ionic_rx_filter.c',
diff --git a/drivers/net/ipn3ke/meson.build b/drivers/net/ipn3ke/meson.build
index d5000d807..c2d6fd238 100644
--- a/drivers/net/ipn3ke/meson.build
+++ b/drivers/net/ipn3ke/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 #
 # Add the experimenatal APIs called from this PMD
 #  rte_eth_switch_domain_alloc()
diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build
index f10437891..0b7d0257b 100644
--- a/drivers/net/ixgbe/meson.build
+++ b/drivers/net/ixgbe/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
 
 subdir('base')
diff --git a/drivers/net/kni/meson.build b/drivers/net/kni/meson.build
index d9fa898d1..337508c28 100644
--- a/drivers/net/kni/meson.build
+++ b/drivers/net/kni/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
+
 # this driver can be built if-and-only-if KNI library is buildable
 build = dpdk_conf.has('RTE_LIB_KNI')
 reason = 'missing dependency, DPDK KNI library'
diff --git a/drivers/net/liquidio/meson.build b/drivers/net/liquidio/meson.build
index 9ae48e213..12834e4b0 100644
--- a/drivers/net/liquidio/meson.build
+++ b/drivers/net/liquidio/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
+
 sources = files('base/lio_23xx_vf.c',
 	'base/lio_mbox.c',
 	'lio_ethdev.c',
diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 29f477750..b489088f1 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -1,9 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if is_windows
-	subdir_done()
-endif
 
 drivers = ['af_packet',
 	'af_xdp',
diff --git a/drivers/net/mlx5/windows/meson.build b/drivers/net/mlx5/windows/meson.build
new file mode 100644
index 000000000..e69de29bb
diff --git a/drivers/net/mvneta/meson.build b/drivers/net/mvneta/meson.build
index 8d7202788..7ef71b243 100644
--- a/drivers/net/mvneta/meson.build
+++ b/drivers/net/mvneta/meson.build
@@ -3,6 +3,12 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 path = get_option('lib_musdk_dir')
 lib_dir = path + '/lib'
 inc_dir = path + '/include'
diff --git a/drivers/net/mvpp2/meson.build b/drivers/net/mvpp2/meson.build
index e06eddaac..fff909877 100644
--- a/drivers/net/mvpp2/meson.build
+++ b/drivers/net/mvpp2/meson.build
@@ -3,6 +3,12 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 path = get_option('lib_musdk_dir')
 lib_dir = path + '/lib'
 inc_dir = path + '/include'
diff --git a/drivers/net/netvsc/meson.build b/drivers/net/netvsc/meson.build
index f3f52f732..6c0f86991 100644
--- a/drivers/net/netvsc/meson.build
+++ b/drivers/net/netvsc/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Microsoft Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 build = dpdk_conf.has('RTE_BUS_VMBUS')
 reason = 'missing dependency, DPDK VMBus driver'
 sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c')
diff --git a/drivers/net/nfb/meson.build b/drivers/net/nfb/meson.build
index d53e8eca7..7bcc4e08f 100644
--- a/drivers/net/nfb/meson.build
+++ b/drivers/net/nfb/meson.build
@@ -3,6 +3,12 @@
 # Copyright(c) 2019 Netcope Technologies, a.s. <info at netcope.com>
 # All rights reserved.
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 dep = dependency('netcope-common', required: false)
 reason = 'missing dependency, "libnfb"'
 build = dep.found()
diff --git a/drivers/net/null/meson.build b/drivers/net/null/meson.build
index 68ac0d2ae..69edb9e24 100644
--- a/drivers/net/null/meson.build
+++ b/drivers/net/null/meson.build
@@ -1,4 +1,10 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files('rte_eth_null.c')
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
index e8d3ff4a3..cc93f5d4f 100644
--- a/drivers/net/octeontx/meson.build
+++ b/drivers/net/octeontx/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/octeontx2/meson.build b/drivers/net/octeontx2/meson.build
index 638c04a2f..bf15e52b4 100644
--- a/drivers/net/octeontx2/meson.build
+++ b/drivers/net/octeontx2/meson.build
@@ -2,6 +2,12 @@
 # Copyright(C) 2019 Marvell International Ltd.
 #
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 if not dpdk_conf.get('RTE_ARCH_64')
 	build = false
 	reason = 'only supported on 64-bit'
diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index b680710aa..31dae19f5 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 if not dpdk_conf.has('RTE_PORT_PCAP')
 	build = false
 	reason = 'missing dependency, "libpcap"'
diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build
index ff0ac0b03..f6b093319 100644
--- a/drivers/net/qede/meson.build
+++ b/drivers/net/qede/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/ring/meson.build b/drivers/net/ring/meson.build
index 26a324eeb..2ceea4a9c 100644
--- a/drivers/net/ring/meson.build
+++ b/drivers/net/ring/meson.build
@@ -1,5 +1,11 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources = files('rte_eth_ring.c')
 headers = files('rte_eth_ring.h')
diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build
index be888bd87..b10c2ef52 100644
--- a/drivers/net/sfc/meson.build
+++ b/drivers/net/sfc/meson.build
@@ -6,6 +6,12 @@
 # This software was jointly developed between OKTET Labs (under contract
 # for Solarflare) and Solarflare Communications, Inc.
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and (arch_subdir != 'arm' or not host_machine.cpu_family().startswith('aarch64'))
 	build = false
 	reason = 'only supported on x86_64 and aarch64'
diff --git a/drivers/net/szedata2/meson.build b/drivers/net/szedata2/meson.build
index b53fcbc59..a846b2770 100644
--- a/drivers/net/szedata2/meson.build
+++ b/drivers/net/szedata2/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
+
 dep = dependency('libsze2', required: false)
 build = dep.found()
 reason = 'missing dependency, "libsze2"'
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
index 69819a97f..a9a326b06 100644
--- a/drivers/net/thunderx/meson.build
+++ b/drivers/net/thunderx/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/txgbe/meson.build b/drivers/net/txgbe/meson.build
index 345dffaf6..2e79e72dc 100644
--- a/drivers/net/txgbe/meson.build
+++ b/drivers/net/txgbe/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2015-2020
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 subdir('base')
 objs = [base_objs]
 
diff --git a/drivers/net/vhost/meson.build b/drivers/net/vhost/meson.build
index 1ae4854b8..a8fd3325a 100644
--- a/drivers/net/vhost/meson.build
+++ b/drivers/net/vhost/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
+
 build = dpdk_conf.has('RTE_LIB_VHOST')
 reason = 'missing dependency, DPDK vhost library'
 sources = files('rte_eth_vhost.c')
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index eaed46373..c812d085e 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/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
+
 sources += files('virtio_ethdev.c',
 	'virtio_pci.c',
 	'virtio_rxtx.c',
diff --git a/drivers/net/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build
index 0641f776f..b817bbb29 100644
--- a/drivers/net/vmxnet3/meson.build
+++ b/drivers/net/vmxnet3/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
 
+if is_windows
+	build = false
+	reason = 'Not supported on Windows'
+	subdir_done()
+endif
+
 sources += files(
 	'vmxnet3_ethdev.c',
 	'vmxnet3_rxtx.c',
-- 
2.18.0.windows.1



More information about the dev mailing list