From: Kevin Laatz <kevin.laatz@intel.com>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, thomas@monjalon.net,
bruce.richardson@intel.com, ray.kinsella@intel.com,
Kevin Laatz <kevin.laatz@intel.com>
Subject: [dpdk-dev] [PATCH v3 5/7] build: add lib abi checks to meson
Date: Fri, 29 Nov 2019 21:09:03 +0000 [thread overview]
Message-ID: <20191129210905.1865-6-kevin.laatz@intel.com> (raw)
In-Reply-To: <20191129210905.1865-1-kevin.laatz@intel.com>
This patch adds the ABI compatibility check for the lib directory to the
meson build. If enabled, the ABI compatibility checks will run for all
.so's in the lib directory (provided a matching dump file exists). The
build will fail if an ABI incompatibility is detected.
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2:
- fixed conditional around abi check custom target
v3:
- fix typo in meson option name
---
buildtools/meson.build | 4 ++++
lib/meson.build | 13 +++++++++++++
2 files changed, 17 insertions(+)
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..1d6915708 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -7,6 +7,10 @@ pmdinfo = find_program('gen-pmdinfo-cfile.sh')
check_experimental_syms = find_program('check-experimental-syms.sh')
+if get_option('compat_checks')
+ abidiff = find_program('abidiff')
+endif
+
# set up map-to-def script using python, either built-in or external
python3 = import('python').find_installation(required: false)
if python3.found()
diff --git a/lib/meson.build b/lib/meson.build
index 6ceb5e756..69ea3a2b0 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -180,6 +180,19 @@ foreach l:libraries
include_directories: includes,
dependencies: shared_deps)
+ if not is_windows and get_option('compat_checks')
+ custom_target(dir_name + '.abi_chk',
+ command: [abidiff,
+ meson.source_root() + '/lib/abi/'
+ + dir_name + '.dump',
+ '@INPUT@'],
+ input: shared_lib,
+ output: dir_name + '.abi_chk',
+ capture: true,
+ install: false,
+ build_by_default: is_experimental == 0)
+ endif
+
dpdk_libraries = [shared_lib] + dpdk_libraries
dpdk_static_libraries = [static_lib] + dpdk_static_libraries
endif # sources.length() > 0
--
2.17.1
next prev parent reply other threads:[~2019-11-29 21:10 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 1:07 [dpdk-dev] [RFC 0/6] Add ABI compatibility checks to the meson build Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 1/6] build: enable debug info by default in meson builds Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 2/6] build: use meson warning levels Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 3/6] devtools: add abi dump generation script Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 4/6] build: add meson option for abi related checks Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 5/6] build: add lib abi checks to meson Kevin Laatz
2019-10-23 1:07 ` [dpdk-dev] [RFC 6/6] build: add drivers " Kevin Laatz
2019-11-29 12:13 ` [dpdk-dev] [RFC 0/6] Add ABI compatibility checks to the meson build David Marchand
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 0/7] " Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 1/7] build: enable debug info by default in meson builds Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 2/7] build: use meson warning levels Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 3/7] devtools: add abi dump generation script Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 4/7] build: add meson option for abi related checks Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 5/7] build: add lib abi checks to meson Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 6/7] build: add drivers " Kevin Laatz
2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 7/7] build: clean up experimental syms check Kevin Laatz
2019-11-29 21:08 ` [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build Kevin Laatz
2019-11-29 21:08 ` [dpdk-dev] [PATCH v3 1/7] build: enable debug info by default in meson builds Kevin Laatz
2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 2/7] build: use meson warning levels Kevin Laatz
2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 3/7] devtools: add abi dump generation script Kevin Laatz
2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 4/7] build: add meson option for abi related checks Kevin Laatz
2019-11-29 21:09 ` Kevin Laatz [this message]
2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 6/7] build: add drivers abi checks to meson Kevin Laatz
2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 7/7] build: clean up experimental syms check Kevin Laatz
2019-12-03 11:03 ` [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build David Marchand
2019-12-03 15:27 ` Laatz, Kevin
2019-12-04 8:47 ` David Marchand
2019-12-04 10:46 ` Bruce Richardson
2019-12-04 11:56 ` Neil Horman
2019-12-04 12:00 ` David Marchand
2019-12-10 11:07 ` David Marchand
2019-12-10 11:36 ` Laatz, Kevin
2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson Kevin Laatz
2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 3/3] build: clean up experimental syms check Kevin Laatz
[not found] ` <20191211182147.19355-2-kevin.laatz@intel.com>
2019-12-12 8:43 ` [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI David Marchand
2019-12-12 9:36 ` David Marchand
2019-12-12 9:45 ` Laatz, Kevin
2019-12-12 9:45 ` Laatz, Kevin
2019-12-13 14:02 ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
2019-12-13 14:03 ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz
2019-12-13 14:03 ` [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check Kevin Laatz
2019-12-13 16:40 ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 02/11] drivers/bus: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 03/11] drivers/mempool: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 04/11] drivers/common: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 05/11] drivers/raw: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 06/11] drivers/crypto: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 07/11] drivers/compress: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 08/11] drivers/net: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: " Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson Kevin Laatz
2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check Kevin Laatz
2019-12-19 21:58 ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
2019-12-20 10:20 ` Thomas Monjalon
2019-12-20 11:04 ` Bruce Richardson
2019-12-20 13:19 ` David Marchand
2019-12-20 14:17 ` Bruce Richardson
2020-01-06 13:20 ` Aaron Conole
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=20191129210905.1865-6-kevin.laatz@intel.com \
--to=kevin.laatz@intel.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ray.kinsella@intel.com \
--cc=thomas@monjalon.net \
/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).