]>
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" |
29b73775 TB |
40 | if test "$LEAK_DETECTIVE" = "yes"; then |
41 | # libgcrypt can't be deinitialized | |
42 | CONFIG="$CONFIG --disable-gcrypt" | |
29b73775 | 43 | fi |
54d143ca MW |
44 | if test "$MONOLITHIC" = "yes"; then |
45 | # Ubuntu 12.04 does not provide a proper -liptc pkg-config | |
46 | CONFIG="$CONFIG --disable-forecast --disable-connmark" | |
47 | fi | |
d151cd28 TB |
48 | # not enabled on the build server |
49 | CONFIG="$CONFIG --disable-af-alg" | |
d151cd28 TB |
50 | # TODO: enable? perhaps via coveralls.io (cpp-coveralls)? |
51 | CONFIG="$CONFIG --disable-coverage" | |
60a0bb67 TB |
52 | DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev |
53 | libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev | |
54 | libnm-glib-dev libnm-glib-vpn-dev libpcsclite-dev libpam0g-dev | |
75a84579 MW |
55 | binutils-dev libunwind7-dev libjson0-dev iptables-dev python-pip" |
56 | PYDEPS="pytest" | |
d151cd28 | 57 | ;; |
fd372e13 MW |
58 | win*) |
59 | CONFIG="--disable-defaults --enable-svc --enable-ikev2 | |
d930d184 MW |
60 | --enable-ikev1 --enable-static --enable-test-vectors --enable-nonce |
61 | --enable-constraints --enable-revocation --enable-pem --enable-pkcs1 | |
62 | --enable-pkcs8 --enable-x509 --enable-pubkey --enable-acert | |
63 | --enable-eap-tnc --enable-eap-ttls --enable-eap-identity | |
05a3f349 | 64 | --enable-updown --enable-ext-auth |
d930d184 MW |
65 | --enable-tnccs-20 --enable-imc-attestation --enable-imv-attestation |
66 | --enable-imc-os --enable-imv-os --enable-tnc-imv --enable-tnc-imc | |
9b7a2188 | 67 | --enable-pki --enable-swanctl --enable-socket-win" |
d930d184 MW |
68 | # no make check for Windows binaries |
69 | TARGET= | |
70 | CFLAGS="$CFLAGS -mno-ms-bitfields" | |
fd372e13 MW |
71 | DEPS="gcc-mingw-w64-base mingw-w64-dev" |
72 | case "$TEST" in | |
73 | win64) | |
74 | CONFIG="--host=x86_64-w64-mingw32 $CONFIG" | |
75 | DEPS="gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 $DEPS" | |
76 | CC="x86_64-w64-mingw32-gcc" | |
77 | ;; | |
78 | win32) | |
79 | CONFIG="--host=i686-w64-mingw32 $CONFIG" | |
80 | DEPS="gcc-mingw-w64-i686 binutils-mingw-w64-i686 $DEPS" | |
81 | CC="i686-w64-mingw32-gcc" | |
82 | ;; | |
83 | esac | |
d930d184 | 84 | ;; |
d151cd28 TB |
85 | dist) |
86 | TARGET=distcheck | |
87 | ;; | |
88 | *) | |
89 | echo "$0: unknown test $TEST" >&2 | |
90 | exit 1 | |
91 | ;; | |
92 | esac | |
93 | ||
60a0bb67 TB |
94 | if test "$1" = "deps"; then |
95 | sudo apt-get install -qq $DEPS | |
96 | exit $? | |
97 | fi | |
98 | ||
75a84579 MW |
99 | if test "$1" = "pydeps"; then |
100 | test -z "$PYDEPS" || sudo pip -q install $PYDEPS | |
101 | exit $? | |
102 | fi | |
103 | ||
d151cd28 TB |
104 | CONFIG="$CONFIG |
105 | --enable-silent-rules | |
106 | --enable-test-vectors | |
107 | --enable-monolithic=${MONOLITHIC-no} | |
108 | --enable-leak-detective=${LEAK_DETECTIVE-no}" | |
109 | ||
d930d184 MW |
110 | echo "$ CC="$CC" CFLAGS="$CFLAGS" ./configure $CONFIG && make $TARGET" |
111 | CC="$CC" CFLAGS="$CFLAGS" ./configure $CONFIG && make -j4 $TARGET |