aboutsummaryrefslogtreecommitdiff
path: root/test/build_openssl.sh
blob: a5250d11c944e7b12ceb10e51419b05a05551d4e (plain) (blame)
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
#!/bin/bash
set -eux

if [ -d "${OPENSSL_DIR}" ]; then
    exit 0
fi

case "${LIBRARY}" in
"libressl")
    URL1="http://ftp3.usa.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz"
    URL2="http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${VERSION}.tar.gz"
    ;;
"openssl")
    URL1="https://openssl.org/source/openssl-${VERSION}.tar.gz"
    URL2="http://mirrors.ibiblio.org/openssl/source/openssl-${VERSION}.tar.gz"
    ;;
"")
    # using the vendored builds
    exit 0;
    ;;
esac

apt-get install -y --no-install-recommends curl

case "${TARGET}" in
"x86_64-unknown-linux-gnu")
    OS_COMPILER=linux-x86_64
    OS_FLAGS=""
    ;;
"i686-unknown-linux-gnu")
    OS_COMPILER=linux-elf
    OS_FLAGS=-m32
    ;;
"arm-unknown-linux-gnueabihf")
    OS_COMPILER=linux-armv4
    OS_FLAGS=""
    export AR=arm-linux-gnueabihf-ar
    export CC=arm-linux-gnueabihf-gcc
    ;;
esac

mkdir -p /tmp/build
cd /tmp/build

OUT=/tmp/openssl.tgz
MAX_REDIRECTS=5
curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} ${URL1} \
  || curl -o ${OUT} -L --max-redirs ${MAX_REDIRECTS} ${URL2}

tar --strip-components=1 -xzf ${OUT}

case "${LIBRARY}" in
"openssl")
    ./Configure --prefix=${OPENSSL_DIR} ${OS_COMPILER} -fPIC -g ${OS_FLAGS} no-shared
    ;;
"libressl")
    ./configure --prefix=${OPENSSL_DIR} --disable-shared --with-pic
    ;;
esac

make -j$(nproc)
make install_sw