[dpdk-stable] patch 'build: fix MS linker flag with meson 0.54' has been queued to stable release 19.11.6

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Nov 17 12:13:43 CET 2020


Hi,

FYI, your patch has been queued to stable release 19.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/19/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/4162bc31e4b5de70a235a3f75cb3e11ff167f916

Thanks.

Luca Boccassi

---
>From 4162bc31e4b5de70a235a3f75cb3e11ff167f916 Mon Sep 17 00:00:00 2001
From: Nick Connolly <nick.connolly at mayadata.io>
Date: Sat, 31 Oct 2020 06:44:55 +0000
Subject: [PATCH] build: fix MS linker flag with meson 0.54

[ upstream commit 52a7cb0ad03a032ff33766cb1dc8553c17634ca6 ]

Meson versions >= 0.54.0 include support for handling /implib
with msvc link. Specifying it explicitly causes failures when
linking against the dll. Tested using Link 14.27.29112.0 and
Clang 11.0.0.

There were a number of changes to the way that import libraries
are handled between 0.47.1 and 0.54.0. Only make the change
for >= 0.54.0, leaving the behaviour unchanged for earlier
versions.

Fixes: 77cca7ccec13 ("build: fix drivers library path on Windows")

Signed-off-by: Nick Connolly <nick.connolly at mayadata.io>
Tested-by: Ranjit Menon <ranjit.menon at intel.com>
Acked-by: Ranjit Menon <ranjit.menon at intel.com>
Acked-by: Khoa To <khot at microsoft.com>
---
 drivers/meson.build | 6 ++++--
 lib/meson.build     | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/meson.build b/drivers/meson.build
index 330b14636d..696079680b 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -160,8 +160,10 @@ foreach class:dpdk_driver_classes
 			lk_deps = [version_map, def_file]
 			if is_windows
 				if is_ms_linker
-					lk_args = ['-Wl,/def:' + def_file.full_path(),
-						'-Wl,/implib:drivers\\' + implib]
+					lk_args = ['-Wl,/def:' + def_file.full_path()]
+					if meson.version().version_compare('<0.54.0')
+						lk_args += ['-Wl,/implib:drivers\\' + implib]
+					endif
 				else
 					lk_args = []
 				endif
diff --git a/lib/meson.build b/lib/meson.build
index bf938a392a..b60396428c 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -150,8 +150,10 @@ foreach l:libraries
 				output: 'rte_ at 0@_exports.def'.format(name))
 
 			if is_ms_linker
-				lk_args = ['-Wl,/def:' + def_file.full_path(),
-					'-Wl,/implib:lib\\' + implib]
+				lk_args = ['-Wl,/def:' + def_file.full_path()]
+				if meson.version().version_compare('<0.54.0')
+					lk_args += ['-Wl,/implib:lib\\' + implib]
+				endif
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
 			endif
-- 
2.27.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-11-17 11:13:13.364489004 +0000
+++ 0009-build-fix-MS-linker-flag-with-meson-0.54.patch	2020-11-17 11:13:12.873115642 +0000
@@ -1 +1 @@
-From 52a7cb0ad03a032ff33766cb1dc8553c17634ca6 Mon Sep 17 00:00:00 2001
+From 4162bc31e4b5de70a235a3f75cb3e11ff167f916 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 52a7cb0ad03a032ff33766cb1dc8553c17634ca6 ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -29 +30 @@
-index 4bb7e92183..6b50f7238d 100644
+index 330b14636d..696079680b 100644
@@ -32,2 +33,2 @@
-@@ -186,8 +186,10 @@ foreach subpath:subdirs
- 			lk_deps = [version_map, def_file, mingw_map]
+@@ -160,8 +160,10 @@ foreach class:dpdk_driver_classes
+ 			lk_deps = [version_map, def_file]
@@ -43 +44 @@
- 					lk_args = ['-Wl,--version-script=' + mingw_map.full_path()]
+ 					lk_args = []
@@ -46 +47 @@
-index 1bb019720c..ed00f89146 100644
+index bf938a392a..b60396428c 100644
@@ -49,2 +50,2 @@
-@@ -157,8 +157,10 @@ foreach l:libraries
- 				output: '@0 at _mingw.map'.format(libname))
+@@ -150,8 +150,10 @@ foreach l:libraries
+ 				output: 'rte_ at 0@_exports.def'.format(name))
@@ -60,2 +61,2 @@
- 				if is_windows
- 					lk_args = ['-Wl,--version-script=' + mingw_map.full_path()]
+ 				lk_args = ['-Wl,--version-script=' + version_map]
+ 			endif


More information about the stable mailing list