1
1
#! /bin/bash
2
2
3
- # This script downlaods and builds the iOS and Mac openSSL libraries with Bitcode enabled
3
+ # This script downlaods and builds the iOS and Mac openSSL libraries without Bitcode enabled
4
4
5
5
# Credits:
6
6
# https://github.com/st3fan/ios-openssl
9
9
10
10
set -e
11
11
12
- SDK_VERSION=" 9 .0"
12
+ SDK_VERSION=" 18 .0"
13
13
MIN_SDK_VERSION=" 7.0"
14
14
15
15
OPENSSL_VERSION=" openssl-1.0.1j"
@@ -19,19 +19,24 @@ buildMac()
19
19
{
20
20
ARCH=$1
21
21
22
- echo " Building ${OPENSSL_VERSION} for ${ARCH} "
22
+ echo " Building ${OPENSSL_VERSION} for mac ${ARCH} "
23
23
24
24
TARGET=" darwin-i386-cc"
25
25
26
26
if [[ $ARCH == " x86_64" ]]; then
27
27
TARGET=" darwin64-x86_64-cc"
28
28
fi
29
29
30
- export CC=" ${BUILD_TOOLS} /usr/bin/clang -fembed-bitcode"
30
+ export CROSS_TOP=" ${DEVELOPER} /Platforms/MacOSX.platform/Developer"
31
+ export CROSS_SDK=" MacOSX.sdk"
32
+
33
+ export BUILD_TOOLS=" ${DEVELOPER} "
34
+ export CC=" ${BUILD_TOOLS} /Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
31
35
32
36
pushd . > /dev/null
33
37
cd " ${OPENSSL_VERSION} "
34
38
./Configure no-asm ${TARGET} --openssldir=" /tmp/${OPENSSL_VERSION} -${ARCH} " & > " /tmp/${OPENSSL_VERSION} -${ARCH} .log"
39
+ sed -ie " /^CFLAG=/s|$| -isysroot ${CROSS_TOP} /SDKs/${CROSS_SDK} |" " Makefile"
35
40
make >> " /tmp/${OPENSSL_VERSION} -${ARCH} .log" 2>&1
36
41
make install >> " /tmp/${OPENSSL_VERSION} -${ARCH} .log" 2>&1
37
42
make clean >> " /tmp/${OPENSSL_VERSION} -${ARCH} .log" 2>&1
@@ -49,14 +54,14 @@ buildIOS()
49
54
PLATFORM=" iPhoneSimulator"
50
55
else
51
56
PLATFORM=" iPhoneOS"
52
- sed -ie " s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" " crypto/ui/ui_openssl.c"
57
+ # sed -ie "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" "crypto/ui/ui_openssl.c"
53
58
fi
54
59
55
60
export $PLATFORM
56
61
export CROSS_TOP=" ${DEVELOPER} /Platforms/${PLATFORM} .platform/Developer"
57
62
export CROSS_SDK=" ${PLATFORM}${SDK_VERSION} .sdk"
58
63
export BUILD_TOOLS=" ${DEVELOPER} "
59
- export CC=" ${BUILD_TOOLS} /usr/bin/gcc -fembed-bitcode - arch ${ARCH} "
64
+ export CC=" ${BUILD_TOOLS} /usr/bin/gcc -arch ${ARCH} "
60
65
61
66
echo " Building ${OPENSSL_VERSION} for ${PLATFORM} ${SDK_VERSION} ${ARCH} "
62
67
@@ -90,28 +95,16 @@ rm -rf "/tmp/${OPENSSL_VERSION}-*.log"
90
95
rm -rf " ${OPENSSL_VERSION} "
91
96
92
97
if [ ! -e ${OPENSSL_VERSION} .tar.gz ]; then
93
- echo " Downloading ${OPENSSL_VERSION} .tar.gz"
94
- curl -O http://www.openssl.org/source/${OPENSSL_VERSION} .tar.gz
98
+ url=" https://github.com/openssl/openssl/releases/download/$( echo $OPENSSL_VERSION | sed ' s/[.-]/_/g' | sed ' s/openssl/OpenSSL/g' ) /${OPENSSL_VERSION} .tar.gz"
99
+ echo " Downloading ${OPENSSL_VERSION} .tar.gz from ${url} "
100
+ wget $url
95
101
else
96
102
echo " Using ${OPENSSL_VERSION} .tar.gz"
97
103
fi
98
104
99
105
echo " Unpacking openssl"
100
- tar xfz " ${OPENSSL_VERSION} .tar.gz"
101
-
102
- buildMac " x86_64"
106
+ tar xzf " ${OPENSSL_VERSION} .tar.gz"
103
107
104
- echo " Copying headers"
105
- cp /tmp/${OPENSSL_VERSION} -x86_64/include/openssl/* include-osx/openssl/
106
-
107
- echo " Building Mac libraries"
108
- lipo \
109
- " /tmp/${OPENSSL_VERSION} -x86_64/lib/libcrypto.a" \
110
- -create -output lib-osx/libcrypto.a
111
-
112
- lipo \
113
- " /tmp/${OPENSSL_VERSION} -x86_64/lib/libssl.a" \
114
- -create -output lib-osx/libssl.a
115
108
116
109
buildIOS " armv7"
117
110
buildIOS " arm64"
@@ -125,25 +118,31 @@ echo "Building iOS libraries"
125
118
lipo \
126
119
" /tmp/${OPENSSL_VERSION} -iOS-armv7/lib/libcrypto.a" \
127
120
" /tmp/${OPENSSL_VERSION} -iOS-i386/lib/libcrypto.a" \
121
+ " /tmp/${OPENSSL_VERSION} -iOS-arm64/lib/libcrypto.a" \
122
+ " /tmp/${OPENSSL_VERSION} -iOS-x86_64/lib/libcrypto.a" \
128
123
-create -output lib-ios/libcrypto.a
129
124
130
125
lipo \
131
126
" /tmp/${OPENSSL_VERSION} -iOS-armv7/lib/libssl.a" \
132
127
" /tmp/${OPENSSL_VERSION} -iOS-i386/lib/libssl.a" \
128
+ " /tmp/${OPENSSL_VERSION} -iOS-arm64/lib/libssl.a" \
129
+ " /tmp/${OPENSSL_VERSION} -iOS-x86_64/lib/libssl.a" \
133
130
-create -output lib-ios/libssl.a
134
131
135
- echo " Adding 64-bit libraries"
136
- lipo \
137
- " lib-ios/libcrypto.a" \
138
- " /tmp/${OPENSSL_VERSION} -iOS-arm64/lib/libcrypto.a" \
139
- " /tmp/${OPENSSL_VERSION} -iOS-x86_64/lib/libcrypto.a" \
140
- -create -output lib-ios/libcrypto.a
141
-
142
- lipo \
143
- " lib-ios/libssl.a" \
144
- " /tmp/${OPENSSL_VERSION} -iOS-arm64/lib/libssl.a" \
145
- " /tmp/${OPENSSL_VERSION} -iOS-x86_64/lib/libssl.a" \
146
- -create -output lib-ios/libssl.a
132
+
133
+ buildMac " x86_64"
134
+
135
+ echo " Copying headers"
136
+ cp /tmp/${OPENSSL_VERSION} -x86_64/include/openssl/* include-osx/openssl/
137
+
138
+ echo " Building Mac libraries"
139
+ lipo \
140
+ " /tmp/${OPENSSL_VERSION} -x86_64/lib/libcrypto.a" \
141
+ -create -output lib-osx/libcrypto.a
142
+
143
+ lipo \
144
+ " /tmp/${OPENSSL_VERSION} -x86_64/lib/libssl.a" \
145
+ -create -output lib-osx/libssl.a
147
146
148
147
echo " Cleaning up"
149
148
rm -rf /tmp/${OPENSSL_VERSION} -*
0 commit comments