DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build
@ 2019-09-13  7:34 Thomas Monjalon
  2019-09-13  9:46 ` Luca Boccassi
  2019-09-13  9:54 ` Bruce Richardson
  0 siblings, 2 replies; 4+ messages in thread
From: Thomas Monjalon @ 2019-09-13  7:34 UTC (permalink / raw)
  To: bruce.richardson; +Cc: bluca, dev

The meson build test fails if ccache is not available.
The use of ccache must be optional.
And if used, the compiler to check is the last word of $CC.

Fixes: e0ae780e6569 ("devtools: test compiler availability only once")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

---

This script is failing now because a real check of ccache availability
is done in commit e0ae780e6569.
It was not failing before, which means $CC is not used by meson?
---
 devtools/test-meson-builds.sh | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index a9d9360a6..2eb9b23b0 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -28,6 +28,11 @@ else
 	echo "ERROR: ninja is not found" >&2
 	exit 1
 fi
+if command -v ccache >/dev/null 2>&1 ; then
+	CCACHE=ccache
+else
+	CCACHE=
+fi
 
 default_path=$PATH
 default_pkgpath=$PKG_CONFIG_PATH
@@ -46,7 +51,7 @@ build () # <directory> <target compiler> <meson options>
 	targetcc=$1
 	shift
 	# skip build if compiler not available
-	command -v $CC >/dev/null 2>&1 || return 0
+	command -v ${CC##* } >/dev/null 2>&1 || return 0
 	command -v $targetcc >/dev/null 2>&1 || return 0
 	reset_env
 	DPDK_TARGET=$($targetcc -v 2>&1 | sed -n 's,^Target: ,,p')
@@ -90,7 +95,7 @@ fi
 for c in gcc clang ; do
 	command -v $c >/dev/null 2>&1 || continue
 	for s in static shared ; do
-		export CC="ccache $c"
+		export CC="$CCACHE $c"
 		build build-$c-$s $c --default-library=$s
 	done
 done
@@ -112,7 +117,7 @@ build build-arm64-host-clang $c $use_shared \
 	--cross-file $srcdir/config/arm/arm64_armv8_linux_gcc
 # all gcc/arm configurations
 for f in $srcdir/config/arm/arm*gcc ; do
-	export CC="ccache gcc"
+	export CC="$CCACHE gcc"
 	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) $c \
 		$use_shared --cross-file $f
 done
-- 
2.23.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build
  2019-09-13  7:34 [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build Thomas Monjalon
@ 2019-09-13  9:46 ` Luca Boccassi
  2019-09-13 10:33   ` Thomas Monjalon
  2019-09-13  9:54 ` Bruce Richardson
  1 sibling, 1 reply; 4+ messages in thread
From: Luca Boccassi @ 2019-09-13  9:46 UTC (permalink / raw)
  To: dev; +Cc: Thomas Monjalon

On Fri, 2019-09-13 at 09:34 +0200, Thomas Monjalon wrote:
> The meson build test fails if ccache is not available.
> The use of ccache must be optional.
> And if used, the compiler to check is the last word of $CC.
> 
> Fixes: e0ae780e6569 ("devtools: test compiler availability only
> once")
> 
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build
  2019-09-13  7:34 [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build Thomas Monjalon
  2019-09-13  9:46 ` Luca Boccassi
@ 2019-09-13  9:54 ` Bruce Richardson
  1 sibling, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2019-09-13  9:54 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: bluca, dev

On Fri, Sep 13, 2019 at 09:34:25AM +0200, Thomas Monjalon wrote:
> The meson build test fails if ccache is not available.
> The use of ccache must be optional.
> And if used, the compiler to check is the last word of $CC.
> 
> Fixes: e0ae780e6569 ("devtools: test compiler availability only once")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> ---
> 
> This script is failing now because a real check of ccache availability
> is done in commit e0ae780e6569.
> It was not failing before, which means $CC is not used by meson?

$CC is used, otherwise we wouldn't be able to do any clang builds. :-)

I think what used to happen with earlier versions of the script was that
large chunks of the builds used to be skipped if ccache wasn't available,
i.e. I think it used to just do the "default" build and skip the regular
clang/gcc builds as those were where we checked for compiler presence.
[NOTE: it's been a while since I ran this on a system without ccache and I
never got to fixing it when I did encounter one - installing ccache was
always the easier step. :-)]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build
  2019-09-13  9:46 ` Luca Boccassi
@ 2019-09-13 10:33   ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2019-09-13 10:33 UTC (permalink / raw)
  To: dev; +Cc: Luca Boccassi

13/09/2019 11:46, Luca Boccassi:
> On Fri, 2019-09-13 at 09:34 +0200, Thomas Monjalon wrote:
> > The meson build test fails if ccache is not available.
> > The use of ccache must be optional.
> > And if used, the compiler to check is the last word of $CC.
> > 
> > Fixes: e0ae780e6569 ("devtools: test compiler availability only
> > once")
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> Acked-by: Luca Boccassi <bluca@debian.org>

Not convinced all is solved, but applied to check if CI is fixed.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-13 10:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13  7:34 [dpdk-dev] [PATCH] devtools: fix check of ccache for meson build Thomas Monjalon
2019-09-13  9:46 ` Luca Boccassi
2019-09-13 10:33   ` Thomas Monjalon
2019-09-13  9:54 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).