xref: /netbsd-src/external/bsd/unbound/dist/contrib/ios/install_openssl.sh (revision d0eba39ba71d0ccd0f91ae4c5ff83442e84710bf)
1*d0eba39bSchristos#!/usr/bin/env bash
2*d0eba39bSchristos
3*d0eba39bSchristosecho "Downloading OpenSSL"
4*d0eba39bSchristosif ! curl -L -k -s -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz;
5*d0eba39bSchristosthen
6*d0eba39bSchristos    echo "Failed to download OpenSSL"
7*d0eba39bSchristos    exit 1
8*d0eba39bSchristosfi
9*d0eba39bSchristos
10*d0eba39bSchristosecho "Unpacking OpenSSL"
11*d0eba39bSchristosrm -rf ./openssl-1.1.1d
12*d0eba39bSchristosif ! tar -xf openssl-1.1.1d.tar.gz;
13*d0eba39bSchristosthen
14*d0eba39bSchristos    echo "Failed to unpack OpenSSL"
15*d0eba39bSchristos    exit 1
16*d0eba39bSchristosfi
17*d0eba39bSchristos
18*d0eba39bSchristoscd openssl-1.1.1d || exit 1
19*d0eba39bSchristos
20*d0eba39bSchristosif ! cp ../contrib/ios/15-ios.conf Configurations/; then
21*d0eba39bSchristos    echo "Failed to copy OpenSSL ios config"
22*d0eba39bSchristos    exit 1
23*d0eba39bSchristosfi
24*d0eba39bSchristos
25*d0eba39bSchristos# OpenSSL 1.1.1d patch. OK to remove once OpenSSL version is bumped.
26*d0eba39bSchristos# ocsp.c:947:23: error: 'fork' is unavailable: not available on tvOS and watchOS.
27*d0eba39bSchristos# Also see https://github.com/openssl/openssl/issues/7607.
28*d0eba39bSchristosif ! patch -u -p0 < ../contrib/ios/openssl.patch; then
29*d0eba39bSchristos    echo "Failed to patch OpenSSL"
30*d0eba39bSchristos    exit 1
31*d0eba39bSchristosfi
32*d0eba39bSchristos
33*d0eba39bSchristosecho "Configuring OpenSSL"
34*d0eba39bSchristosif ! ./Configure "$OPENSSL_HOST" -DNO_FORK no-comp no-asm no-hw no-engine no-tests no-unit-test \
35*d0eba39bSchristos       --prefix="$IOS_PREFIX" --openssldir="$IOS_PREFIX"; then
36*d0eba39bSchristos    echo "Failed to configure OpenSSL"
37*d0eba39bSchristos    exit 1
38*d0eba39bSchristosfi
39*d0eba39bSchristos
40*d0eba39bSchristosecho "Building OpenSSL"
41*d0eba39bSchristosif ! make; then
42*d0eba39bSchristos    echo "Failed to build OpenSSL"
43*d0eba39bSchristos    exit 1
44*d0eba39bSchristosfi
45*d0eba39bSchristos
46*d0eba39bSchristosecho "Installing OpenSSL"
47*d0eba39bSchristosif ! make install_sw; then
48*d0eba39bSchristos    echo "Failed to install OpenSSL"
49*d0eba39bSchristos    exit 1
50*d0eba39bSchristosfi
51*d0eba39bSchristos
52*d0eba39bSchristosexit 0
53