diff mbox series

[v2,6/6] travis: test ODP with shared DPDK

Message ID 1516316420-16628-7-git-send-email-odpbot@yandex.ru
State New
Headers show
Series [v2,1/6] travis: stop early when installation of cross-packages has failed | expand

Commit Message

Github ODP bot Jan. 18, 2018, 11 p.m. UTC
From: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>


Add testcase compiling and running ODP with shared DPDK lib

Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>

---
/** Email created from pull request 402 (lumag:travis-upd)
 ** https://github.com/Linaro/odp/pull/402
 ** Patch: https://github.com/Linaro/odp/pull/402.patch
 ** Base sha: 5a4502fc6bc53e6503169da3028f456b64811a0b
 ** Merge commit sha: 3d02540f1ad3c03edc8b784bf0f92b86d9b756a1
 **/
 .travis.yml | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index 2b56de029..3feb3734a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -74,6 +74,7 @@  env:
         - CONF="--enable-schedule-iquery"
         - CONF="--enable-schedule-scalable"
         - CONF="--enable-dpdk-zero-copy"
+        - DPDK_SHARED="y"
         - CROSS_ARCH="arm64"
         - CROSS_ARCH="armhf" CFLAGS="-march=armv7-a"
         - CROSS_ARCH="powerpc"
@@ -193,7 +194,15 @@  install:
               ;;
           esac
         - |
-          if [ -n "$TARGET" -a ! -f "dpdk/${TARGET}/lib/libdpdk.a" ]; then
+          # force DPDK rebuild if it does not match shared/non-shared requirement
+          if [ -n "$TARGET" -a -n "$DPDK_SHARED" -a ! -f "dpdk/${TARGET}/lib/libdpdk.so" ] ; then
+            rm -rf dpdk/"$TARGET"
+          fi
+          if [ -n "$TARGET" -a -z "$DPDK_SHARED" -a ! -f "dpdk/${TARGET}/lib/libdpdk.a" ] ; then
+            rm -rf dpdk/"$TARGET"
+          fi
+        - |
+          if [ -n "$TARGET" -a ! -f "dpdk/${TARGET}/lib/libdpdk.a" -a ! -f "dpdk/${TARGET}/lib/libdpdk.so" ]; then
             git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v${DPDK_VERS} http://dpdk.org/git/dpdk dpdk
             pushd dpdk
             git log --oneline --decorate
@@ -209,6 +218,11 @@  install:
             if test -n "${DPDK_MACHINE}" ; then
               sed -ri 's,(CONFIG_RTE_MACHINE=).*,\1"'${DPDK_MACHINE}'",' .config
             fi
+            if test -n "${DPDK_SHARED}" ; then
+              sed -ri 's,(CONFIG_RTE_BUILD_SHARED_LIB=).*,\1y,' .config
+              export LD_LIBRARY_PATH="`pwd`/${TARGET}:$LD_LIBRARY_PATH"
+              echo $LD_LIBRARY_PATH
+            fi
             if test -n "$CROSS_ARCH" ; then
               sed -ri -e 's,(CONFIG_RTE_EAL_IGB_UIO=).*,\1n,' .config
               sed -ri -e 's,(CONFIG_RTE_KNI_KMOD=).*,\1n,' .config