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

Message ID 20180615092605.12043-7-gavin.hu@arm.com (mailing list archive)
State Superseded, 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 15, 2018, 9:26 a.m. UTC
  The default test script covers only default host cc compiler, either gcc or
clang, the fix is to cover both, gcc and clang. And also the build dirs are
changed to *-host-$c, indicating the difference of cc used.

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>
---
 devtools/test-meson-builds.sh | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
  

Comments

Bruce Richardson June 15, 2018, 10:01 a.m. UTC | #1
On Fri, Jun 15, 2018 at 05:26:05PM +0800, Gavin Hu wrote:
> The default test script covers only default host cc compiler, either gcc or
> clang, the fix is to cover both, gcc and clang. And also the build dirs are
> changed to *-host-$c, indicating the difference of cc used.
> 
> 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>
> ---

Still has whitespace issues which can probably be fixed on apply. The calls
to basename etc. for the additional command are unnecessary since you can
hard-code the directory name, but that's not a big deal. Approach wise, it
looks ok.

With whitespace fixup:

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

>  devtools/test-meson-builds.sh | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 9bb5b93bd..8c33ece93 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -44,11 +44,20 @@ done
>  # test compilation with minimal x86 instruction set
>  build build-x86-default -Dmachine=nehalem
>  
> +# compile the general v8a also for clang to increase coverage
> +f=config/arm/arm64_armv8_linuxapp_gcc
> +export CC="ccache clang"
> +build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2)-host-clang \
> +		  --cross-file $f
> +
>  # 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
> +		echo "## ERROR: $c is missing..."
> +		exit 1
>  	fi
> -	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
> +    export CC="ccache gcc"
> +    build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2)-host-gcc \
> +        --cross-file $f
>  done
> -- 
> 2.11.0
>
  

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9bb5b93bd..8c33ece93 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -44,11 +44,20 @@  done
 # test compilation with minimal x86 instruction set
 build build-x86-default -Dmachine=nehalem
 
+# compile the general v8a also for clang to increase coverage
+f=config/arm/arm64_armv8_linuxapp_gcc
+export CC="ccache clang"
+build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2)-host-clang \
+		  --cross-file $f
+
 # 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
+		echo "## ERROR: $c is missing..."
+		exit 1
 	fi
-	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
+    export CC="ccache gcc"
+    build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2)-host-gcc \
+        --cross-file $f
 done