diff options
author | Andy Polyakov <appro@openssl.org> | 2018-06-03 20:47:54 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-06-08 16:34:24 +0200 |
commit | c8a56217f9e00430d4cf20b70246ee049f285da6 (patch) | |
tree | 672f4ae3a5ad2a4163c4bedb1049711548fa6526 /Configurations/15-ios.conf | |
parent | bbb02a5b6d27f76931c3385321b2c594781c7a1b (diff) |
Configurations/*.conf: ios targets face-lift.
Move ios targets to 15-ios.conf and modernize by deploying xcrun.
This excuses user from looking for paths and setting environment
variables. [Thanks to @0neday for hint.]
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6410)
Diffstat (limited to 'Configurations/15-ios.conf')
-rw-r--r-- | Configurations/15-ios.conf | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Configurations/15-ios.conf b/Configurations/15-ios.conf new file mode 100644 index 0000000000..aff909620f --- /dev/null +++ b/Configurations/15-ios.conf @@ -0,0 +1,64 @@ +#### iPhoneOS/iOS +# +# It takes recent enough XCode to use following two targets. It shouldn't +# be a problem by now, but if they don't work, original targets below +# that depend on manual definition of environment variables should still +# work... +# +my %targets = ( + "ios-xcrun" => { + inherit_from => [ "darwin-common", asm("armv4_asm") ], + # It should be possible to go below iOS 6 and even add -arch armv6, + # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant + # at this point. + CC => "xcrun -sdk iphoneos cc", + cflags => add("-arch armv7 -mios-version-min=6.0.0 -fno-common"), + sys_id => "iOS", + perlasm_scheme => "ios32", + disable => [ "engine" ], + }, + "ios64-xcrun" => { + inherit_from => [ "darwin-common", asm("aarch64_asm") ], + CC => "xcrun -sdk iphoneos cc", + cflags => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"), + sys_id => "iOS", + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + perlasm_scheme => "ios64", + disable => [ "engine" ], + }, + "iossimulator-xcrun" => { + inherit_from => [ "darwin-common" ], + CC => "xcrun -sdk iphonesimulator cc", + sys_id => "iOS", + disable => [ "engine" ], + }, +# It takes three prior-set environment variables to make it work: +# +# CROSS_COMPILE=/where/toolchain/is/usr/bin/ [note ending slash] +# CROSS_TOP=/where/SDKs/are +# CROSS_SDK=iPhoneOSx.y.sdk +# +# Exact paths vary with Xcode releases, but for couple of last ones +# they would look like this: +# +# CROSS_COMPILE=`xcode-select --print-path`/Toolchains/XcodeDefault.xctoolchain/usr/bin/ +# CROSS_TOP=`xcode-select --print-path`/Platforms/iPhoneOS.platform/Developer +# CROSS_SDK=iPhoneOS.sdk +# + "iphoneos-cross" => { + inherit_from => [ "darwin-common" ], + cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"), + sys_id => "iOS", + disable => [ "engine" ], + }, + "ios-cross" => { + inherit_from => [ "ios-xcrun" ], + CC => "cc", + cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK)"), + }, + "ios64-cross" => { + inherit_from => [ "ios64-xcrun" ], + CC => "cc", + cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK)"), + }, +); |