From ecc3c395b5a60af466e573ad8e53619f8d2eec76 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Thu, 11 Sep 2014 21:34:22 +0200 Subject: [PATCH] travis: Fix DPDK build and treat bad-function-cast warning as non-error A missing " prevented the DPDK build in the matrix from functioning so far. This patch enables the DPDK build by properly building DPDK as a single library and by pointing the OVS build to the corresponding build directory. Also removes the 'make install' as it is not required and only slows down the build. Due to incorrect casts in the DPDK headers, we have to disable bad-function-cast and cast-align warnings as being treated as errors for now. Signed-off-by: Thomas Graf Co-authored-by: Daniele Di Proietto Signed-off-by: Ben Pfaff --- .travis.yml | 2 +- .travis/build.sh | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index fd21e3085..b66f82127 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ before_install: ./.travis/prepare.sh env: - OPTS="--disable-ssl" - TESTSUITE=1 KERNEL=1 OPTS="--with-linux=./linux-3.14.7" - - KERNEL=1 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.0 + - KERNEL=1 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.0/build" script: ./.travis/build.sh $OPTS diff --git a/.travis/build.sh b/.travis/build.sh index 56623eafe..0a2396924 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -3,6 +3,7 @@ set -o errexit KERNELSRC="" +CFLAGS="-Werror" function install_kernel() { @@ -22,9 +23,9 @@ function install_dpdk() tar xzvf dpdk-1.7.0.tar.gz > /dev/null cd dpdk-1.7.0 find ./ -type f | xargs sed -i 's/max-inline-insns-single=100/max-inline-insns-single=400/' + sed -ri 's,(CONFIG_RTE_BUILD_COMBINE_LIBS=).*,\1y,' config/common_linuxapp make config CC=gcc T=x86_64-native-linuxapp-gcc make CC=gcc RTE_KERNELDIR=$KERNELSRC - sudo make install CC=gcc T=x86_64-native-linuxapp-gcc RTE_KERNELDIR=$KERNELSRC echo "Installed DPDK source in $(pwd)" cd .. } @@ -38,14 +39,19 @@ if [ "$KERNEL" ] || [ "$DPDK" ]; then install_kernel fi -[ "$DPDK" ] && install_dpdk +[ "$DPDK" ] && { + install_dpdk + # Disregard bad function cassts until DPDK is fixed + CFLAGS="$CFLAGS -Wno-error=bad-function-cast -Wno-error=cast-align" +} configure_ovs $* + if [ $CC = "clang" ]; then - make CFLAGS="-Werror -Wno-error=unused-command-line-argument" + make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument" else - make CFLAGS="-Werror" C=1 + make CFLAGS="$CFLAGS" C=1 [ "$TESTSUITE" ] && make distcheck fi -- 2.20.1