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