Improve the Windows OneCore target support#7729
Improve the Windows OneCore target support#7729MouriNaruto wants to merge 4 commits intoopenssl:OpenSSL_1_1_1-stablefrom Project-Nagisa:OpenSSL_1_1_1_WinRT-stable
Conversation
…ct-Nagisa/openssl-Microsoft into OpenSSL_1_1_1_WinRT-stable
|
@dot-asm I need your help. |
This is misdirected question, address the project. |
|
@dot-asm I have renamed the name of pull request because you say it is a misdirected question. Or I created a wrong pull request? How to do in the next? |
|
What @dot-asm means it that he doesn't want to be addressed directly, that you should address the project, i.e. @openssl. I've decided to take this on, but then I need your help to understand what you're trying to achieve. I have no idea what |
|
@levitte Thanks, I want to say sorry to @dot-asm after I read your reply. (I don't know what he said before because I am not good at English. I am really sorry. 😓)
I want to make the OpenSSL can build the static and dynamic libraries which the UWP store app can use it. In OpenSSL 1.0.2 era, I commit the similar thing to Microsoft's OpenSSL repo before. But when I found many people have done something in the offical OpenSSL repo, I want to add them to the offical instead of the Microsoft's because it can help more UWP app developers.
The Based on the Microsoft's branch, I only add some configurations to I add the More questions are welcome. Thank you. Mouri |
But... Mind you, I do understand that other apps that link with OpenSSL libraries may need I hope I'm not babbling helplessly. OneCore and UWP are new to me, and I'm trying to learn as I go. |
|
Here is the introduction of the UWP app.
All UWP apps without Desktop Bridge is running under a sandbox called AppContainer. We need to use the I am also an open source UWP app developer which need the OpenSSL library. I removed the OpenSSL library in my UWP app project because I want to make pull request to here first. More questions are welcome. Thank you. Mouri. |
|
@levitte Any news? |
|
Sorry, been distracted by other stuff... I'll run some tests now |
|
So I got quite a bit, but here's a showstopper I can't figure out: |
|
BTW, I did a few changes in addition to your stuff: diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 5cf345da0..e98ea6f92 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1290,7 +1290,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 ",
@@ -1302,7 +1302,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} },
@@ -1315,7 +1315,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} },
@@ -1378,7 +1378,7 @@ my %targets = (
#### MinGW
"mingw" => {
inherit_from => [ "BASE_unix", asm("x86_asm"),
- sub { $disabled{shared} ? () : "x86_uplink" } ],
+ sub { $disabled{uplink} ? () : "x86_uplink" } ],
CC => "gcc",
CFLAGS => picker(default => "-Wall",
debug => "-g -O0",
diff --git a/Configurations/50-win-onecore.conf b/Configurations/50-win-onecore.conf
index b6291a558..606be55db 100644
--- a/Configurations/50-win-onecore.conf
+++ b/Configurations/50-win-onecore.conf
@@ -71,6 +71,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN64A-UWP" => {
@@ -80,6 +81,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN32-ARM-UWP" => {
@@ -89,6 +91,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN64-ARM-UWP" => {
@@ -98,6 +101,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
);
d+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN64A-UWP" => {
@@ -80,6 +81,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN32-ARM-UWP" => {
@@ -89,6 +91,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
"VC-WIN64-ARM-UWP" => {
@@ -98,6 +101,7 @@ my %targets = (
lflags => add("/APPCONTAINER"),
defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP",
"_WIN32_WINNT=0x0A00"),
+ disable => [ 'dso', 'ui-console', 'stdio', 'async' ],
ex_libs => "WindowsApp.lib",
},
);
diff --git a/Configure b/Configure
index d5dc36c28..f9cf4f524 100755
--- a/Configure
+++ b/Configure
@@ -409,6 +409,7 @@ my @disablables = (
"ubsan",
"ui-console",
"unit-test",
+ "uplink",
"whirlpool",
"weak-ssl-ciphers",
"zlib",
@@ -482,7 +483,7 @@ my @disable_cascades = (
# Without position independent code, there can be no shared libraries or DSOs
"pic" => [ "shared" ],
- "shared" => [ "dynamic-engine" ],
+ "shared" => [ "dynamic-engine", "uplink" ],
"engine" => [ "afalgeng", "devcryptoeng" ],
# no-autoalginit is only useful when building non-shared |
|
With that change, I configured like this: |
|
@levitte It's excellent! Thanks. But I have some questions.
I also hope you will forgive my ignorance, thanks. Mouri. |
|
|
Note btw that I'm on vacation starting tomorrow and will be away for two weeks. In all likelyhood, this won't be done today, so we will just have to continue after I get back |
|
@levitte Got it. Have a nice vocation!
It may be necessary. I read the "https://wiki.openssl.org/index.php/Compilation_and_Installation" and have found "no-hw | Disables hardware support (useful on mobile devices)". You may know the developer can make their UWP apps running on the mobile phones. And I also read the compile scripts in the Microsoft's OpenSSL branch and I found they have used the "no-hw" options. (https://github.com/Microsoft/openssl/blob/a033d72bdb8cc465594a8061eea369cacc6b7027/ms/do_vsprojects15.bat#L53) Mouri |
|
Adding |
|
@levitte Any news? |
|
@levitte How's it going? |
|
|
|
Could it be that with |
|
@levitte Yes, I don't want to disable all ENGINE modules. But can this project compile successfully without this option? I don‘t know. In short, it will be fine if it compiles successfully without it. Finally, I would like to know if OpenSSL will determine the hardware instruction support at run time. Thank you. Mouri |
Yup, and that's completely unrelated to |
|
@levitte Got it. It's your turn to do now. (Thank you very much.) Mouri. |
|
I forgot to ask, which thing I should do which can help you next? Thanks. |
|
I close the PR because it is not responding. If someone want to merge them, tell me to reopen. Thanks. |
|
I reopen the PR because I still want to make this PR to be merged. But the process of OpenSSL Team is too slow to wait. (sad) Mouri |
|
Where I can find your modify branch? @levitte |
|
Pardon, I've been distracted by a gazillion other OpenSSL stuff... |
|
Hi @levitte how is this going? Fixing this is blocking fixing microsoft/vcpkg#4267. I would appreciate your help. thank you in advance |
|
@levitte sorry to bother you again about this. Do you have plans to work on this? |
|
Closed because of #8917. |
It is my first time to make a pull request to OpenSSL. So I need some help.
Thanks.
Mouri_Naruto