DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH v2] build: increase minimum meson version to 0.53.2
Date: Fri,  7 Oct 2022 17:24:04 +0100	[thread overview]
Message-ID: <20221007162404.1117056-1-bruce.richardson@intel.com> (raw)
In-Reply-To: <20220912170747.3128065-1-bruce.richardson@intel.com>

This patchset bumps the minimum meson version from 0.49.2 to 0.53.2.
Ideally, the minimum version should be 0.53 without a point release, but
some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed
by commit[2] in 0.53.1. Therefore we use the latest point release from
0.53 branch i.e. 0.53.2.

Some new features of interest which can now be used in DPDK with this
new minimum meson version:

* can do header-file checks directly inside find_library calls, rather
  than needing a separate check.[v0.50].
* can pass multiple cross-files at the same time when cross-compiling
  [v0.51].
* "alias_target" function, to allow use to give better/shorter names
  for particular build objects [v0.52].
* auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets
  when those tools are present and config dotfiles are present.
  Similarly ctags and cscope are added as targets when those tools are
  present [v0.53]
* meson module for filesystem operations, so meson can now check for the
  presence of particlar files or directories [v0.53].
* "summary" function to provide a configuration summary at the end of
  the meson run [v0.53].

Plus many other features. See [3] for full details of each version.

[1] https://github.com/mesonbuild/meson/issues/6442
[2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782
[3] https://mesonbuild.com/Release-notes.html

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .ci/linux-setup.sh                        | 2 +-
 doc/guides/linux_gsg/sys_reqs.rst         | 2 +-
 doc/guides/prog_guide/build-sdk-meson.rst | 2 +-
 drivers/common/mlx5/linux/meson.build     | 2 +-
 meson.build                               | 8 +++-----
 5 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
index f5ef6b1b98..975bf32144 100755
--- a/.ci/linux-setup.sh
+++ b/.ci/linux-setup.sh
@@ -4,7 +4,7 @@
 [ "$(id -u)" != '0' ] || alias sudo=
 
 # need to install as 'root' since some of the unit tests won't run without it
-sudo python3 -m pip install --upgrade 'meson==0.49.2'
+sudo python3 -m pip install --upgrade 'meson==0.53.2'
 
 # setup hugepages. error ignored because having hugepage is not mandatory.
 cat /proc/meminfo
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 08d45898f0..095d702497 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -43,7 +43,7 @@ Compilation of the DPDK
 
 *   Python 3.5 or later.
 
-*   Meson (version 0.49.2+) and ninja
+*   Meson (version 0.53.2+) and ninja
 
     * ``meson`` & ``ninja-build`` packages in most Linux distributions
     * If the packaged version is below the minimum version, the latest versions
diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst
index 30ce805902..58d9b553a0 100644
--- a/doc/guides/prog_guide/build-sdk-meson.rst
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -35,7 +35,7 @@ The ``meson`` tool is used to configure a DPDK build. On most Linux
 distributions this can be got using the local package management system,
 e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not
 available as a suitable package, it can also be installed using the Python
-3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.49.2 of meson is
+3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.53.2 or later of meson is
 required - if the version packaged is too old, the latest version is
 generally available from "pip".
 
diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
index f9d1937571..e77b46d157 100644
--- a/drivers/common/mlx5/linux/meson.build
+++ b/drivers/common/mlx5/linux/meson.build
@@ -47,7 +47,7 @@ endif
 
 libmtcr_ul_found = false
 lib = cc.find_library('mtcr_ul', required:false)
-if lib.found() and run_command('meson', '--version').stdout().version_compare('>= 0.49.2')
+if lib.found()
     libmtcr_ul_found = true
     ext_deps += lib
 endif
diff --git a/meson.build b/meson.build
index 8b1b09ead5..cf3343a547 100644
--- a/meson.build
+++ b/meson.build
@@ -12,16 +12,14 @@ project('DPDK', 'C',
             'default_library=static',
             'warning_level=2',
         ],
-        meson_version: '>= 0.49.2'
+        meson_version: '>= 0.53.2'
 )
 
 # check for developer mode
 developer_mode = false
 if get_option('developer_mode').auto()
-    if meson.version().version_compare('>=0.53') # fs module available
-        fs = import('fs')
-        developer_mode = fs.exists('.git')
-    endif
+    fs = import('fs')
+    developer_mode = fs.exists('.git')
 else
     developer_mode = get_option('developer_mode').enabled()
 endif
-- 
2.34.1


  parent reply	other threads:[~2022-10-07 16:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-12 17:07 [PATCH 0/1] Update minimum required meson version Bruce Richardson
2022-09-12 17:07 ` [PATCH 1/1] build: increase minimum meson version to 0.53 Bruce Richardson
2022-10-07 13:17   ` David Marchand
2022-10-07 14:11     ` Bruce Richardson
2022-10-07 15:26       ` David Marchand
2022-10-07 15:34         ` Bruce Richardson
2022-10-07 15:49           ` David Marchand
2022-10-07 16:24 ` Bruce Richardson [this message]
2022-10-07 19:13   ` [PATCH v2] build: increase minimum meson version to 0.53.2 David Marchand
2022-10-10  5:23     ` Tu, Lijuan
2022-10-10  7:48       ` David Marchand
2022-10-13 12:51         ` Tu, Lijuan
2022-10-10 14:53     ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221007162404.1117056-1-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).