From: Thomas Monjalon Date: Mon, 12 Aug 2019 23:03:58 +0000 (+0200) Subject: devtools: load target-specific compilation environment X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=272236741258;p=dpdk.git 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 --- 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