forked from OISF/suricata
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
133 lines (123 loc) · 3.86 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Default parameters, even this default build is excluded in the build
# matrix below. We define so Travis doesn't think this is a Ruby
# project.
os: linux
language: c
compiler: gcc
# Define the default CFLAGS used by all builds as a YAML anchor.
default-cflags: &default-cflags
CFLAGS="-Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-function"
# The default build is Linux with gcc. Add additional builds to the
# matrix here.
matrix:
# Exclude the default build so any the builds in the matrix will be done.
exclude:
- os: linux
compiler: gcc
include:
# Linux, gcc, cocci tests enabled.
- os: linux
compiler: gcc
env:
- NAME="linux,gcc,cocci"
- *default-cflags
- ENABLE_COCCI="yes"
# Linux, gcc, -DNDEBUG.
- os: linux
compiler: gcc
env:
- NAME="linux,gcc,ndebug"
- *default-cflags
- EXTRA_CFLAGS="-DNDEBUG"
# Linux, clang. For this build we'll also enable -Wshadow.
- os: linux
compiler: clang
env:
- NAME="linux,clang"
- *default-cflags
- EXTRA_CFLAGS="-Wshadow"
# Linux, gcc, profiling.
- os: linux
compiler: gcc
env:
- NAME="linux,gcc,profiling"
- *default-cflags
- ARGS="--enable-profiling"
# Linux, gcc, debug.
- os: linux
compiler: gcc
env:
- NAME="linux,gcc,debug"
- *default-cflags
- ARGS="--enable-debug"
- ENABLE_DEBUG="yes"
# Linux, gcc, no json support.
- os: linux
compiler: gcc
env:
- NAME="linux,gcc,no-json"
- *default-cflags
- DISABLE_JSON="yes"
# OSX 10.12, XCode 8.1.
- os: osx
compiler: gcc
osx_image: xcode8.1
env:
- NAME="osx,gcc"
- *default-cflags
# Change this to your needs
script:
- sh autogen.sh
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export CFLAGS="${CFLAGS} ${EXTRA_CFLAGS}"
./configure --enable-nfqueue --enable-unittests --enable-hiredis ${ARGS}
fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export CFLAGS="${CFLAGS} ${EXTRA_CFLAGS}"
./configure --enable-unittests --enable-hiredis --enable-ipfw \
--enable-lua --with-libpcre-includes=/usr/local/include \
--with-libpcre-includes=/usr/local/include \
--with-libpcre-libraries=/usr/local/lib \
--with-libnss-includes=/usr/local/opt/nss/include/nss \
--with-libnss-libraries=/usr/local/opt/nss/lib \
--with-libnspr-includes=/usr/local/opt/nspr/include/nspr \
--with-libnspr-libraries=/usr/local/opt/nspr/lib
fi
- make
# With debug enabled too much output is generated for Travis, so
# redirect stderr to a file.
- |
if [[ "$ENABLE_DEBUG" == "yes" ]]; then
make check 2> stderr.log
else
make check
fi
before_install:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
if [[ "$ENABLE_COCCI" == "yes" ]]; then
sudo add-apt-repository -y ppa:npalix/coccinelle
fi
sudo apt-get update -qq
sudo apt-get install -y libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev \
libcap-ng0 make libmagic-dev libnetfilter-queue-dev \
libnetfilter-queue1 libnfnetlink-dev libnfnetlink0 \
libhiredis-dev
if [[ "$ENABLE_COCCI" == "yes" ]]; then
sudo apt-get install -y coccinelle
fi
if [[ "$DISABLE_JSON" != "yes" ]]; then
sudo apt-get install -y libjansson-dev
fi
fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install pkg-config libmagic libyaml nss nspr jansson libnet lua \
pcre hiredis
fi
- ./qa/travis-libhtp.sh