[dpdk-dev] [PATCH v11 6/6] devtools: expand meson cross compiling test coverage

Bruce Richardson bruce.richardson at intel.com
Tue Jun 19 12:14:28 CEST 2018


On Tue, Jun 19, 2018 at 09:37:46AM +0800, Gavin Hu wrote:
> 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, 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 at dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu at arm.com>
> Reviewed-by: Phil Yang <phil.yang at arm.com>
> Reviewed-by: Song Zhu <song.zhu at arm.com>
> ---
>  devtools/test-meson-builds.sh | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 9bb5b93bd..f0912d109 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -44,11 +44,18 @@ done
>  # test compilation with minimal x86 instruction set
>  build build-x86-default -Dmachine=nehalem
>  
> +# 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
> +

This will fail if the cross-gcc is not present. You still need to move the
check out of the loop below to above this build call.

>  # 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

Minor nit:
I'd tend to leave off the "host-gcc" part for brevity. If one build is marked
as host-clang, I think most folks unfamiliar with the script will probably
guess that gcc is the host compiler in unstated cases.

>  done
> -- 
> 2.11.0
> 


More information about the dev mailing list