Thread (104 messages) 104 messages, 19 authors, 2020-03-17

[dpdk-dev] [PATCH v4 2/3] build: split build helper

From: David Marchand <hidden>
Date: 2020-02-02 21:09:25
Subsystem: the rest · Maintainer: Linus Torvalds

No functional change intended, prepare for reusing this code.
The config and compilation parts are separated in helpers.
Unsetting CC is moved to the caller of the helper.

Signed-off-by: David Marchand <redacted>
Acked-by: Luca Boccassi <redacted>
---
Changelog since v2:
- changed indent in config(),
- removed useless shift in compile(),

---
 devtools/test-meson-builds.sh | 48 ++++++++++++++++++++++++-----------
 1 file changed, 33 insertions(+), 15 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 688567714..fb6c404e5 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -57,25 +57,27 @@ load_env () # <target compiler>
 	. $srcdir/devtools/load-devel-config
 }
 
-build () # <directory> <target compiler> <meson options>
+config () # <dir> <builddir> <meson options>
 {
-	builddir=$builds_dir/$1
+	dir=$1
 	shift
-	targetcc=$1
+	builddir=$1
 	shift
-	# skip build if compiler not available
-	command -v ${CC##* } >/dev/null 2>&1 || return 0
-	load_env $targetcc || return 0
-	if [ ! -f "$builddir/build.ninja" ] ; then
-		options="--werror -Dexamples=all"
-		for option in $DPDK_MESON_OPTIONS ; do
-			options="$options -D$option"
-		done
-		options="$options $*"
-		echo "$MESON $options $srcdir $builddir"
-		$MESON $options $srcdir $builddir
-		unset CC
+	if [ -f "$builddir/build.ninja" ] ; then
+		return
 	fi
+	options="--werror -Dexamples=all"
+	for option in $DPDK_MESON_OPTIONS ; do
+		options="$options -D$option"
+	done
+	options="$options $*"
+	echo "$MESON $options $dir $builddir"
+	$MESON $options $dir $builddir
+}
+
+compile () # <builddir>
+{
+	builddir=$1
 	if [ -n "$TEST_MESON_BUILD_VERY_VERBOSE" ] ; then
 		# for full output from ninja use "-v"
 		echo "$ninja_cmd -v -C $builddir"
@@ -90,6 +92,19 @@ build () # <directory> <target compiler> <meson options>
 	fi
 }
 
+build () # <directory> <target compiler> <meson options>
+{
+	targetdir=$1
+	shift
+	targetcc=$1
+	shift
+	# skip build if compiler not available
+	command -v ${CC##* } >/dev/null 2>&1 || return 0
+	load_env $targetcc || return 0
+	config $srcdir $builds_dir/$targetdir $*
+	compile $builds_dir/$targetdir
+}
+
 if [ "$1" = "-vv" ] ; then
 	TEST_MESON_BUILD_VERY_VERBOSE=1
 elif [ "$1" = "-v" ] ; then
@@ -107,6 +122,7 @@ for c in gcc clang ; do
 	for s in static shared ; do
 		export CC="$CCACHE $c"
 		build build-$c-$s $c --default-library=$s
+		unset CC
 	done
 done
 
@@ -125,11 +141,13 @@ c=aarch64-linux-gnu-gcc
 export CC="clang"
 build build-arm64-host-clang $c $use_shared \
 	--cross-file $srcdir/config/arm/arm64_armv8_linux_gcc
+unset CC
 # all 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
+	unset CC
 done
 
 # Test installation of the x86-default target, to be used for checking
-- 
2.23.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help