[snip]
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 646a7d5eb5..b25a368531 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -152,16 +152,22 @@ foreach class:dpdk_driver_classes
>                       implib = 'lib' + lib_name + '.dll.a'
>  
>                       def_file = custom_target(lib_name + '_def',
> -                             command: [map_to_def_cmd, '@INPUT@', 
> '@OUTPUT@'],
> +                             command: [map_to_win_cmd, '@INPUT@', 
> '@OUTPUT@'],
>                               input: version_map,
>                               output: '@0@_exports.def'.format(lib_name))
> -                     lk_deps = [version_map, def_file]
> +
> +                     mingw_map = custom_target(name + '_mingw',
> +                             command: [map_to_win_cmd, '@INPUT@', 
> '@OUTPUT@'],
> +                             input: version_map,
> +                             output: '@0@_mingw.map'.format(name))

Hit the following error while building a Linux-targeted DPDK:

drivers/meson.build:159:3: ERROR: Tried to create target "dpaa_mingw", but a 
target of that name already exists.

Probably you need "lib_name" instead of "name" or just to disable the target
for non-Windows builds.

> +
> +                     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]
>                               else
> -                                     lk_args = []
> +                                     lk_args = ['-Wl,--version-script=' + 
> mingw_map.full_path()]
>                               endif
>                       else
>                               lk_args = ['-Wl,--version-script=' + 
> version_map]
> diff --git a/lib/meson.build b/lib/meson.build
> index a8fd317a18..9f6c85a3e1 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -150,18 +150,27 @@ foreach l:libraries
>                       implib = dir_name + '.dll.a'
>  
>                       def_file = custom_target(name + '_def',
> -                             command: [map_to_def_cmd, '@INPUT@', 
> '@OUTPUT@'],
> +                             command: [map_to_win_cmd, '@INPUT@', 
> '@OUTPUT@'],
>                               input: version_map,
>                               output: 'rte_@0@_exports.def'.format(name))
>  
> +                     mingw_map = custom_target(name + '_mingw',
> +                             command: [map_to_win_cmd, '@INPUT@', 
> '@OUTPUT@'],
> +                             input: version_map,
> +                             output: 'rte_@0@_mingw.map'.format(name))
> +

See above on name/lib_name. Maybe it's technically irrelevant here, but
better use consistent name generation code.

-- 
Dmitry Kozlyuk

Reply via email to