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 2D307A04B7;
	Sun,  4 Oct 2020 04:00:43 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 644A11BFCC;
	Sun,  4 Oct 2020 04:00:04 +0200 (CEST)
Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com
 [209.85.167.48]) by dpdk.org (Postfix) with ESMTP id 547FA1BCE8;
 Sun,  4 Oct 2020 03:59:58 +0200 (CEST)
Received: by mail-lf1-f48.google.com with SMTP id x69so6751736lff.3;
 Sat, 03 Oct 2020 18:59:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding;
 bh=F9YHv9fMaWZr4oBZrAKPhFsc5MMadLF2fW62b3qJQig=;
 b=ix7BTABRmYEyGWqJqgkajgOeve2BUjcoZXrJw9PcHZqNkPMqsctOH30kt1Ak9lNz3i
 YH6Jk9z3IC7PhGcOQwlDCJgDGCZ4HTC0gDIicVOXn3UZjrK3N7XYU8h2xdEafwHH4/rA
 3e/WJUZXHhkfklmAtzlGbvCx7AEs3JLKjIpRBCz90VmYeHktMW/cBm8iKeKMRKN3s+9V
 xIVPby8JEZLivAFSeF1BEs7veBC01Eez8/j9LcmxtJeKZmKdzhJj3nPVDrW/MzhLhgMX
 c+nCtsfGkR8sVr6I9gaVjbpwrJTpfQdiH1dU6SX/mBtDdwrNL33RS+LtHC4qHzk9mRzH
 PWxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=F9YHv9fMaWZr4oBZrAKPhFsc5MMadLF2fW62b3qJQig=;
 b=Z62BfmTHAtmA9lA/o8/7MBp5FGEEa61K994hOm98Wci2PJy+emcP65RREE1VFf20cu
 wTp7JSS7kitEXc1Krzgk6T6gYKhPyB4l6iH00zAyb+uj6vIxmyBKV1PzzJHc61eAACf2
 6B7cXkEn037muyzIvpjDzmkBZi9elj4YlKAyPqskeIl4BEmgiCbW1iH2XalmwgNmC/SH
 /ILP0SVK2eX+iCZzy1jTy/CLu1ncnFrZL2N3mxyLRQnJRcqyuDOEJb2Us7OyOxqlmuDi
 FSJr6IjnpBUj83q2wP54ibLicbiJH4zxB5q8OPqvl+u30cwkq/hr/5FQ2ziYoHYxNBxA
 v8nQ==
X-Gm-Message-State: AOAM530JBo+nVAJPcRZihIUhe9zcNmHSTRARyCzGZRKF9odaFgAgWTBC
 LbX0EHgGPD2W4SvRSu1Umv1hvLFiv7B5Jg==
X-Google-Smtp-Source: ABdhPJyZ6RWLHBZpByZZf4pdMb+A+9BnHzalJ5aB6UpYl1WTVuJjNX6fab8Y5khA5DUrEcM1W6vvPw==
X-Received: by 2002:ac2:5e2b:: with SMTP id o11mr3324719lfg.24.1601776797536; 
 Sat, 03 Oct 2020 18:59:57 -0700 (PDT)
Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru.
 [37.110.65.23])
 by smtp.gmail.com with ESMTPSA id n18sm2117708lfe.7.2020.10.03.18.59.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 03 Oct 2020 18:59:56 -0700 (PDT)
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: dev@dpdk.org
Cc: ci@dpdk.org, Stephen Hemminger <stephen@networkplumber.org>,
 David Marchand <david.marchand@redhat.com>,
 Thomas Monjalon <thomas@monjalon.net>,
 Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
 Aaron Conole <aconole@redhat.com>,
 Michael Santana <maicolgabriel@hotmail.com>,
 Bruce Richardson <bruce.richardson@intel.com>
Date: Sun,  4 Oct 2020 04:59:46 +0300
Message-Id: <20201004015947.9012-3-dmitry.kozliuk@gmail.com>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20201004015947.9012-1-dmitry.kozliuk@gmail.com>
References: <20200927214732.12783-1-dmitry.kozliuk@gmail.com>
 <20201004015947.9012-1-dmitry.kozliuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v6 2/3] build: use Python pmdinfogen
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>

Like for other build scripts, use Python interpreter to run pmdinfogen.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen.

Add python3-pyelftools to CI configuration. The package is available on
all major distributions. FreeBSD has no system requirements section in
its GSG. Currently neither Windows uses pmdinfogen, nor is COFF (PE)
supported.

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
 .travis.yml                       | 2 +-
 buildtools/gen-pmdinfo-cfile.sh   | 6 +++---
 buildtools/meson.build            | 1 +
 doc/guides/linux_gsg/sys_reqs.rst | 6 ++++++
 drivers/meson.build               | 2 +-
 meson.build                       | 1 -
 6 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5e12db23b..6744f6fc1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,7 +11,7 @@ addons:
   apt:
     update: true
     packages: &required_packages
-      - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]
+      - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, python3-pyelftools, ninja-build]
       - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
 
 _aarch64_packages: &aarch64_packages
diff --git a/buildtools/gen-pmdinfo-cfile.sh b/buildtools/gen-pmdinfo-cfile.sh
index 43059cf36..109ee461e 100755
--- a/buildtools/gen-pmdinfo-cfile.sh
+++ b/buildtools/gen-pmdinfo-cfile.sh
@@ -4,11 +4,11 @@
 
 arfile=$1
 output=$2
-pmdinfogen=$3
+shift 2
+pmdinfogen=$*
 
 # The generated file must not be empty if compiled in pedantic mode
 echo 'static __attribute__((unused)) const char *generator = "'$0'";' > $output
 for ofile in `ar t $arfile` ; do
-	ar p $arfile $ofile | $pmdinfogen - - >> $output 2> /dev/null
+	ar p $arfile $ofile | $pmdinfogen - - >> $output
 done
-exit 0
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 04808dabc..3a64b28b7 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -17,3 +17,4 @@ else
 endif
 map_to_win_cmd = py3 + files('map_to_win.py')
 sphinx_wrapper = py3 + files('call-sphinx-build.py')
+pmdinfogen = py3 + files('pmdinfogen.py')
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 6ecdc04aa..89c9f2570 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -52,6 +52,12 @@ Compilation of the DPDK
     * If the packaged version is below the minimum version, the latest versions
       can be installed from Python's "pip" repository: ``pip3 install meson ninja``
 
+*   ``pyelftools`` (version 0.22+)
+
+    * For RHEL/Fedora systems it can be installed using ``dnf install python-pyelftools``
+
+    * For Ubuntu/Debian it can be installed using ``apt install python3-pyelftools``
+
 *   Library for handling NUMA (Non Uniform Memory Access).
 
     * ``numactl-devel`` in RHEL/Fedora;
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..88364259d 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -137,7 +137,7 @@ foreach subpath:subdirs
 						command: [pmdinfo, tmp_lib.full_path(),
 							'@OUTPUT@', pmdinfogen],
 						output: out_filename,
-						depends: [pmdinfogen, tmp_lib])
+						depends: [tmp_lib])
 			endif
 
 			# now build the static driver
diff --git a/meson.build b/meson.build
index 61d9a4f5f..a6e8c09c2 100644
--- a/meson.build
+++ b/meson.build
@@ -45,7 +45,6 @@ subdir('buildtools')
 subdir('config')
 
 # build libs and drivers
-subdir('buildtools/pmdinfogen')
 subdir('lib')
 subdir('drivers')
 
-- 
2.28.0