Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add OpenSSL build logic for remaining platforms
Except for QNX, which can live without TLS support for now.
- Loading branch information
Showing
2 changed files
with
220 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
## -*- mode: perl; -*- | ||
|
||
# | ||
# Based on https://github.com/keeshux/openssl-apple | ||
# | ||
|
||
my %targets = ( | ||
## Base settings for cross-compile | ||
# Based on 10-main.conf: iphoneos-cross | ||
# Add generic compiler flags | ||
# Add embed-bitcode option if SDK version is 9 or higher | ||
"apple-base" => { | ||
template => 1, | ||
cflags => combine('-isysroot $(CROSS_TOP)/SDKs/$(CROSS_SDK) -fno-common', | ||
sub { ((!defined($ENV{'CONFIG_DISABLE_BITCODE'}) || $ENV{'CONFIG_DISABLE_BITCODE'} ne 'true') && defined($ENV{'SDKVERSION'}) && $ENV{'SDKVERSION'} =~ /^(9|[1-9][0-9]+)\./ && $disabled{shared}) | ||
? '-fembed-bitcode' : (); }, | ||
), | ||
}, | ||
|
||
## Base settings for iOS | ||
"ios-cross-base" => { | ||
inherit_from => [ "apple-base" ], | ||
template => 1, | ||
cflags => add(sub { defined($ENV{'IOS_MIN_SDK_VERSION'}) ? '-mios-version-min=$(IOS_MIN_SDK_VERSION)' : '-mios-version-min=7.0'; }), | ||
}, | ||
|
||
## Base settings for tvOS | ||
# Defines to skip functionality that uses unsupported functions | ||
"tvos-cross-base" => { | ||
inherit_from => [ "apple-base" ], | ||
template => 1, | ||
cflags => add(sub { defined($ENV{'TVOS_MIN_SDK_VERSION'}) ? '-mtvos-version-min=$(TVOS_MIN_SDK_VERSION)' : '-mtvos-version-min=9.0'; }), | ||
defines => [ "HAVE_FORK=0" ], | ||
}, | ||
|
||
## Base settings for macOS | ||
"macos-base" => { | ||
inherit_from => [ "apple-base" ], | ||
template => 1, | ||
cflags => add(sub { defined($ENV{'MACOS_MIN_SDK_VERSION'}) ? '-mmacosx-version-min=$(MACOS_MIN_SDK_VERSION)' : '-mmacosx-version-min=10.11'; }), | ||
}, | ||
|
||
## Apple iOS simulator (x86_64) | ||
# Based on 10-main.conf: iphoneos-cross / darwin64-x86_64-cc | ||
"ios-sim-cross-x86_64" => { | ||
inherit_from => [ "darwin64-x86_64-cc", "ios-cross-base" ], | ||
sys_id => "iOS", | ||
}, | ||
|
||
## Apple iOS simulator (i386) | ||
# Based on 10-main.conf: iphoneos-cross / darwin-i386-cc | ||
"ios-sim-cross-i386" => { | ||
inherit_from => [ "darwin-i386-cc", "ios-cross-base" ], | ||
sys_id => "iOS", | ||
}, | ||
|
||
## Apple iOS (arm64) | ||
# Based on 10-main.conf: ios64-cross | ||
"ios64-cross-arm64" => { | ||
inherit_from => [ "darwin-common", "ios-cross-base", asm("aarch64_asm") ], | ||
cflags => add("-arch arm64"), | ||
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", | ||
perlasm_scheme => "ios64", | ||
sys_id => "iOS", | ||
}, | ||
|
||
## Apple iOS (armv7s) | ||
# Based on 10-main.conf: ios-cross | ||
"ios-cross-armv7s" => { | ||
inherit_from => [ "darwin-common", "ios-cross-base", asm("armv4_asm") ], | ||
cflags => add("-arch armv7s"), | ||
perlasm_scheme => "ios32", | ||
sys_id => "iOS", | ||
}, | ||
|
||
## Apple iOS (armv7) | ||
# Based on 10-main.conf: ios-cross | ||
"ios-cross-armv7" => { | ||
inherit_from => [ "darwin-common", "ios-cross-base", asm("armv4_asm") ], | ||
cflags => add("-arch armv7"), | ||
perlasm_scheme => "ios32", | ||
sys_id => "iOS", | ||
}, | ||
|
||
## Apple tvOS simulator (x86_64) | ||
# Based on 10-main.conf: iphoneos-cross / darwin64-x86_64-cc | ||
"tvos-sim-cross-x86_64" => { | ||
inherit_from => [ "darwin64-x86_64-cc", "tvos-cross-base" ], | ||
sys_id => "tvOS", | ||
}, | ||
|
||
## Apple tvOS (arm64) | ||
# Based on 10-main.conf: ios64-cross | ||
"tvos64-cross-arm64" => { | ||
inherit_from => [ "darwin-common", "tvos-cross-base", asm("aarch64_asm") ], | ||
cflags => add("-arch arm64"), | ||
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", | ||
perlasm_scheme => "ios64", | ||
sys_id => "tvOS", | ||
}, | ||
|
||
## Apple macOS (x86_64) | ||
"macos64-x86_64" => { | ||
inherit_from => [ "darwin64-x86_64-cc", "macos-base" ], | ||
sys_id => "macOS", | ||
}, | ||
|
||
## Apple macOS (i386) | ||
"macos-i386" => { | ||
inherit_from => [ "darwin-i386-cc", "macos-base" ], | ||
sys_id => "macOS", | ||
}, | ||
); |