@@ -11,11 +11,12 @@ FORMULA_DEPENDS=("openssl" "zlib" "brotli")
11
11
12
12
# Android to implementation 'com.android.ndk.thirdparty:curl:7.79.1-beta-1'
13
13
14
- VER=8.11 .0
15
- VER_D=8_11_0
16
- SHA1=9648c31756362343f1a0daba881e189d6fe8b4f4
14
+ VER=8.13 .0
15
+ VER_D=8_13_0
16
+ SHA1=" 07d4eae21a532e6b9736009bcb96140e6f03abc7 "
17
17
BUILD_ID=1
18
18
DEFINES=" "
19
+ USE_OPENSSL=ON
19
20
20
21
# tools for git use
21
22
GIT_URL=https://github.com/curl/curl
@@ -38,6 +39,9 @@ function download() {
38
39
fi
39
40
rm curl* .tar.gz
40
41
42
+ curl -LO https://curl.se/ca/cacert.pem
43
+ mv cacert.pem curl/cacert.pem
44
+
41
45
}
42
46
43
47
# prepare the build environment, executed inside the lib src dir
@@ -71,6 +75,9 @@ function prepare() {
71
75
fi
72
76
echo " prepared"
73
77
78
+
79
+
80
+
74
81
}
75
82
76
83
# executed inside the lib src dir
@@ -84,6 +91,8 @@ function build() {
84
91
export OPENSSL_PATH=$OF_LIBS_OPENSSL_ABS_PATH
85
92
fi
86
93
94
+ local CACERT_PATH=$( realpath ./cacert.pem)
95
+
87
96
if [ " $TYPE " == " vs" ]; then
88
97
export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH /lib/$TYPE /$PLATFORM
89
98
export OPENSSL_WINDOWS_PATH=$( cygpath -w ${OF_LIBS_OPENSSL_ABS_PATH} | sed " s/\\ \/\\\\\\\\ /g" )
@@ -114,14 +123,26 @@ function build() {
114
123
LIBBROTLI_ENC_LIB=" $LIBBROTLI_LIBRARY /brotlienc.lib"
115
124
LIBBROTLI_DEC_LIB=" $LIBBROTLI_LIBRARY /brotlidec.lib"
116
125
126
+ if [ " $USE_OPENSSL " == " ON" ]; then
127
+ OPENSSL_DEFS=" -DCURL_USE_OPENSSL=ON \
128
+ -DUSE_OPENSSL=ON \
129
+ -DCURL_CA_FALLBACK=ON \
130
+ -DCURL_CA_BUNDLE=$CACERT_PATH \
131
+ -DCURL_CA_EMBED=$CACERT_PATH "
132
+ CACERT_PATH=$( realpath " ${CACERT_PATH} " )
133
+ OPENSSL_DEFS=" ${OPENSSL_DEFS} -DCURL_CA_BUNDLE=${CACERT_PATH} -DCURL_CA_EMBED=${CACERT_PATH} "
134
+ else
135
+ OPENSSL_DEFS=" -DCURL_USE_OPENSSL=OFF -DUSE_OPENSSL=OFF -DCURL_USE_SCHANNEL=ON"
136
+ fi
137
+
117
138
export PKG_CONFIG_PATH=" /usr/local/lib/pkgconfig;${PKG_CONFIG_PATH} ;${OF_LIBS_OPENSSL} /lib/$TYPE /$PLATFORM ;${ZLIB_ROOT} /lib/$TYPE /$PLATFORM ;${LIBBROTLI_ROOT} /lib/$TYPE /$PLATFORM "
118
139
119
140
DEFS=" -DLIBRARY_SUFFIX=${ARCH} \
120
141
-DCMAKE_BUILD_TYPE=Release \
121
142
-DCMAKE_C_STANDARD=${C_STANDARD} \
122
143
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
123
144
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
124
- -DCMAKE_CXX_EXTENSIONS=OFF
145
+ -DCMAKE_CXX_EXTENSIONS=OFF \
125
146
-DBUILD_SHARED_LIBS=OFF \
126
147
-DCMAKE_INSTALL_PREFIX=Release \
127
148
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
@@ -140,11 +161,13 @@ function build() {
140
161
-DBUILD_STATIC_LIBS=ON \
141
162
-DBUILD_STATIC_CURL=ON \
142
163
-DCURL_STATICLIB=ON \
164
+ -DCURL_USE_LIBPSL=OFF \
143
165
-DBUILD_STATIC_LIBS=ON \
144
166
-DUSE_LIBIDN2=OFF \
145
167
-DENABLE_UNICODE=ON \
146
- -DCURL_USE_OPENSSL=ON \
168
+ ${OPENSSL_DEFS} \
147
169
-DUSE_SSLEAY=ON \
170
+ -DUSE_NGHTTP2=ON \
148
171
-DUSE_OPENSSL=ON \
149
172
-DCURL_USE_OPENSSL=ON \
150
173
-DCMAKE_INSTALL_LIBDIR=" lib" \
@@ -193,6 +216,7 @@ function build() {
193
216
-DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH} /include \
194
217
-DOPENSSL_CRYPTO_LIBRARY=${OPENSSL_LIBRARY_CRYPT} \
195
218
-DOPENSSL_SSL_LIBRARY=${OPENSSL_LIBRARY} \
219
+ -DCURL_CA_BUNDLE=$CACERT_PATH \
196
220
-DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH} /lib/${TYPE} /${PLATFORM} /libssl.a;${OF_LIBS_OPENSSL_ABS_PATH} /lib/${TYPE} /${PLATFORM} /libcrypto.a"
197
221
198
222
ZLIB_ROOT=" $LIBS_ROOT /zlib/"
@@ -205,7 +229,6 @@ function build() {
205
229
LIBBROTLI_LIBRARY=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlicommon.a"
206
230
LIBBROTLI_ENC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlienc.a"
207
231
LIBBROTLI_DEC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlidec.a"
208
-
209
232
export PKG_CONFIG_PATH=" /usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} :${OPENSSL_ROOT} /lib/$TYPE /$PLATFORM :${ZLIB_ROOT} /lib/$TYPE /$PLATFORM :${LIBBROTLI_ROOT} /lib/$TYPE /$PLATFORM "
210
233
211
234
echo " building curl $TYPE | $PLATFORM "
@@ -237,6 +260,7 @@ function build() {
237
260
-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
238
261
-DCURL_STATICLIB=ON \
239
262
-DBUILD_STATIC_LIBS=ON \
263
+ -DCURL_CA_FALLBACK=ON \
240
264
-DENABLE_UNICODE=ON \
241
265
-DCMAKE_BUILD_TYPE=Release \
242
266
-DCMAKE_INSTALL_PREFIX=Release \
@@ -263,9 +287,8 @@ function build() {
263
287
-DCURL_ENABLE_SSL=${CURL_ENABLE_SSL} \
264
288
-DUSE_SECURE_TRANSPORT=${USE_SECURE_TRANSPORT} \
265
289
-DCURL_USE_SECTRANSP=${USE_SECURE_TRANSPORT} \
266
- -DUSE_NGHTTP2=OFF \
290
+ -DUSE_NGHTTP2=ON \
267
291
-DCURL_DISABLE_POP3=ON \
268
- -DCURL_CA_FALLBACK=ON \
269
292
-DCURL_DISABLE_IMAP=ON \
270
293
-DENABLE_WEBSOCKETS=ON \
271
294
-DENABLE_UNIX_SOCKETS=ON \
@@ -307,18 +330,18 @@ function build() {
307
330
308
331
elif [[ " $TYPE " =~ ^(osx| ios| tvos| xros| catos| watchos)$ ]]; then
309
332
310
- if [[ ! " $TYPE " =~ ^(tvos| catos| watchos)$ ]]; then
311
- export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH /lib/$TYPE /$PLATFORM
312
- OPENSSL_ROOT=" $LIBS_ROOT /openssl/"
313
- OPENSSL_INCLUDE_DIR=" $LIBS_ROOT /openssl/include"
314
- OPENSSL_LIBRARY=" $LIBS_ROOT /openssl/lib/$TYPE /$PLATFORM /libssl.a"
315
- OPENSSL_LIBRARY_CRYPT=" $LIBS_ROOT /openssl/lib/$TYPE /$PLATFORM /libcrypto.a"
316
- USE_SECURE_TRANSPORT=OFF
317
- CURL_ENABLE_SSL=ON
318
- SSL_DEFS=" -DOPENSSL_ROOT_DIR=${OF_LIBS_OPENSSL_ABS_PATH} \
319
- -DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH} /include \
320
- -DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH} /lib/${TYPE} /${PLATFORM} /libssl.a:${OF_LIBS_OPENSSL_ABS_PATH} /lib/${TYPE} /${PLATFORM} /libcrypto.a"
321
- else
333
+ # if [[ ! "$TYPE" =~ ^(tvos|catos|watchos)$ ]]; then
334
+ # export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH/lib/$TYPE/$PLATFORM
335
+ # OPENSSL_ROOT="$LIBS_ROOT/openssl/"
336
+ # OPENSSL_INCLUDE_DIR="$LIBS_ROOT/openssl/include"
337
+ # OPENSSL_LIBRARY="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libssl.a"
338
+ # OPENSSL_LIBRARY_CRYPT="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libcrypto.a"
339
+ # USE_SECURE_TRANSPORT=OFF
340
+ # CURL_ENABLE_SSL=ON
341
+ # SSL_DEFS="-DOPENSSL_ROOT_DIR=${OF_LIBS_OPENSSL_ABS_PATH} \
342
+ # -DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH}/include \
343
+ # -DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libssl.a:${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libcrypto.a"
344
+ # else
322
345
# disabled for tvOS SSL
323
346
OPENSSL_ROOT=" $LIBS_ROOT "
324
347
OPENSSL_INCLUDE_DIR=" "
@@ -330,7 +353,7 @@ function build() {
330
353
CURL_ENABLE_SSL=OFF
331
354
SSL_DEFS=" "
332
355
333
- fi
356
+ # fi
334
357
335
358
ZLIB_ROOT=" $LIBS_ROOT /zlib/"
336
359
ZLIB_INCLUDE_DIR=" $LIBS_ROOT /zlib/include"
@@ -354,6 +377,7 @@ function build() {
354
377
-DCMAKE_C_STANDARD=${C_STANDARD} \
355
378
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
356
379
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
380
+ -DCURL_CA_BUNDLE=" $CACERT_PATH " \
357
381
-DCMAKE_CXX_FLAGS=" -DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
358
382
-DCMAKE_C_FLAGS=" -DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
359
383
-DENABLE_STRICT_TRY_COMPILE=ON \
@@ -397,7 +421,8 @@ function build() {
397
421
-DCMAKE_MACOSX_BUNDLE=OFF \
398
422
-DUSE_SECURE_TRANSPORT=${USE_SECURE_TRANSPORT} \
399
423
-DCURL_USE_SECTRANSP=${USE_SECURE_TRANSPORT} \
400
- -DUSE_NGHTTP2=OFF \
424
+ -DUSE_NGHTTP2=ON \
425
+ -DCURL_CA_FALLBACK=ON \
401
426
-DCURL_DISABLE_POP3=ON \
402
427
-DCURL_CA_FALLBACK=ON \
403
428
-DCURL_DISABLE_IMAP=ON \
0 commit comments