From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 9A614A04E0;
	Fri, 29 Nov 2019 22:09:48 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 5BBB258C4;
	Fri, 29 Nov 2019 22:09:29 +0100 (CET)
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id BE49F2B88
 for <dev@dpdk.org>; Fri, 29 Nov 2019 22:09:24 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 29 Nov 2019 13:09:24 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.69,258,1571727600"; d="scan'208";a="203832631"
Received: from silpixa00399838.ir.intel.com (HELO
 silpixa00399838.ger.corp.intel.com) ([10.237.222.120])
 by orsmga008.jf.intel.com with ESMTP; 29 Nov 2019 13:09:22 -0800
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>
Date: Fri, 29 Nov 2019 21:09:01 +0000
Message-Id: <20191129210905.1865-4-kevin.laatz@intel.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191129210905.1865-1-kevin.laatz@intel.com>
References: <20191129171024.56165-1-kevin.laatz@intel.com>
 <20191129210905.1865-1-kevin.laatz@intel.com>
Subject: [dpdk-dev] [PATCH v3 3/7] devtools: add abi dump generation script
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

This patch adds a script to generate ABI dump files. These files will be
required to perform ABI compatibility checks during the build later in the
patchset. This script should be run on a DPDK version with a stable ABI.

Since this is a tool designed for human use, we simplify it to just work
off a whole build directory, taking the parameter of the builddir and
generating the lib|drivers/abi dir. This is hardcoded into the script since
the meson build expects the .dump files in these directories.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 devtools/gen-abi-dump.sh | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100755 devtools/gen-abi-dump.sh

diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
new file mode 100755
index 000000000..ffedef10c
--- /dev/null
+++ b/devtools/gen-abi-dump.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+builddir=$1
+
+if [ -z "$builddir" ] ; then
+	echo "Usage: $(basename $0) build_dir"
+	exit 1
+fi
+
+if [ ! -d "$builddir" ] ; then
+	echo "Error: build directory, '$builddir', doesn't exist"
+	exit 1
+fi
+
+for d in lib drivers ; do
+	mkdir -p $d/abi
+
+	for f in $builddir/$d/*.so* ; do
+		test -L "$f" && continue
+
+		libname=$(basename $f)
+		abidw --out-file $d/abi/${libname%.so*}.dump $f || exit 1
+	done
+done
-- 
2.17.1