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>
default_path=$PATH
default_pkgpath=$PKG_CONFIG_PATH
default_path=$PATH
default_pkgpath=$PKG_CONFIG_PATH
+load_env () # <target compiler>
export PATH=$default_path
export PKG_CONFIG_PATH=$default_pkgpath
unset DPDK_MESON_OPTIONS
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>
}
build () # <directory> <target compiler> <meson options>
shift
# skip build if compiler not available
command -v ${CC##* } >/dev/null 2>&1 || return 0
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
if [ ! -f "$builddir/build.ninja" ] ; then
options="--werror -Dexamples=all"
for option in $DPDK_MESON_OPTIONS ; do
export DESTDIR=$(pwd)/$build_path/install-root
$ninja_cmd -C $build_path install
export DESTDIR=$(pwd)/$build_path/install-root
$ninja_cmd -C $build_path install
pc_file=$(find $DESTDIR -name libdpdk.pc)
export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH
pc_file=$(find $DESTDIR -name libdpdk.pc)
export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH