mirror of
https://github.com/openvswitch/ovs
synced 2025-09-01 06:45:17 +00:00
travis: Add dpdk shared library build.
Add travis builds for DPDK as a shared library. Currently the DPDK builds in travis only compile DPDK as a static library. With static builds in DPDK there is a risk that if a function is not exported then it will not be supported when DPDK is used as a shared library. This commit adds the option to build DPDK as a shared library. Also two build jobs are added to the travis.yml whereby a shared DPDK is built with both static and shared OVS libraries. Signed-off-by: Ian Stokes <ian.stokes@intel.com> Acked-by: Tiago Lam <tiago.lam@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com>
This commit is contained in:
@@ -35,6 +35,8 @@ env:
|
||||
- BUILD_ENV="-m32" OPTS="--disable-ssl"
|
||||
- KERNEL=3.16.54 DPDK=1
|
||||
- KERNEL=3.16.54 DPDK=1 OPTS="--enable-shared"
|
||||
- KERNEL=3.16.54 DPDK_SHARED=1
|
||||
- KERNEL=3.16.54 DPDK_SHARED=1 OPTS="--enable-shared"
|
||||
- KERNEL=4.17.14
|
||||
- KERNEL=4.16.18
|
||||
- KERNEL=4.15.18
|
||||
|
@@ -6,6 +6,7 @@ KERNELSRC=""
|
||||
CFLAGS="-Werror"
|
||||
SPARSE_FLAGS=""
|
||||
EXTRA_OPTS=""
|
||||
TARGET="x86_64-native-linuxapp-gcc"
|
||||
|
||||
function install_kernel()
|
||||
{
|
||||
@@ -66,7 +67,11 @@ function install_dpdk()
|
||||
find ./ -type f | xargs sed -i 's/-Werror/-Werror -Wno-error=inline/'
|
||||
echo 'CONFIG_RTE_BUILD_FPIC=y' >>config/common_linuxapp
|
||||
sed -ri '/EXECENV_CFLAGS = -pthread -fPIC/{s/$/\nelse ifeq ($(CONFIG_RTE_BUILD_FPIC),y)/;s/$/\nEXECENV_CFLAGS = -pthread -fPIC/}' mk/exec-env/linuxapp/rte.vars.mk
|
||||
make config CC=gcc T=x86_64-native-linuxapp-gcc
|
||||
if [ "$DPDK_SHARED" ]; then
|
||||
sed -i '/CONFIG_RTE_BUILD_SHARED_LIB=n/s/=n/=y/' config/common_base
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$TARGET/lib
|
||||
fi
|
||||
make config CC=gcc T=$TARGET
|
||||
make CC=gcc RTE_KERNELDIR=$KERNELSRC
|
||||
echo "Installed DPDK source in $(pwd)"
|
||||
cd ..
|
||||
@@ -77,11 +82,11 @@ function configure_ovs()
|
||||
./boot.sh && ./configure $*
|
||||
}
|
||||
|
||||
if [ "$KERNEL" ] || [ "$DPDK" ]; then
|
||||
if [ "$KERNEL" ] || [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
|
||||
install_kernel $KERNEL
|
||||
fi
|
||||
|
||||
if [ "$DPDK" ]; then
|
||||
if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
|
||||
if [ -z "$DPDK_VER" ]; then
|
||||
DPDK_VER="18.11"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user