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.kozl...@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.ga...@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