[dpdk-dev] [PATCH v2 1/3] build: enable iavf base code to build on windows
Pallavi Kadam
pallavi.kadam at intel.com
Thu Mar 11 02:58:46 CET 2021
Enable IAVF driver to build on Windows as it is required
to build ice PMD.
Disable all other drivers from common directory.
This patch also includes fix for a macro redefinition warning
in the IAVF driver.
Signed-off-by: Pallavi Kadam <pallavi.kadam at intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon at intel.com>
---
drivers/common/cpt/meson.build | 6 ++++++
drivers/common/iavf/iavf_osdep.h | 9 +++++++++
drivers/common/meson.build | 3 ---
drivers/common/mvep/meson.build | 6 ++++++
drivers/common/octeontx/meson.build | 6 ++++++
drivers/common/octeontx2/meson.build | 6 ++++++
drivers/common/qat/meson.build | 6 ++++++
drivers/common/sfc_efx/meson.build | 6 ++++++
8 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/drivers/common/cpt/meson.build b/drivers/common/cpt/meson.build
index beecf0da3..1127267ba 100644
--- a/drivers/common/cpt/meson.build
+++ b/drivers/common/cpt/meson.build
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('cpt_fpm_tables.c',
'cpt_pmd_ops_helper.c')
diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/common/iavf/iavf_osdep.h
index eaefde88e..76c186a5b 100644
--- a/drivers/common/iavf/iavf_osdep.h
+++ b/drivers/common/iavf/iavf_osdep.h
@@ -55,6 +55,15 @@ typedef uint64_t s64;
#define __be64 uint64_t
#endif
+/* 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/common/meson.build b/drivers/common/meson.build
index ba6325adf..2a0c43054 100644
--- a/drivers/common/meson.build
+++ b/drivers/common/meson.build
@@ -1,9 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
-if is_windows
- subdir_done()
-endif
std_deps = ['eal']
drivers = ['cpt', 'dpaax', 'iavf', 'mvep', 'octeontx', 'octeontx2', 'sfc_efx']
diff --git a/drivers/common/mvep/meson.build b/drivers/common/mvep/meson.build
index 7cd968b38..a929e2311 100644
--- a/drivers/common/mvep/meson.build
+++ b/drivers/common/mvep/meson.build
@@ -4,6 +4,12 @@
# All rights reserved.
#
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found()
build = false
diff --git a/drivers/common/octeontx/meson.build b/drivers/common/octeontx/meson.build
index 203d1ef49..02b57b95c 100644
--- a/drivers/common/octeontx/meson.build
+++ b/drivers/common/octeontx/meson.build
@@ -2,4 +2,10 @@
# Copyright(c) 2018 Cavium, Inc
#
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('octeontx_mbox.c')
diff --git a/drivers/common/octeontx2/meson.build b/drivers/common/octeontx2/meson.build
index 84fb11524..97293d1a7 100644
--- a/drivers/common/octeontx2/meson.build
+++ b/drivers/common/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/common/qat/meson.build b/drivers/common/qat/meson.build
index 67f7aca97..3ad7dd501 100644
--- a/drivers/common/qat/meson.build
+++ b/drivers/common/qat/meson.build
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
qat_crypto = true
qat_crypto_path = 'crypto/qat'
qat_crypto_relpath = '../../' + qat_crypto_path
diff --git a/drivers/common/sfc_efx/meson.build b/drivers/common/sfc_efx/meson.build
index 6cb9f0737..a2dfed0ec 100644
--- a/drivers/common/sfc_efx/meson.build
+++ b/drivers/common/sfc_efx/meson.build
@@ -5,6 +5,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'
--
2.18.0.windows.1
More information about the dev
mailing list