[v2] windows: minor build fixes
Checks
Commit Message
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.
Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Tested-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
---
v2:
* split out config/meson.build change
drivers/meson.build | 6 ++++--
lib/meson.build | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Nick Connolly
> Sent: Friday, October 30, 2020 11:45 PM
> Cc: dev@dpdk.org; bruce.richardson@intel.com; Nick Connolly
> <nick.connolly@mayadata.io>; ranjit.menon <ranjit.menon@intel.com>
> Subject: [EXTERNAL] [dpdk-dev] [PATCH v2] windows: minor build fixes
>
> 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.
>
> Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> Tested-by: Ranjit Menon <ranjit.menon@intel.com>
> Acked-by: Ranjit Menon <ranjit.menon@intel.com>
> ---
> v2:
> * split out config/meson.build change
>
Acked-by: Khoa To <khot@microsoft.com>
> > 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.
> >
> > Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
> > Tested-by: Ranjit Menon <ranjit.menon@intel.com>
> > Acked-by: Ranjit Menon <ranjit.menon@intel.com>
> > ---
> > v2:
> > * split out config/meson.build change
>
> Acked-by: Khoa To <khot@microsoft.com>
Applied, thanks
@@ -186,8 +186,10 @@ foreach subpath:subdirs
lk_deps = [version_map, def_file, mingw_map]
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 = ['-Wl,--version-script=' + mingw_map.full_path()]
endif
@@ -157,8 +157,10 @@ foreach l:libraries
output: '@0@_mingw.map'.format(libname))
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
if is_windows
lk_args = ['-Wl,--version-script=' + mingw_map.full_path()]