Commit Graph

335 Commits

Author SHA1 Message Date
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
Davide De Rosa 4b928744b7 Add WatchOS target to podspec 2019-09-26 09:53:13 +02:00
Davide De Rosa 039d71c2b3 Merge branch 'watchos-targets' 2019-09-26 09:40:46 +02:00
Davide De Rosa 78a70f645d Add WatchOS targets to build script
Squash commits by ezathashim <ezathashim@mac.com>
2019-09-26 09:39:59 +02:00
Davide De Rosa 9639db6200 Fix repository tag in podspec template 2019-02-23 22:47:05 +01:00
Davide De Rosa 25a33b749c Comply with semantic versioning syntax
1.0.2l-v2 -> 1.0.2l.2
2018-11-12 10:21:44 +01:00
Davide De Rosa 2a68f6aaca Update badges 2018-10-21 00:12:19 +02:00
Davide De Rosa a234d41c4a Merge branch 'drop-32bit' 2018-09-26 13:05:24 +02:00
Davide De Rosa 74513643eb Componentize podspec version 2018-09-26 13:05:14 +02:00
Davide De Rosa b5794412da Use progressive tags to avoid confusion
v2, v3, v4 ...
2018-09-26 13:04:58 +02:00
Davide De Rosa a6958f4c9b Default to 64-bit only
- Raise platform targets.
- Drop 32-bit OpenSSL targets.
- Default to 1.1.0
2018-09-26 13:04:51 +02:00
Davide De Rosa 221b6edb30 Upgrade podspec 2018-09-24 14:43:54 +02:00
Davide De Rosa 94297d1411 Merge branch 'bugfix/lock-cocoapods-to-gemfile' 2018-09-24 14:43:05 +02:00
Davide De Rosa a0e0ac8010 Lock gems (CocoaPods)
CocoaPods 1.5 is a little broken.
2018-09-24 14:02:44 +02:00
Davide De Rosa 068c72a895 Fix case in repository URL 2018-09-24 14:02:24 +02:00
Davide De Rosa bcd0a9c5fc Merge branch 'bugfix/xcode-10-min-sdk' 2018-09-24 14:01:58 +02:00
Davide De Rosa 27564e9c8d Gitignore lib directory 2018-09-24 14:01:41 +02:00
Davide De Rosa 2262160df5 Fix ld MIN_SDK for simulator targets
ld complains about mixing device and simulator objects in the
tvOS target. Reason is that "tvos_version_min" seems to imply a
device target, whereas simulator must use "tvos_simulator_version_min"
instead.

The stupid part of it is that ld displays a warning in iOS:

ld: warning: URGENT: -ios_version_min is invalid for architecture
x86/x86_64, inferring -ios_simulator_version_min. This will be an error
in the future.

whereas stops abruptly in tvOS:

ld: building for tvOS, but linking in object file built for tvOS
Simulator, file 'obj/a_d2i_fp.o' for architecture x86_64

ld should stop and avoid any poorly explained nonsense.
2018-09-24 13:59:07 +02:00
Davide De Rosa dbba12308a Drop i386, deprecated in Xcode 10 2018-09-24 13:59:07 +02:00
Davide De Rosa ef7a3e4654 Circumvent CocoaPods warning about source 2018-04-25 16:59:58 +02:00
Davide De Rosa 728467cdd4 Add OpenSSL double license 2018-03-26 19:00:11 +02:00
Davide De Rosa b19422e570 Add OpenSSL acknowledgement 2018-03-22 22:06:35 +01:00
Davide De Rosa 62c160c48e Merge branch 'feature/podspec' 2018-02-08 17:23:05 +01:00
Davide De Rosa a913058ee5 Add podspec template 2018-02-08 17:22:29 +01:00