[v14,6/6] devtools: expand meson cross compiling test coverage

Message ID 20180629172738.2121-7-gavin.hu@arm.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series Fix the cross compiling errors |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Gavin Hu June 29, 2018, 5:27 p.m. UTC
  The default test script covers only default host cc compiler, either gcc or
clang, the fix is to increase the coverage by adding one more to cover
clang and the others for gcc.

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 devtools/test-meson-builds.sh | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)
  

Comments

Thomas Monjalon July 11, 2018, 5:46 p.m. UTC | #1
29/06/2018 19:27, Gavin Hu:
> The default test script covers only default host cc compiler, either gcc or
> clang, the fix is to increase the coverage by adding one more to cover
> clang and the others for gcc.
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  devtools/test-meson-builds.sh | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 9bb5b93bd..f38304e6e 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -15,7 +15,7 @@ if command -v ninja >/dev/null 2>&1 ; then
>  elif command -v ninja-build >/dev/null 2>&1 ; then
>      ninja_cmd=ninja-build
>  else
> -    echo "## ERROR: ninja is missing, please install..."
> +    echo "ERROR: ninja is not found"

This is changing a (not related) line introduced in patch 4.
I will squash myself if no other error is found.
  

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9bb5b93bd..f38304e6e 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -15,7 +15,7 @@  if command -v ninja >/dev/null 2>&1 ; then
 elif command -v ninja-build >/dev/null 2>&1 ; then
     ninja_cmd=ninja-build
 else
-    echo "## ERROR: ninja is missing, please install..."
+    echo "ERROR: ninja is not found"
     exit 1
 fi
 
@@ -45,10 +45,16 @@  done
 build build-x86-default -Dmachine=nehalem
 
 # enable cross compilation if gcc cross-compiler is found
-for f in config/arm/arm*gcc ; do
-	c=aarch64-linux-gnu-gcc
-	if ! command -v $c >/dev/null 2>&1 ; then
-		continue
-	fi
-	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
-done
+c=aarch64-linux-gnu-gcc
+if command -v $c >/dev/null 2>&1 ; then
+	# compile the general v8a also for clang to increase coverage
+	export CC="ccache clang"
+	build build-arm64-host-clang --cross-file \
+		config/arm/arm64_armv8_linuxapp_gcc
+
+	for f in config/arm/arm*gcc ; do
+		export CC="ccache gcc"
+		build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) \
+			--cross-file $f
+	done
+fi