Sfoglia il codice sorgente

win-onecore: Build with /APPCONTAINER for UWP compat

When targeting the win-onecore configuration, we must link with
/APPCONTAINER which is a requirement for submitting apps to the
Windows Store.

Without this, the Windows App Certificate Kit will reject the app:
https://docs.microsoft.com/en-us/cpp/build/reference/appcontainer-windows-store-app

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12400)
Nirbheek Chauhan 4 anni fa
parent
commit
2c61a670eb
1 ha cambiato i file con 5 aggiunte e 4 eliminazioni
  1. 5 4
      Configurations/50-win-onecore.conf

+ 5 - 4
Configurations/50-win-onecore.conf

@@ -36,13 +36,14 @@ my %targets = (
         # /NODEFAULTLIB:kernel32.lib is needed, because MSVCRT.LIB has
         # hidden reference to kernel32.lib, but we don't actually want
         # it in "onecore" build.
-        lflags          => add("/NODEFAULTLIB:kernel32.lib"),
+        # /APPCONTAINER is needed for Universal Windows Platform compat
+        lflags          => add("/NODEFAULTLIB:kernel32.lib /APPCONTAINER"),
         defines         => add("OPENSSL_SYS_WIN_CORE"),
         ex_libs         => "onecore.lib",
     },
     "VC-WIN64A-ONECORE" => {
         inherit_from    => [ "VC-WIN64A" ],
-        lflags          => add("/NODEFAULTLIB:kernel32.lib"),
+        lflags          => add("/NODEFAULTLIB:kernel32.lib /APPCONTAINER"),
         defines         => add("OPENSSL_SYS_WIN_CORE"),
         ex_libs         => "onecore.lib",
     },
@@ -68,7 +69,7 @@ my %targets = (
         defines         => add("_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE",
                                "OPENSSL_SYS_WIN_CORE"),
         bn_ops          => "BN_LLONG RC4_CHAR",
-        lflags          => add("/NODEFAULTLIB:kernel32.lib"),
+        lflags          => add("/NODEFAULTLIB:kernel32.lib /APPCONTAINER"),
         ex_libs         => "onecore.lib",
         multilib        => "-arm",
     },
@@ -77,7 +78,7 @@ my %targets = (
         defines         => add("_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE",
                                "OPENSSL_SYS_WIN_CORE"),
         bn_ops          => "SIXTY_FOUR_BIT RC4_CHAR",
-        lflags          => add("/NODEFAULTLIB:kernel32.lib"),
+        lflags          => add("/NODEFAULTLIB:kernel32.lib /APPCONTAINER"),
         ex_libs         => "onecore.lib",
         multilib        => "-arm64",
     },