[v2,1/3] build: enable iavf base code to build on windows

Message ID 20210311015848.4976-2-pallavi.kadam@intel.com (mailing list archive)
State Changes Requested, archived
Delegated to: Ferruh Yigit
Headers
Series Support ice PMD on Windows |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Kadam, Pallavi March 11, 2021, 1:58 a.m. UTC
  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@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@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(-)
  

Comments

Jie Zhou March 25, 2021, 4:41 p.m. UTC | #1
On Wed, Mar 10, 2021 at 05:58:46PM -0800, Pallavi Kadam wrote:
> 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@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>

Acked-by: Jie Zhou <jizh@microsoft.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(-)
>
  
Ferruh Yigit March 26, 2021, 11:41 a.m. UTC | #2
On 3/11/2021 1:58 AM, Pallavi Kadam wrote:
> 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@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>

<...>

> 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
> +

'common/sfc_efx/meson.build' already has similar update in the upstream, can you 
please rebase on latest head of the repo.
  
Kadam, Pallavi March 28, 2021, 3:05 a.m. UTC | #3
On 3/26/2021 4:41 AM, Ferruh Yigit wrote:
> On 3/11/2021 1:58 AM, Pallavi Kadam wrote:
>> 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@intel.com>
>> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
>
> <...>
>
>> 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
>> +
>
> 'common/sfc_efx/meson.build' already has similar update in the 
> upstream, can you please rebase on latest head of the repo.

Sure, I'll rebase the code in v3 along with other suggested changes.

Thank you.
  

Patch

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'