Commit Graph

358 Commits

Author SHA1 Message Date
Davide De Rosa 0c61811aed Produce XCFramework from per-platform frameworks
1. Produce one framework per platform
2. Merge archs (lipo) into same platform framework
3. Assemble fat frameworks into XCFramework

For more information:

- https://github.com/balthisar/openssl-xcframeworks
- https://developer.apple.com/forums/thread/666335
2020-11-14 16:51:24 +01:00
Davide De Rosa 3f826877c1 Skip lipo -create for static libs
Can't merge same arch for multiple platforms (e.g. iPhone
Simulator arm64 and iOS arm64). Also not needed for frameworks
creation, which is the primary goal of the scripts.
2020-11-14 16:51:24 +01:00
Davide De Rosa 035c02ec02
Merge pull request #25 from keeshux/apple-silicon
Add new arm64 targets (Apple Silicon)
2020-11-14 16:50:53 +01:00
Davide De Rosa 2f5cdaf136 Clean up platforms
- Rename WatchOS platform to Watch
- Drop Apple Watch armv7k
- Use "MacOSX" sys_id in targets .conf
2020-11-14 15:42:00 +01:00
Davide De Rosa 8ad22a2b3e Update Demo 2020-11-13 22:14:25 +01:00
Davide De Rosa ca05f8c697 Update README with recent archs
Fixes #21
2020-11-13 00:56:27 +01:00
Davide De Rosa edeb296502 Bump podspec 2020-11-12 21:09:47 +01:00
Davide De Rosa dfbf5a0564 Omit ARM64 simulator until migration to XCFrameworks
Can't lipo arm64 slices for different platforms (iPhoneOS and
iPhoneSimulator).
2020-11-12 20:13:57 +01:00
Davide De Rosa 2f6f4f5d57 Update README 2020-11-12 20:13:24 +01:00
Davide De Rosa 340537f48e Bump podspec targets 2020-11-12 20:13:14 +01:00
Davide De Rosa 029e8ddeee Enable ARM64 assembler on Apple Silicon
https://github.com/openssl/openssl/pull/12369
2020-11-12 19:00:09 +01:00
Davide De Rosa 1cf972d36f Override min SDK for Apple Silicon
- iPhoneSimulator ARM64 = 13.0
- macOS ARM64 = 11.0

Would cause compiler warnings otherwise.
2020-11-12 19:00:09 +01:00
Davide De Rosa 2d7d115186 Add arm64 targets
- New Macs
- Catalyst
- iPhone Simulator
2020-11-12 19:00:09 +01:00
Davide De Rosa 2be1214e3b Strip and reorder targets
- Adjust target min SDKs to build script
- Split opensslconf suffix by platform
- Drop old i386 targets
2020-11-12 18:59:46 +01:00
Davide De Rosa 09dc3f6031 Add arm64e to podspec 2020-11-12 16:44:11 +01:00
Davide De Rosa 41e15eb577
Merge pull request #23 from keeshux/support-mac-catalyst
Add macOS Catalyst support
2020-11-12 16:43:46 +01:00
Davide De Rosa 506c071196 Add macOS Catalyst support
Backported from fork:

- https://github.com/balthisar/openssl-xcframeworks
2020-11-07 13:21:31 +01:00
Davide De Rosa 53c7af66e3 Bump default version to 1.1.1h 2020-11-07 13:21:04 +01:00
Davide De Rosa 184673f650 Drop support for OpenSSL 1.0.x 2020-11-07 00:21:11 +01:00
Davide De Rosa 3b61cfc72e Configure Demo for basic CI 2020-10-31 01:32:54 +01:00
Davide De Rosa fd2b41facc
Merge pull request #22 from AndreasVerhoeven/master
Adds support for WatchOS Simulator on Xcode 12 (x86_64)
2020-10-19 13:05:40 +02:00
Andreas Verhoeven 1f6e54a774 Removed debug echo 2020-10-14 17:09:26 +02:00
Andreas Verhoeven a8745f135e Adds support for WatchOS Simulator on Xcode 12 (x86_64) 2020-10-14 16:49:39 +02:00
Davide De Rosa 12b74f9064
Merge pull request #16 from ilammy/configure-min-sdk
Accurate version bookkeeping
2020-05-24 00:03:28 +02:00
Davide De Rosa 3d03ccc56a Normalize OpenSSL version for App Store 2020-05-12 12:40:37 +02:00
Davide De Rosa 5bea567b12
Merge pull request #17 from ilammy/macos-symlinks
Don’t symlink macOS framework if not building it
2020-05-09 17:57:11 +02:00
Alexei Lozovsky fb997dc62f Set OpenSSL version in CFBundleShortVersionString
Some vulnerability analysis tools look at this 'marketing version'
string to determine the version of OpenSSL library. Keep the actual
version there to make the tools happy. Otherwise they tend to treat
OpenSSL 1.0 to be massively vulnerable.

