blob: 50fc3164f015f776b94305906575cf7898bc4fe4 (
plain)
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
|
#!/bin/bash
set -ev
which shellcheck > /dev/null && shellcheck "$0" # Run shellcheck on this if available
if [ "$BUILD_MODE" = "static" ]; then
CFG_FLAGS=(--disable-shared --via-amalgamation)
elif [ "$BUILD_MODE" = "shared" ]; then
CFG_FLAGS=()
elif [ "$BUILD_MODE" = "coverage" ]; then
CFG_FLAGS=(--with-coverage)
elif [ "$BUILD_MODE" = "sanitizer" ]; then
CFG_FLAGS=(--with-sanitizers)
fi
if [ "$MODULES" = "min" ]; then
CFG_FLAGS+=(--minimized-build --enable-modules=base)
fi
if [ "$BOOST" = "y" ]; then
CFG_FLAGS+=(--with-boost)
fi
# Workaround for missing update-alternatives
# https://github.com/travis-ci/travis-ci/issues/3668
if [ "$CXX" = "g++" ]; then
export CXX="/usr/bin/g++-4.8"
fi
# enable ccache
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
ccache --max-size=30M
ccache --show-stats
export CXX="ccache $CXX"
fi
# configure
if [ "$TARGETOS" = "ios32" ]; then
./configure.py "${CFG_FLAGS[@]}" --cpu=armv7 --cc=clang \
--cc-abi-flags="-arch armv7 -arch armv7s -stdlib=libc++" \
--prefix=/tmp/botan-installation
elif [ "$TARGETOS" = "ios64" ]; then
./configure.py "${CFG_FLAGS[@]}" --cpu=armv8-a --cc=clang \
--cc-abi-flags="-arch arm64 -stdlib=libc++" \
--prefix=/tmp/botan-installation
else
$CXX --version
./configure.py "${CFG_FLAGS[@]}" --cc="$CC" --cc-bin="$CXX" \
--with-bzip2 --with-lzma --with-openssl --with-sqlite --with-zlib \
--prefix=/tmp/botan-installation
fi
# build
if [ "${TARGETOS:0:3}" = "ios" ]; then
xcrun --sdk iphoneos make -j 2
else
make -j 2
fi
if [ "$MODULES" != "min" ] && [ "${TARGETOS:0:3}" != "ios" ]; then
./botan-test
fi
if [ "$MODULES" != "min" ] && [ "$BUILD_MODE" = "shared" ] && [ "$TARGETOS" = "native" ]
then
python2 --version
python3 --version
LD_LIBRARY_PATH=. python2 src/python/botan.py
LD_LIBRARY_PATH=. python3 src/python/botan.py
fi
make install
|