[dpdk-dev] [PATCH 1/3] meson: fix minimum required meson version

Gabriel Ganne gabriel.ganne at 6wind.com
Tue Mar 23 07:22:00 CET 2021


Hi,

Thanks for the review.

I have some reservations about those TODO: they are about
rewriting the same functionality with a newer meson feature.
No functional change is expected. => Why not write a commit that
implements such a TODO and bumps meson version at the same time
independently ?

In any case, I aimed to set meson's required version to the lowest possible
value
so that distributions would have a chance to provide it. I know we can just
install meson using pip, but it might be nice not to need this.
Below are some versions of meson packages as of today:
  pip: 0.57.1
  rhel-8: 0.49.2
  debian-10: 0.49.2
  ubuntu-18.04: 0.45.1
  ubuntu-20.04: 0.53.2

Going over 0.49.2 will cause DPDK to lose some major distribution's stable
release,
at least out-of-the-box through their respective package manager.

I propose to bump to 0.49.2 here, and leave the TODOs to wait a little
longer.
What do you think ?

Best regards,

P.S. get_linker_id() seems to be introduced in 0.53
See:
https://mesonbuild.com/Release-notes-for-0-53-0.html#compilerget_linker_id

On Mon, Mar 22, 2021 at 4:25 PM Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
wrote:

> 2021-03-22 09:34 (UTC+0000), Bruce Richardson:
> > On Mon, Mar 22, 2021 at 09:38:59AM +0100, Gabriel Ganne wrote:
> > > WARNING: Project targetting '>= 0.47.1' but tried to use feature
> introduced
> > >          in '0.48.0': console arg in custom_target
> > >
> > > console argument is used within kernel/linux/kni/meson.build
> > >
> > > Signed-off-by: Gabriel Ganne <gabriel.ganne at 6wind.com>
> > > ---
> > >  meson.build | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/meson.build b/meson.build
> > > index 7778e18200a9..65c46f051365 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -8,7 +8,7 @@ project('DPDK', 'C',
> > >             files('VERSION')).stdout().strip(),
> > >     license: 'BSD',
> > >     default_options: ['buildtype=release', 'default_library=static'],
> > > -   meson_version: '>= 0.47.1'
> > > +   meson_version: '>= 0.48.0'
> > >  )
> > >
> >
> > No objection to this on my part. Rather than bumping to just 0.48, I
> think
> > we might as well jump a couple of versions. For example, 0.49 adds
> support
> > for "break" and "continue" keywords which could allow loop
> simplification.
> > Beyond that, it's a matter of how up-to-date we want to be...
>
> FYI, recalling some TODOs and which versions would allow to resolve them.
>
> From https://mails.dpdk.org/archives/dev/2021-January/196000.html:
>
>         A script to extract object files from library is still required.
>         Meson has extract_all_objects(), but they can't be passed as inputs
>         to custom_target() until 0.52.0 (commit f431cff809).
>
> buildtools/meson.build:
>
>         # TODO: starting from Meson 0.51.0 use
>         #       python3 = import('python').find_installation('python',
>         #               modules : python3_required_modules)
>
> config/meson.build:
>
>         # TODO: use cc.get_linker_id() with Meson >= 0.54
>         is_ms_linker = is_windows and (cc.get_id() == 'clang')
>


-- 
Gabriel Ganne


More information about the dev mailing list