Since we don't have access to OPENSSL_VERSION from build-libssl.sh,
extract the version from OpenSSL header files.
2020-05-09 18:32:47 +03:00
Alexei Lozovsky 5d14c91074 Set accurate minimum SDK version in Info.plist
It is also necessary to set matching minimum SDK version in Info.plist
file of the frameworks. Extract the version and replace it in Info.plist
by pattern.
2020-05-09 18:26:27 +03:00
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
Alexei Lozovsky d577228bbd Make minimum SDK version configurable
In some use cases it's necessary to support older systems. Currently
minimum SDK versions are set to reasonable defaults, but there is no
easy way to override them.

Introduce a new set of command-line flags to set different minimum SDK
versions, similar to how it's possible to override the default target
SDK version:

    --min-macos-sdk
    --min-ios-sdk
    --min-tvos-sdk
    --min-watchos-sdk

Also, output the selected minimum SDK version along with the target one
on the configuration readout. It makes it easier to confirm that the
configuration is the one you expect.
2020-05-09 18:26:12 +03:00
Alexei Lozovsky 113509896b Don't symlink macOS framework if not building it
If we are not building macOS targets then the framework has not been
created and we not should go ahead with creating symlinks in it. Check
whether the framework directory is there, if it's not then don't attempt
to create symlinks.
2020-05-09 15:40:37 +03:00
Davide De Rosa a148510cab Update README accordingly 2020-05-08 21:24:35 +02:00
Davide De Rosa 7df037b599 Default to 1.1.1g 2020-04-21 21:46:13 +02:00
Davide De Rosa b152da304e Use minor version for macOS only
See 084a0cca75
2020-04-18 16:28:33 +02:00
Davide De Rosa 27579c2833 Update bundle 2020-04-18 16:14:27 +02:00
Davide De Rosa 9e16c2e8a6 Bump version 2020-04-18 16:12:31 +02:00
Davide De Rosa 1ff0936171 Default to OpenSSL 1.1.1f 2020-04-18 16:12:26 +02:00
Davide De Rosa 084a0cca75 Truncate SDK folder to minor version
Fixes #15
2020-04-18 14:58:40 +02:00
Davide De Rosa 7e774ecb47 Support arm64e
Credits to: https://github.com/x2on/OpenSSL-for-iPhone/pull/182
2020-03-01 22:55:21 +01:00
Davide De Rosa 1ffd32e815
Merge pull request #13 from keeshux/openssl-1.1.1
Upgrade to OpenSSL 1.1.1
2020-03-01 22:54:45 +01:00
Felix Schulze 2148236b16 Remove test while building openssl
Fixes fork() issue
2020-03-01 22:35:43 +01:00
Davide De Rosa 8f9c6d9520 Restrict podspec template to iOS/macOS 2019-11-01 21:04:39 +01:00
Davide De Rosa 5266e1f398 Fix configuration file for 1.1.1
Credits to: https://github.com/x2on/OpenSSL-for-iPhone/pull/170

Fixes #12
2019-11-01 16:31:02 +01:00
Davide De Rosa 1db1a8dc76 Bump version to 1.1.1 in scripts 2019-11-01 16:26:56 +01:00
Davide De Rosa 9d17aa197b Add watchOS badge in README 2019-11-01 16:24:14 +01:00
Davide De Rosa a71af96cb0 Update bundle
Was stuck to CocoaPods 1.4
2019-09-26 10:12:44 +02:00
Davide De Rosa 3c335e1bb8 Credit Ezat Hashim for WatchOS contributions 2019-09-26 10:09:55 +02:00
Davide De Rosa 388a9fe70f Update bundler 2019-09-26 09:56:00 +02:00
Davide De Rosa 5c57d33826 Bump podspec template version 2019-09-26 09:53:13 +02:00
Davide De Rosa c57fea7d24 Reproduce expected hierarchy for macOS frameworks 2019-09-26 09:53:13 +02:00