On 11/09/2018 02:02 PM, Ian Stokes wrote:
> 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 <[email protected]>
> ---

Acked-by: Kevin Traynor <[email protected]>

>  .travis.yml            |  2 ++
>  .travis/linux-build.sh | 11 ++++++++---
>  2 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index a2ef8bde5..b74ba2bfd 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -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
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 1fe5bbfa9..e9bfb72ff 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -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="17.11.4"
>      fi
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to