devtools: fix test of ninja install

Message ID 20190914090447.5707-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Headers
Series devtools: fix test of ninja install |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-dpdk_compile_ovs success Compile Testing PASS
ci/iol-dpdk_compile success Compile Testing PASS
ci/iol-dpdk_compile_spdk success Compile Testing PASS
ci/intel-Performance success Performance Testing PASS
ci/mellanox-Performance success Performance Testing PASS

Commit Message

Thomas Monjalon Sept. 14, 2019, 9:04 a.m. UTC
  When trying to compile some examples with libdpdk.pc,
the right environment (for default target) was not loaded.
The consequence is to not detect some dependencies because
of missing directories in PKG_CONFIG_PATH.

The environment preparation is moved to a dedicate function,
and called for the default target (cc),
before testing the install output of the default build.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 devtools/test-meson-builds.sh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
  

Comments

Thomas Monjalon Sept. 16, 2019, 3:48 p.m. UTC | #1
14/09/2019 11:04, Thomas Monjalon:
> When trying to compile some examples with libdpdk.pc,
> the right environment (for default target) was not loaded.
> The consequence is to not detect some dependencies because
> of missing directories in PKG_CONFIG_PATH.
> 
> The environment preparation is moved to a dedicate function,
> and called for the default target (cc),
> before testing the install output of the default build.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Applied
  

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 2eb9b23b0..08e83eb5c 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -37,11 +37,15 @@  fi
 default_path=$PATH
 default_pkgpath=$PKG_CONFIG_PATH
 
-reset_env ()
+load_env () # <target compiler>
 {
+	targetcc=$1
 	export PATH=$default_path
 	export PKG_CONFIG_PATH=$default_pkgpath
 	unset DPDK_MESON_OPTIONS
+	command -v $targetcc >/dev/null 2>&1 || return 1
+	DPDK_TARGET=$($targetcc -v 2>&1 | sed -n 's,^Target: ,,p')
+	. $srcdir/devtools/load-devel-config
 }
 
 build () # <directory> <target compiler> <meson options>
@@ -52,10 +56,7 @@  build () # <directory> <target compiler> <meson options>
 	shift
 	# skip build if compiler not available
 	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')
-	. $srcdir/devtools/load-devel-config
+	load_env $targetcc || return 0
 	if [ ! -f "$builddir/build.ninja" ] ; then
 		options="--werror -Dexamples=all"
 		for option in $DPDK_MESON_OPTIONS ; do
@@ -128,6 +129,7 @@  build_path=build-x86-default
 export DESTDIR=$(pwd)/$build_path/install-root
 $ninja_cmd -C $build_path install
 
+load_env cc
 pc_file=$(find $DESTDIR -name libdpdk.pc)
 export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH