devtools: fix test of ninja install

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.

Fixes: 272236741258 ("devtools: load target-specific compilation environment")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
Thomas Monjalon 2019-09-14 10:56:32 +02:00
parent be7e90917e
commit bd253daa77

View File

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