From 272236741258632b3c0177ec0cf09f4a50b737fb Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Tue, 13 Aug 2019 01:03:58 +0200 Subject: [PATCH] devtools: load target-specific compilation environment In order to re-use the same test environment as with test-build.sh, the configuration file is loaded at each build, after adjusting the variable DPDK_TARGET. This is especially useful to set the variable PKG_CONFIG_PATH, or define some meson options (without -D) in DPDK_MESON_OPTIONS. The DPDK_TARGET values can be aarch64-*, powerpc64-*, x86_64-*. The matching DPDK_TARGET values for test-build.sh are arm64-*, ppc_64-*, x86_64-*. The advised expressions to use in the common configuration file are: if echo $DPDK_TARGET | grep -q '^a.*64-' ; then elif echo $DPDK_TARGET | grep -q '^p.*pc.*64' ; then elif echo $DPDK_TARGET | grep -q '^x86_64' ; then fi Signed-off-by: Thomas Monjalon Acked-by: Luca Boccassi --- devtools/test-meson-builds.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index 618dd877e3..a9d9360a6d 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -29,6 +29,16 @@ else exit 1 fi +default_path=$PATH +default_pkgpath=$PKG_CONFIG_PATH + +reset_env () +{ + export PATH=$default_path + export PKG_CONFIG_PATH=$default_pkgpath + unset DPDK_MESON_OPTIONS +} + build () # { builddir=$1 @@ -38,8 +48,15 @@ build () # # 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 if [ ! -f "$builddir/build.ninja" ] ; then - options="--werror -Dexamples=all $*" + options="--werror -Dexamples=all" + for option in $DPDK_MESON_OPTIONS ; do + options="$options -D$option" + done + options="$options $*" echo "$MESON $options $srcdir $builddir" $MESON $options $srcdir $builddir unset CC -- 2.20.1