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

Message ID 20180625024913.17219-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 25, 2018, 2:49 a.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 | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
  

Comments

Thomas Monjalon June 27, 2018, 9:25 p.m. UTC | #1
Hi,

25/06/2018 04:49, Gavin Hu:
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
>  # enable cross compilation if gcc cross-compiler is found
> +c=aarch64-linux-gnu-gcc
> +if ! command -v $c >/dev/null 2>&1 ; then
> +	echo "## ERROR: $c is missing, cross compiling is aborting..."

Not having a cross compiler should not be an error.

> +	return

Please, no return, because we could add more compilation tests below,
including other cross-compilations.

> +fi
> +
> +# 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
> -	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
> +	export CC="ccache gcc"
> +	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) \
> +		--cross-file $f
>  done
  
Gavin Hu June 29, 2018, 5:29 p.m. UTC | #2
Hi Thomas,

I submitted the v14 patch set to address your two comments!
Any more comments are welcome!

Best Regards,
Gavin

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, June 28, 2018 5:26 AM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: dev@dpdk.org; nd <nd@arm.com>
> Subject: Re: [dpdk-stable] [PATCH v13 6/6] devtools: expand meson cross
> compiling test coverage
> 
> Hi,
> 
> 25/06/2018 04:49, Gavin Hu:
> > --- a/devtools/test-meson-builds.sh
> > +++ b/devtools/test-meson-builds.sh
> >  # enable cross compilation if gcc cross-compiler is found
> > +c=aarch64-linux-gnu-gcc
> > +if ! command -v $c >/dev/null 2>&1 ; then
> > +	echo "## ERROR: $c is missing, cross compiling is aborting..."
> 
> Not having a cross compiler should not be an error.
> 
> > +	return
> 
> Please, no return, because we could add more compilation tests below,
> including other cross-compilations.
> 
> > +fi
> > +
> > +# 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
> > -	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
> > +	export CC="ccache gcc"
> > +	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) \
> > +		--cross-file $f
> >  done
> 
> 
>
  

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9bb5b93bd..e7db0abe9 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -45,10 +45,18 @@  done
 build build-x86-default -Dmachine=nehalem
 
 # enable cross compilation if gcc cross-compiler is found
+c=aarch64-linux-gnu-gcc
+if ! command -v $c >/dev/null 2>&1 ; then
+	echo "## ERROR: $c is missing, cross compiling is aborting..."
+	return
+fi
+
+# 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
-	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
+	export CC="ccache gcc"
+	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) \
+		--cross-file $f
 done