forked from tbarbette/fastclick
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
106 lines (93 loc) · 4.15 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
cache:
apt: true
directories:
- dpdk-2.2.0
- dpdk-16.04
- dpdk-17.08
- dpdk-18.08
- dpdk-19.08
- tcpdump-4.7.4
- netmap-11.1
language: c++
compiler:
- gcc
- clang
matrix:
exclude:
- compiler: clang
env: FRAMEWORK=dpdk VERSION=2.2.0 CONFIG="--enable-batch --disable-verbose-batch"
- compiler: clang
env: FRAMEWORK=dpdk VERSION=16.04 CONFIG="--enable-batch --disable-verbose-batch"
- compiler: clang
env: FRAMEWORK=dpdk VERSION=2.2.0 CONFIG="--disable-batch"
- compiler: clang
env: FRAMEWORK=dpdk VERSION=16.04 CONFIG="--disable-batch"
env:
global:
- FLAGS="--enable-ip6 --enable-json --disable-linuxmodule --enable-tunnel"
- CXXFLAGS="-std=gnu++11"
- GCC_VERSION="4.8"
matrix:
- FRAMEWORK=vanilla CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=umultithread CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=netmap VERSION=11.1 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=2.2.0 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=16.04 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=17.08 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=18.08 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=19.08 CONFIG="--enable-batch --disable-verbose-batch"
- FRAMEWORK=vanilla CONFIG="--disable-batch"
- FRAMEWORK=umultithread CONFIG="--disable-batch"
- FRAMEWORK=netmap VERSION=11.1 CONFIG="--disable-batch"
- FRAMEWORK=dpdk VERSION=2.2.0 CONFIG="--disable-batch"
- FRAMEWORK=dpdk VERSION=18.08 CONFIG="--disable-batch"
- FRAMEWORK=dpdk VERSION=19.08 CONFIG="--disable-batch"
script:
- if [ $FRAMEWORK = "netmap" ]; then
FRAMEWORK_FLAGS="--enable-user-multithread --with-netmap=`pwd`/netmap-$VERSION/sys/";
fi
- if [ $FRAMEWORK = "dpdk" ] ; then
FRAMEWORK_FLAGS="--enable-user-multithread --enable-dpdk";
export RTE_SDK=`pwd`/dpdk-$VERSION;
export RTE_TARGET=x86_64-default-linuxapp-gcc;
if [ ! -e "$RTE_SDK/$RTE_TARGET/include/rte_version.h" -o ! -e "$RTE_SDK/$RTE_TARGET/build/lib/librte_eal/linuxapp/eal/librte_eal.a" ]; then
wget http://fast.dpdk.org/rel/dpdk-$VERSION.tar.gz &&
tar -zxf dpdk-$VERSION.tar.gz &&
cd dpdk-$VERSION &&
sed -i "s/CONFIG_RTE_KNI_KMOD=.*/CONFIG_RTE_KNI_KMOD=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_LIBRTE_KNI=.*/CONFIG_RTE_LIBRTE_KNI=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_EAL_IGB_UIO=.*/CONFIG_RTE_EAL_IGB_UIO=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_LIBRTE_VIRTIO_PMD=.*/CONFIG_RTE_LIBRTE_VIRTIO_PMD=n/g" config/common_base ;
cp config/defconfig_x86_64-native-linuxapp-gcc config/defconfig_x86_64-default-linuxapp-gcc ;
sed -i "s/CONFIG_RTE_MACHINE=.*/CONFIG_RTE_MACHINE=default/g" config/defconfig_x86_64-default-linux*-gcc ;
make config T=$RTE_TARGET &&
make install T=$RTE_TARGET &&
cd ..;
fi;
fi
- if [ "$CXX" = "clang++" ]; then export CXXGLAGS="$CXXFLAGS -Wno-inconsistent-missing-override"; fi
- if [ $FRAMEWORK = "umultithread" ] ; then
FRAMEWORK_FLAGS="--enable-user-multithread";
fi
- ./configure $CONFIG $FLAGS $FRAMEWORK_FLAGS && make
- make check
install:
- export PATH=$PATH:`pwd`/tcpdump-4.7.4/sbin/ && if [ ! -e "tcpdump-4.7.4/sbin/tcpdump" ] ; then wget http://www.tcpdump.org/release/tcpdump-4.7.4.tar.gz && tar -zxf tcpdump-4.7.4.tar.gz && cd tcpdump-4.7.4 && ./configure --prefix=`pwd` && make && make install && cd .. ; fi
- if [ $FRAMEWORK = "netmap" -a ! -e "netmap-11.1/sys/net/netmap.h" ] ; then wget https://github.com/luigirizzo/netmap/archive/v11.1.tar.gz && tar -xvf v11.1.tar.gz ; fi
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libpcap-dev
- time
- linux-headers-generic
- libnuma-dev
- gcc-4.8
- libstdc++-4.8-dev
- g++-4.8
config:
retries: true
sudo: false
dist: trusty