From patchwork Mon Sep 12 17:07:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 116222 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D8E85A0032; Mon, 12 Sep 2022 19:08:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D5BA41101; Mon, 12 Sep 2022 19:08:03 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 4B7D8410E7; Mon, 12 Sep 2022 19:08:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663002481; x=1694538481; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qC2GSz3f3TcASsCeXuHbF8Ho1dGsIyyASci0W9vJoHI=; b=QTJ48B5tUBKLiXtSNTOUitg4RHjnVyvNNdsTs0S5Xaf4BeoOJq/n7+ym QCfA6hvTvx7ANzG4+PVWz5b2uz/HXaqrv6bp64rdw/xO5lakM+qjIgZ4Q Ugr65K7PGXhma/zOaW1/skmGDNJodRrGNCY//h0EqAQzMdA9gWEDsrIaB tdH86xEfxaE2pHaHv9BNYwZcRKX/igmjMnwO1ASrVth30Xkha7cFrLZlk xVbEE+yCh4mGjayB83xwFA55xPeKthty6C5BxULm5xSPwnIOtbPKH4kfo DdYQenuptyPGAE9UdPhVvav7s1bGIadKgl25U5x9Dedf60sq55VbJMTrv Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10468"; a="280939574" X-IronPort-AV: E=Sophos;i="5.93,310,1654585200"; d="scan'208";a="280939574" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Sep 2022 10:08:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,310,1654585200"; d="scan'208";a="758465508" Received: from silpixa00401385.ir.intel.com ([10.237.214.161]) by fmsmga001.fm.intel.com with ESMTP; 12 Sep 2022 10:07:59 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Lincoln Lavoie , techboard@dpdk.org, Bruce Richardson Subject: [PATCH 1/1] build: increase minimum meson version to 0.53 Date: Mon, 12 Sep 2022 18:07:47 +0100 Message-Id: <20220912170747.3128065-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220912170747.3128065-1-bruce.richardson@intel.com> References: <20220912170747.3128065-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patchset bumps the minimum meson version from 0.49.2 to 0.53. Rather than specifying a specific point-release of 0.53, as was done with 0.49, the version specifier is kept to the major release number only for simplicity, as new features are not introduces into bugfix releases of meson. 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 [1] for full details of each version. [1] https://mesonbuild.com/Release-notes.html Signed-off-by: Bruce Richardson --- .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..fd5b033051 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' # 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..a13aed76e1 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+) 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..f729bf1773 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 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 7d6643da3a..87e1e48f09 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' ) # 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