jasonacox / Build-OpenSSL-cURL

Scripts to build OpenSSL, HTTP/2 (nghttp2) and cURL (libcurl) for MacOS, iOS and tvOS devices (x86_64, armv7, armv7s, arm64, arm64e). Now Supporting Apple Silicon, OpenSSL 3.0.x with TLS 1.3 and Mac Catalyst builds.
MIT License
419 stars 125 forks source link

Add OpenSSL 3.0 support #63

Closed jasonacox closed 11 months ago

jasonacox commented 11 months ago

Closes #62

jasonacox commented 11 months ago

Build successful:

OPENSSL="3.0.9"     # https://www.openssl.org/source/ 
LIBCURL="8.1.2"     # https://curl.haxx.se/download.html
NGHTTP2="1.55.1"    # https://nghttp2.org/
  cURL
curl 8.1.2 (x86_64-apple-darwin) libcurl/8.1.2 OpenSSL/3.0.9 zlib/1.2.11 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 nghttp2/1.55.1
Release-Date: 2023-05-30
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets zstd

  OpenSSL
OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023)
Mon Jul 17 21:19:29 2023 - End

iOS Test Build Success

image image

Mac Catalyst Build Success

image image
jasonacox commented 11 months ago

Build Test Results:

jasonacox commented 11 months ago

Issue: When using the libraries built on a system that as a dynamic linked library for libidn2 (e.g. caused by brew install wget dependencies for example), the resulting framework will error when deploying to iOS targets (since the lib is not there).

Possible solutions:

Updating libcurl-build.sh to disable libidn2.