A script for compiling OpenSSL for Apple Devices.
Go to file
Alexei Lozovsky 54315154fb Set accurate minimum SDK version in dylibs
We should set accurate minimum SDK version in produced dylibs. Otherwise
the individual versions of object files are ignored and we end up with
a file that may have higher minimum SDK version than requested.

Since here we don't have access to *_MIN_SDK_VERSION variables set in
build-libssl.sh, retrieve the minimum SDK version from the object files.
This give accurate information. Parse "otool -l" output for that. It's
more or less simple, once you account for peculiarities.
2020-05-09 18:26:18 +03:00
assets Add WatchOS targets to build script 2019-09-26 09:39:59 +02:00
config Support arm64e 2020-03-01 22:55:21 +01:00
include Add WatchOS targets to build script 2019-09-26 09:39:59 +02:00
scripts Add WatchOS targets to build script 2019-09-26 09:39:59 +02:00
.gitignore Gitignore lib directory 2018-09-24 14:01:41 +02:00
Gemfile Update bundle 2019-09-26 10:12:44 +02:00
Gemfile.lock Update bundle 2020-04-18 16:14:27 +02:00
LICENSE Add WatchOS targets to build script 2019-09-26 09:39:59 +02:00
OPENSSL-LICENSE Add WatchOS targets to build script 2019-09-26 09:39:59 +02:00
OpenSSL-Apple.podspec.template Bump version 2020-04-18 16:12:31 +02:00
README.md Default to OpenSSL 1.1.1f 2020-04-18 16:12:26 +02:00
build-libssl.sh Make minimum SDK version configurable 2020-05-09 18:26:12 +03:00
create-openssl-framework.sh Set accurate minimum SDK version in dylibs 2020-05-09 18:26:18 +03:00

README.md

OpenSSL-Apple

iOS support tvOS support macOS support watchOS support OpenSSL version OpenSSL version license

This is a fork of the popular work by Felix Schulze, that is a set of scripts for using self-compiled builds of the OpenSSL library on the iPhone and the Apple TV.

However, this repository focuses more on framework-based setups and also adds macOS and watchOS support.

Compile library

Compile OpenSSL 1.0.2k for all archs:

./build-libssl.sh --version=1.0.2k

Compile OpenSSL 1.1.1f for all targets:

./build-libssl.sh --version=1.1.1f

Compile OpenSSL 1.0.2k for specific archs:

./build-libssl.sh --version=1.0.2k --archs="ios_armv7 ios_arm64 mac_i386"

Compile OpenSSL 1.1.1f for specific targets:

./build-libssl.sh --version=1.1.1f --targets="ios-cross-armv7 macos64-x86_64"

For all options see:

./build-libssl.sh --help

Generate frameworks

Statically linked:

./create-openssl-framework.sh static

Dynamically linked:

./create-openssl-framework.sh dynamic

Original project

Acknowledgements

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/)