summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Richardson <bruce.richardson@intel.com>2019-04-19 13:04:49 +0100
committerThomas Monjalon <thomas@monjalon.net>2019-04-19 23:21:13 +0200
commite5f7bd199d2206a4c07e9d0efbcbc4039744b896 (patch)
tree1c4ae181da5a035081def25a9d71f166a328009f
parent890028e252a4c327e16bf8336432c9a17693330a (diff)
downloaddpdk-next-eventdev-e5f7bd199d2206a4c07e9d0efbcbc4039744b896.zip
dpdk-next-eventdev-e5f7bd199d2206a4c07e9d0efbcbc4039744b896.tar.gz
dpdk-next-eventdev-e5f7bd199d2206a4c07e9d0efbcbc4039744b896.tar.xz
devtools: fix meson build test for plain bourne shell
The pipefail option is not supported in /bin/sh, just in bash/ksh and similar shells - which means it's there by default on most Linux distros but not on e.g. FreeBSD. Therefore we check for it's presence before setting the option, and if it's missing, we upgrade verbosity level if needed to ensure we never hide any build failures. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
-rwxr-xr-xdevtools/test-meson-builds.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0ea79f4..630a1a6 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -7,7 +7,9 @@
# * if a build-directory already exists we assume it was properly configured
# Run ninja after configuration is done.
-set -o pipefail
+# set pipefail option if possible
+PIPEFAIL=""
+set -o | grep -q pipefail && set -o pipefail && PIPEFAIL=1
srcdir=$(dirname $(readlink -f $0))/..
MESON=${MESON:-meson}
@@ -51,6 +53,11 @@ if [ "$1" = "-vv" ] ; then
elif [ "$1" = "-v" ] ; then
TEST_MESON_BUILD_VERBOSE=1
fi
+# we can't use plain verbose when we don't have pipefail option so up-level
+if [ -z "$PIPEFAIL" -a -n "$TEST_MESON_BUILD_VERBOSE" ] ; then
+ echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE"
+ TEST_MESON_BUILD_VERY_VERBOSE=1
+fi
# shared and static linked builds with gcc and clang
for c in gcc clang ; do