DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, bruce.richardson@intel.com,
	drc@linux.vnet.ibm.com, dmitry.kozliuk@gmail.com
Subject: [dpdk-dev] [PATCH 1/4] devtools: shrink cross-compilation test definition
Date: Mon, 15 Jun 2020 00:57:44 +0200	[thread overview]
Message-ID: <20200614225747.3839569-2-thomas@monjalon.net> (raw)
In-Reply-To: <20200614225747.3839569-1-thomas@monjalon.net>

Each cross-compilation case needs to define the target compiler
and the meson cross file.
Given the compiler is already defined in the cross file,
the latter is enough.

The function "build" is changed to accept a cross file alternatively
to the compiler name. In the case of a file (detected if readable),
the compiler is extracted with sed and tr, and the option --cross-file
is automatically added.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 devtools/test-meson-builds.sh | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 18b874fac5..602167e43a 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -117,16 +117,24 @@ install_target () # <builddir> <installdir>
 	fi
 }
 
-build () # <directory> <target compiler> <meson options>
+build () # <directory> <target compiler | cross file> <meson options>
 {
 	targetdir=$1
 	shift
-	targetcc=$1
+	crossfile=
+	[ -r $1 ] && crossfile=$1 || targetcc=$1
 	shift
 	# skip build if compiler not available
 	command -v ${CC##* } >/dev/null 2>&1 || return 0
+	if [ -n "$crossfile" ] ; then
+		cross="--cross-file $crossfile"
+		targetcc=$(sed -n 's,^c[[:space:]]*=[[:space:]]*,,p' \
+			$crossfile | tr -d "'" | tr -d '"')
+	else
+		cross=
+	fi
 	load_env $targetcc || return 0
-	config $srcdir $builds_dir/$targetdir --werror $*
+	config $srcdir $builds_dir/$targetdir $cross --werror $*
 	compile $builds_dir/$targetdir
 	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
 		abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
@@ -186,17 +194,15 @@ if [ "$ok" = "false" ] ; then
 fi
 build build-x86-default cc -Dlibdir=lib -Dmachine=$default_machine $use_shared
 
-c=aarch64-linux-gnu-gcc
 # generic armv8a with clang as host compiler
+f=$srcdir/config/arm/arm64_armv8_linux_gcc
 export CC="clang"
-build build-arm64-host-clang $c $use_shared \
-	--cross-file $srcdir/config/arm/arm64_armv8_linux_gcc
+build build-arm64-host-clang $f $use_shared
 unset CC
-# all gcc/arm configurations
+# some gcc/arm configurations
 for f in $srcdir/config/arm/arm64_[bdo]*gcc ; do
 	export CC="$CCACHE gcc"
-	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) $c \
-		$use_shared --cross-file $f
+	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) $f $use_shared
 	unset CC
 done
 
-- 
2.26.2


  reply	other threads:[~2020-06-14 22:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-14 22:57 [dpdk-dev] [PATCH 0/4] add PPC and Windows to meson test Thomas Monjalon
2020-06-14 22:57 ` Thomas Monjalon [this message]
2020-06-14 22:57 ` [dpdk-dev] [PATCH 2/4] devtools: allow non-standard toolchain in " Thomas Monjalon
2020-06-14 22:57 ` [dpdk-dev] [PATCH 3/4] devtools: add ppc64 in meson build test Thomas Monjalon
2020-06-15 21:43   ` David Christensen
2020-06-15 22:13     ` Thomas Monjalon
2020-06-16 20:35       ` David Christensen
2020-06-16 21:26         ` Thomas Monjalon
2020-06-17 21:02           ` David Christensen
2020-06-14 22:57 ` [dpdk-dev] [PATCH 4/4] devtools: add Windows cross-build test with MinGW Thomas Monjalon
2020-06-14 23:09   ` Thomas Monjalon
2020-06-15  1:05     ` Dmitry Kozlyuk
2020-06-15  7:51       ` Thomas Monjalon
2020-06-15 22:22 ` [dpdk-dev] [PATCH v2 0/4] add PPC and Windows cross-compilation to meson test Thomas Monjalon
2020-06-15 22:22   ` [dpdk-dev] [PATCH v2 1/4] devtools: shrink cross-compilation test definition Thomas Monjalon
2020-06-17 21:05     ` David Christensen
2020-06-15 22:22   ` [dpdk-dev] [PATCH v2 2/4] devtools: allow non-standard toolchain in meson test Thomas Monjalon
2020-06-17 21:06     ` David Christensen
2020-06-15 22:22   ` [dpdk-dev] [PATCH v2 3/4] devtools: add ppc64 in meson build test Thomas Monjalon
2020-06-17 21:07     ` David Christensen
2020-06-15 22:22   ` [dpdk-dev] [PATCH v2 4/4] devtools: add Windows cross-build test with MinGW Thomas Monjalon
2020-06-29 23:15   ` [dpdk-dev] [PATCH v2 0/4] add PPC and Windows cross-compilation to meson test Thomas Monjalon

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=20200614225747.3839569-2-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=drc@linux.vnet.ibm.com \
    /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).