[ovs-dev] [PATCH v1 3/4] travis: split cache and set target for
Lance Yang
Lance.Yang at arm.com
Wed Nov 20 08:15:04 UTC 2019
To compile OvS with DPDK in some Travis jobs, it is necessary to set the
build target and split the dpdk cache directory according to different CPU
architectures.
Reviewed-by: Yanqin Wei <Yanqin.Wei at arm.com>
Reviewed-by: Malvika Gupta <Malvika.Gupta at arm.com>
Signed-off-by: Lance Yang <Lance.Yang at arm.com>
---
.travis/linux-build.sh | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index 4e74973..557f397 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -6,7 +6,7 @@ set -x
CFLAGS_FOR_OVS="-g -O2"
SPARSE_FLAGS=""
EXTRA_OPTS="--enable-Werror"
-TARGET="x86_64-native-linuxapp-gcc"
+TARGET=""
function install_kernel()
{
@@ -85,32 +85,42 @@ function install_kernel()
function install_dpdk()
{
local DPDK_VER=$1
- local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version"
-
+ if [ -z "$TARGET" -a -z "$TRAVIS_ARCH" ] ||
+ [ "$TRAVIS_ARCH" == "amd64" ]; then
+ TARGET="x86_64-native-linuxapp-gcc"
+ else
+ echo "Target is unknown"
+ exit 1
+ fi
+ local DPDK_CACHE="dpdk-dir/${TARGET}-cache"
+ local VERSION_FILE="${DPDK_CACHE}/travis-dpdk-cache-version"
if [ "${DPDK_VER##refs/*/}" != "${DPDK_VER}" ]; then
# Avoid using cache for git tree build.
- rm -rf dpdk-dir
+ rm -rf ${DPDK_CACHE}
DPDK_GIT=${DPDK_GIT:-https://dpdk.org/git/dpdk}
- git clone --single-branch $DPDK_GIT dpdk-dir -b "${DPDK_VER##refs/*/}"
- pushd dpdk-dir
+ git clone --single-branch \
+ $DPDK_GIT ${DPDK_CACHE} -b "${DPDK_VER##refs/*/}"
+ pushd ${DPDK_CACHE}
git log -1 --oneline
else
if [ -f "${VERSION_FILE}" ]; then
VER=$(cat ${VERSION_FILE})
if [ "${VER}" = "${DPDK_VER}" ]; then
- EXTRA_OPTS="${EXTRA_OPTS} --with-dpdk=$(pwd)/dpdk-dir/build"
- echo "Found cached DPDK ${VER} build in $(pwd)/dpdk-dir"
+ EXTRA_OPTS="${EXTRA_OPTS} \
+ --with-dpdk=$(pwd)/${DPDK_CACHE}/build"
+ echo "Found cached DPDK ${VER} build in \
+ $(pwd)/${DPDK_CACHE}"
return
fi
fi
# No cache or version mismatch.
- rm -rf dpdk-dir
+ rm -rf ${DPDK_CACHE}
wget https://fast.dpdk.org/rel/dpdk-$1.tar.xz
tar xvf dpdk-$1.tar.xz > /dev/null
DIR_NAME=$(tar -tf dpdk-$1.tar.xz | head -1 | cut -f1 -d"/")
- mv ${DIR_NAME} dpdk-dir
- pushd dpdk-dir
+ mv ${DIR_NAME} ${DPDK_CACHE}
+ pushd ${DPDK_CACHE}
fi
make config CC=gcc T=$TARGET
--
2.7.4
More information about the dev
mailing list