From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DATE_IN_PAST_06_12, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 81220CA9EB6 for ; Wed, 23 Oct 2019 09:26:45 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 4A0212084C for ; Wed, 23 Oct 2019 09:26:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A0212084C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 466AF1C038; Wed, 23 Oct 2019 11:26:09 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 8133F1BFFD for ; Wed, 23 Oct 2019 11:25:55 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Oct 2019 02:25:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,220,1569308400"; d="scan'208";a="397983794" Received: from silpixa00399838.ir.intel.com (HELO silpixa00399838.ger.corp.intel.com) ([10.237.223.140]) by fmsmga005.fm.intel.com with ESMTP; 23 Oct 2019 02:25:53 -0700 From: Kevin Laatz To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net, ray.kinsella@intel.com, Kevin Laatz Date: Wed, 23 Oct 2019 01:07:54 +0000 Message-Id: <20191023010754.65172-7-kevin.laatz@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191023010754.65172-1-kevin.laatz@intel.com> References: <20191023010754.65172-1-kevin.laatz@intel.com> Subject: [dpdk-dev] [RFC 6/6] build: add drivers abi checks to meson X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch adds the ABI compatibility check for the drivers 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 --- drivers/meson.build | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/meson.build b/drivers/meson.build index 3202ba00d..0fda5a9e0 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -158,7 +158,9 @@ foreach class:dpdk_driver_classes version_map, '@INPUT@'], capture: true, input: static_lib, - output: lib_name + '.exp_chk') + output: lib_name + '.exp_chk' + install: false, + build_by_default: get_option('abi_compat_checks')) endif shared_lib = shared_library(lib_name, @@ -183,6 +185,19 @@ foreach class:dpdk_driver_classes include_directories: includes, dependencies: static_objs) + if is_experimental == 0 + custom_target('lib' + lib_name + '.abi_chk', + command: [abidiff, + meson.source_root() + '/drivers/abi/lib' + + lib_name + '.dump', + '@INPUT@'], + input: shared_lib, + output: 'lib' + lib_name + '.abi_chk', + capture: true, + install: false, + build_by_default: get_option('abi_compat_checks')) + endif + dpdk_drivers += static_lib set_variable('shared_@0@'.format(lib_name), shared_dep) -- 2.17.1