Skip to content

Commit 45e8d7a

Browse files
authored
Merge pull request #63 from jasonacox/openssl-3
Add OpenSSL 3.0 support
2 parents 68f8c06 + 887e831 commit 45e8d7a

File tree

160 files changed

+17395
-7600
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+17395
-7600
lines changed

.github/workflows/build.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@ name: build
44

55
# Controls when the workflow will run
66
on:
7-
# Triggers the workflow on push or pull request
7+
# Triggers the workflow on push or pull request except for documentation changes
88
push:
9+
paths-ignore:
10+
- '**.md'
911
pull_request:
12+
paths-ignore:
13+
- '**.md'
1014

1115
# Allow from the Actions tab
1216
workflow_dispatch:

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"git.ignoreLimitWarning": true
2+
"git.ignoreLimitWarning": true,
3+
"cmake.configureOnOpen": false
34
}

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ The build script accepts several arguments to adjust versions and toggle feature
2121
```
2222
./build.sh [-o <OpenSSL version>] [-c <curl version>] [-n <nghttp2 version>] [-d] [-e] [-3] [-x] [-h] [...]
2323
24-
-o <version> Build OpenSSL version (default 1.1.1o)
25-
-c <version> Build curl version (default 7.83.1)
26-
-n <version> Build nghttp2 version (default 1.47.0)
24+
-o <version> Build OpenSSL version (default 3.0.9)
25+
-c <version> Build curl version (default 8.1.2)
26+
-n <version> Build nghttp2 version (default 1.55.1)
2727
-d Compile without HTTP2 support
2828
-e Compile with OpenSSL engine support
2929
-b Compile without bitcode
@@ -72,9 +72,9 @@ You can update the default version by editing this section in the `build.sh` scr
7272
# EDIT this section to Select Default Versions #
7373
################################################
7474

75-
OPENSSL="1.1.1o" # https://www.openssl.org/source/
76-
LIBCURL="7.83.1" # https://curl.haxx.se/download.html
77-
NGHTTP2="1.47.0" # https://nghttp2.org/
75+
OPENSSL="3.0.9" # https://www.openssl.org/source/
76+
LIBCURL="8.1.2" # https://curl.haxx.se/download.html
77+
NGHTTP2="1.55.1" # https://nghttp2.org/
7878

7979
################################################
8080
```

build.sh

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ set -e
1313
# EDIT this section to Select Default Versions #
1414
################################################
1515

16-
OPENSSL="1.1.1t" # https://www.openssl.org/source/
17-
LIBCURL="8.0.1" # https://curl.haxx.se/download.html
18-
NGHTTP2="1.52.0" # https://nghttp2.org/
16+
#OPENSSL="1.1.1u" # https://www.openssl.org/source/
17+
OPENSSL="3.0.9" # https://www.openssl.org/source/
18+
LIBCURL="8.1.2" # https://curl.haxx.se/download.html
19+
NGHTTP2="1.55.1" # https://nghttp2.org/
1920

2021
################################################
2122

@@ -26,7 +27,7 @@ BUILD_CMD=$*
2627
# Set minimum OS versions for target
2728
MACOS_X86_64_VERSION="" # Empty = use host version
2829
MACOS_ARM64_VERSION="" # Min supported is MacOS 11.0 Big Sur
29-
CATALYST_IOS="15.0" # Min supported is iOS 15.0 for Mac Catalyst
30+
CATALYST_IOS="15.0" # Min supported is iOS 15.0 for Mac Catalyst
3031
IOS_MIN_SDK_VERSION="8.0"
3132
TVOS_MIN_SDK_VERSION="9.0"
3233

@@ -168,6 +169,11 @@ echo "Targets: x86_64, armv7, armv7s, arm64 and arm64e"
168169
## Start Counter
169170
START=$(date +%s)
170171

172+
# Starting with OpenSSL 3.0 force nobitcode
173+
if [[ "$OPENSSL" = "3.0"* ]]; then
174+
disablebitcode="-b"
175+
fi
176+
171177
## OpenSSL Build
172178
echo
173179
cd openssl
@@ -402,17 +408,17 @@ lipo -create -output $ARCHIVE/bin/openssl /tmp/openssl-x86_64 /tmp/openssl-arm64
402408
mv /tmp/openssl-* $ARCHIVE/bin
403409
echo
404410
echo -e "${bold}Testing Universal Mac binaries for ${BUILD_MACHINE}...${dim}"
405-
echo " cURL"
411+
echo -e " ${bold}cURL${dim}"
406412
file $ARCHIVE/bin/curl
407413
$ARCHIVE/bin/curl -V
408-
echo " OpenSSL"
414+
echo -e " ${bold}OpenSSL${dim}"
409415
file $ARCHIVE/bin/openssl
410416
$ARCHIVE/bin/openssl version
411-
date "+%c - End"
412417

413418
## Done - Display Build Duration
414419
echo
415420
echo -e "${bold}Build Complete${dim}"
421+
date "+ %c - End"
416422
END=$(date +%s)
417423
secs=$(echo "$END - $START" | bc)
418424
printf ' Duration %02dh:%02dm:%02ds\n' $(($secs/3600)) $(($secs%3600/60)) $(($secs%60))

clean.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22
echo "Cleaning Build-OpenSSL-cURL"
3-
rm -fr curl/curl-* curl/include curl/lib openssl/openssl-1* openssl/openssl-ios* openssl/Mac openssl/iOS* openssl/tvOS* openssl/Catalyst nghttp2/nghttp2-1* nghttp2/Mac nghttp2/iOS* nghttp2/tvOS* nghttp2/lib nghttp2/Catalyst example/iOS\ Test\ App/build/* *.tgz *.pkg nghttp2/pkg-config* /tmp/curl /tmp/openssl /tmp/pkg_config
3+
rm -fr curl/curl-* curl/include curl/lib openssl/openssl-1* openssl/openssl-3* openssl/openssl-ios* openssl/Mac openssl/iOS* openssl/tvOS* openssl/Catalyst nghttp2/nghttp2-1* nghttp2/Mac nghttp2/iOS* nghttp2/tvOS* nghttp2/lib nghttp2/Catalyst example/iOS\ Test\ App/build/* *.tgz *.pkg nghttp2/pkg-config* /tmp/curl /tmp/openssl /tmp/pkg_config

0 commit comments

Comments
 (0)