]>
Commit | Line | Data |
---|---|---|
d151cd28 TB |
1 | #!/bin/sh |
2 | # Build script for Travis CI | |
3 | ||
4 | if test -z $TRAVIS_BUILD_DIR; then | |
5 | TRAVIS_BUILD_DIR=$PWD | |
6 | fi | |
7 | ||
8 | cd $TRAVIS_BUILD_DIR | |
9 | ||
10 | TARGET=check | |
11 | ||
60a0bb67 TB |
12 | DEPS="libgmp-dev" |
13 | ||
95e67e8d MW |
14 | CFLAGS="-g -O2 -Wall -Wno-format -Wno-format-security -Wno-pointer-sign -Werror" |
15 | ||
d151cd28 TB |
16 | case "$TEST" in |
17 | default) | |
316aa4b4 TB |
18 | # should be the default, but lets make sure |
19 | CONFIG="--with-printf-hooks=glibc" | |
d151cd28 TB |
20 | ;; |
21 | openssl) | |
3986c1e3 | 22 | CONFIG="--disable-defaults --enable-pki --enable-openssl" |
60a0bb67 | 23 | DEPS="libssl-dev" |
d151cd28 TB |
24 | ;; |
25 | gcrypt) | |
3986c1e3 | 26 | CONFIG="--disable-defaults --enable-pki --enable-gcrypt --enable-pkcs1" |
60a0bb67 | 27 | DEPS="libgcrypt11-dev" |
d151cd28 | 28 | ;; |
316aa4b4 TB |
29 | printf-builtin) |
30 | CONFIG="--with-printf-hooks=builtin" | |
31 | ;; | |
d151cd28 TB |
32 | all) |
33 | CONFIG="--enable-all --disable-android-dns --disable-android-log | |
34 | --disable-dumm --disable-kernel-pfroute --disable-keychain | |
35 | --disable-lock-profiler --disable-maemo --disable-padlock | |
c2c2c639 | 36 | --disable-osx-attr --disable-tkm --disable-uci --disable-aikgen |
83f0c22a | 37 | --disable-systemd --disable-soup --disable-unwind-backtraces |
4732e29a | 38 | --disable-svc --disable-dbghelp-backtraces --disable-socket-win |
c572401b | 39 | --disable-kernel-wfp --disable-kernel-iph --disable-winhttp" |
54d143ca MW |
40 | if test "$MONOLITHIC" = "yes"; then |
41 | # Ubuntu 12.04 does not provide a proper -liptc pkg-config | |
42 | CONFIG="$CONFIG --disable-forecast --disable-connmark" | |
43 | fi | |
d151cd28 TB |
44 | # not enabled on the build server |
45 | CONFIG="$CONFIG --disable-af-alg" | |
d151cd28 TB |
46 | # TODO: enable? perhaps via coveralls.io (cpp-coveralls)? |
47 | CONFIG="$CONFIG --disable-coverage" | |
60a0bb67 TB |
48 | DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev |
49 | libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev | |
50 | libnm-glib-dev libnm-glib-vpn-dev libpcsclite-dev libpam0g-dev | |
75a84579 MW |
51 | binutils-dev libunwind7-dev libjson0-dev iptables-dev python-pip" |
52 | PYDEPS="pytest" | |
d151cd28 | 53 | ;; |
fd372e13 MW |
54 | win*) |
55 | CONFIG="--disable-defaults --enable-svc --enable-ikev2 | |
d930d184 MW |
56 | --enable-ikev1 --enable-static --enable-test-vectors --enable-nonce |
57 | --enable-constraints --enable-revocation --enable-pem --enable-pkcs1 | |
58 | --enable-pkcs8 --enable-x509 --enable-pubkey --enable-acert | |
59 | --enable-eap-tnc --enable-eap-ttls --enable-eap-identity | |
05a3f349 | 60 | --enable-updown --enable-ext-auth |
d930d184 MW |
61 | --enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation |
62 | --enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc | |
9b7a2188 | 63 | --enable-pki --enable-swanctl --enable-socket-win" |
d930d184 MW |
64 | # no make check for Windows binaries |
65 | TARGET= | |
66 | CFLAGS="$CFLAGS -mno-ms-bitfields" | |
fd372e13 MW |
67 | DEPS="gcc-mingw-w64-base mingw-w64-dev" |
68 | case "$TEST" in | |
69 | win64) | |
70 | CONFIG="--host=x86_64-w64-mingw32 $CONFIG" | |
71 | DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 $DEPS" | |
72 | CC="x86_64-w64-mingw32-gcc" | |
73 | ;; | |
74 | win32) | |
75 | CONFIG="--host=i686-w64-mingw32 $CONFIG" | |
76 | DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 $DEPS" | |
77 | CC="i686-w64-mingw32-gcc" | |
78 | ;; | |
79 | esac | |
d930d184 | 80 | ;; |
d151cd28 TB |
81 | dist) |
82 | TARGET=distcheck | |
83 | ;; | |
84 | *) | |
85 | echo "$0: unknown test $TEST" >&2 | |
86 | exit 1 | |
87 | ;; | |
88 | esac | |
89 | ||
60a0bb67 TB |
90 | if test "$1" = "deps"; then |
91 | sudo apt-get install -qq $DEPS | |
92 | exit $? | |
93 | fi | |
94 | ||
75a84579 MW |
95 | if test "$1" = "pydeps"; then |
96 | test -z "$PYDEPS" || sudo pip -q install $PYDEPS | |
97 | exit $? | |
98 | fi | |
99 | ||
d151cd28 TB |
100 | CONFIG="$CONFIG |
101 | --enable-silent-rules | |
102 | --enable-test-vectors | |
103 | --enable-monolithic=${MONOLITHIC-no} | |
104 | --enable-leak-detective=${LEAK_DETECTIVE-no}" | |
105 | ||
d930d184 MW |
106 | echo "$ CC="$CC" CFLAGS="$CFLAGS" ./configure $CONFIG && make $TARGET" |
107 | CC="$CC" CFLAGS="$CFLAGS" ./configure $CONFIG && make -j4 $TARGET |