Thanks Dmitry,

Using libname is the correct way in drivers/meson.build.
I'll modify lib/meson.build to use libname for consistency.

> -----Original Message-----
> From: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>
> Sent: Saturday, June 20, 2020 9:55 PM
> To: Tal Shnaiderman <tal...@mellanox.com>
> Cc: dev@dpdk.org; Thomas Monjalon <tho...@monjalon.net>;
> pallavi.ka...@intel.com; david.march...@redhat.com; gr...@u256.net;
> ranjit.me...@intel.com; navas...@linux.microsoft.com;
> harini.ramakrish...@microsoft.com; ocard...@microsoft.com;
> anatoly.bura...@intel.com; Fady Bader <f...@mellanox.com>;
> bruce.richard...@intel.com
> Subject: Re: [PATCH v6 9/9] build: generate version.map file for MingW on
> Windows
> 
> [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