aboutsummaryrefslogtreecommitdiff
path: root/Configurations
diff options
context:
space:
mode:
authorMouriNaruto <Mouri_Naruto@outlook.com>2019-05-12 05:10:58 +0800
committerMatt Caswell <matt@openssl.org>2019-06-10 10:22:36 +0100
commit5ded1ca6dade13e093086573f4cebe400bff9f4d (patch)
treec63ffbc195d9a2bc69b0a27e0ddb1f93ba09b034 /Configurations
parentb4d3f203da6210f148b2a0c7bf5a802b55ba0e65 (diff)
downloadopenssl-5ded1ca6dade13e093086573f4cebe400bff9f4d.zip
openssl-5ded1ca6dade13e093086573f4cebe400bff9f4d.tar.gz
openssl-5ded1ca6dade13e093086573f4cebe400bff9f4d.tar.bz2
Improve the Windows OneCore target support. (Add targets for building libraries for Windows Store apps.)
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8917)
Diffstat (limited to 'Configurations')
-rw-r--r--Configurations/10-main.conf8
-rw-r--r--Configurations/50-win-onecore.conf49
2 files changed, 53 insertions, 4 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 0cda720..52b23ce 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1273,7 +1273,7 @@ my %targets = (
},
"VC-WIN64I" => {
inherit_from => [ "VC-WIN64-common", asm("ia64_asm"),
- sub { $disabled{shared} ? () : "ia64_uplink" } ],
+ sub { $disabled{uplink} ? () : "ia64_uplink" } ],
AS => "ias",
ASFLAGS => "-d debug",
asoutflag => "-o ",
@@ -1285,7 +1285,7 @@ my %targets = (
},
"VC-WIN64A" => {
inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"),
- sub { $disabled{shared} ? () : "x86_64_uplink" } ],
+ sub { $disabled{uplink} ? () : "x86_64_uplink" } ],
AS => sub { vc_win64a_info()->{AS} },
ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} },
asoutflag => sub { vc_win64a_info()->{asoutflag} },
@@ -1298,7 +1298,7 @@ my %targets = (
},
"VC-WIN32" => {
inherit_from => [ "VC-noCE-common", asm("x86_asm"),
- sub { $disabled{shared} ? () : "uplink_common" } ],
+ sub { $disabled{uplink} ? () : "uplink_common" } ],
CFLAGS => add("/WX"),
AS => sub { vc_win32_info()->{AS} },
ASFLAGS => sub { vc_win32_info()->{ASFLAGS} },
@@ -1382,7 +1382,7 @@ my %targets = (
},
"mingw" => {
inherit_from => [ "mingw-common", asm("x86_asm"),
- sub { $disabled{shared} ? () : "x86_uplink" } ],
+ sub { $disabled{uplink} ? () : "x86_uplink" } ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")),
cflags => "-m32",
sys_id => "MINGW32",
diff --git a/Configurations/50-win-onecore.conf b/Configurations/50-win-onecore.conf
index 51cb381..2cc3928 100644
--- a/Configurations/50-win-onecore.conf
+++ b/Configurations/50-win-onecore.conf
@@ -61,4 +61,53 @@ my %targets = (
ex_libs => "onecore.lib",
multilib => "-arm64",
},
+
+ # Universal Windows Platform (UWP) App Support
+
+ # TODO
+ #
+ # The 'disable' attribute should have 'uplink'.
+ # however, these are checked in some 'inherit_from', which is processed
+ # very early, before the 'disable' attributes are seen.
+ # This is a problem that needs to be resolved in Configure first.
+ #
+ # But if you want to build library with Windows 10 Version 1809 SDK or
+ # earlier, the 'disable' attribute should also have 'asm'.
+
+ "VC-WIN32-UWP" => {
+ inherit_from => [ "VC-WIN32-ONECORE" ],
+ lflags => add("/APPCONTAINER"),
+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
+ "_WIN32_WINNT=0x0A00"),
+ dso_scheme => "",
+ disable => [ 'ui-console', 'stdio', 'async', 'uplink' ],
+ ex_libs => "WindowsApp.lib",
+ },
+ "VC-WIN64A-UWP" => {
+ inherit_from => [ "VC-WIN64A-ONECORE" ],
+ lflags => add("/APPCONTAINER"),
+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
+ "_WIN32_WINNT=0x0A00"),
+ dso_scheme => "",
+ disable => [ 'ui-console', 'stdio', 'async', 'uplink' ],
+ ex_libs => "WindowsApp.lib",
+ },
+ "VC-WIN32-ARM-UWP" => {
+ inherit_from => [ "VC-WIN32-ARM" ],
+ lflags => add("/APPCONTAINER"),
+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
+ "_WIN32_WINNT=0x0A00"),
+ dso_scheme => "",
+ disable => [ 'ui-console', 'stdio', 'async', 'uplink' ],
+ ex_libs => "WindowsApp.lib",
+ },
+ "VC-WIN64-ARM-UWP" => {
+ inherit_from => [ "VC-WIN64-ARM" ],
+ lflags => add("/APPCONTAINER"),
+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
+ "_WIN32_WINNT=0x0A00"),
+ dso_scheme => "",
+ disable => [ 'ui-console', 'stdio', 'async', 'uplink' ],
+ ex_libs => "WindowsApp.lib",
+ },
);