Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upInvestigate UWP support #22729
Investigate UWP support #22729
Comments
|
The WACK complains about failing the AppContainer and DBCheck checks: |
|
Running the vcvars batch scripts with a set __VCVARS_APP_DIR=
if /I "%VSCMD_ARG_APP_PLAT%" == "UWP" (
set __VCVARS_APP_DIR=store
) else if /I "%VSCMD_ARG_APP_PLAT%" == "OneCore" (
set __VCVARS_APP_DIR=onecore
)
@REM Windows 10 SDK only past this point
if /I "%VSCMD_ARG_APP_PLAT%"=="UWP" (
call :add_to_libpath_optional "%ExtensionSDKDir%\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral"
)@REM Windows 10 SDK only past this point
if /I "%VSCMD_ARG_APP_PLAT%"=="UWP" (
call :add_to_lib_optional "%VCToolsInstallDir%lib%__VCVARS_LIB_DIR%\store\" "%__VCVARS_VC_LIB_STORE_OVERRIDE%"
call :add_to_libpath_optional "%ExtensionSDKDir%\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral" "%__VCVARS_NO_OVERRIDE%"
) |
|
We will need to provide the Code Generation capability to support the spidermonkey JIT: https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations |
|
The |
|
A bunch of c++ istream/ostream code is present in mozangle and shows up in the WACK forbidden symbols. We might need to make a separate ANGLE crate that wraps https://github.com/Microsoft/angle/ instead for the UWP build. |
|
One of the gstreamer dependencies in this list is libwinpthreads-1.dll, which the WACK complains about. According to our gstreamer friends:
|
|
Latest WACK report using the UWP compiler target: https://www.joshmatthews.net/wack.html |
|
backtrace-rs relies on dbghelp.dll which appears to be largely forbidden:
libEGL in mozangle also links with the dbghelp library. |
|
Old versions of rand (0.4, 0.5) look like they are the cause of:
0.4 affects hashglobe, servo_rand, tempfile, and ws. 0.5 affects phf_generator, tokio-threadpool, and uuid. |
|
mozjs has a static link directive with Dbghelp and uses it in mozjs/mozglue/build/cygprofile.cpp. mozjs/mozglue/misc/StackWalk.cpp also uses imagehelp.dll methods like StackWalk64, which weren't supported in 2016 (https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/703260). |
|
nspr calls a bunch of unsupported methods. Luckily, we can remove it entirely from the spidermonkey build on all platforms: servo/mozjs#185 |
|
All references to linking opengl32.lib need to be removed: paulrouget/winapi-rs@e3aaa6c |
|
The OpenSSL DLLs are responsible for a bunch of forbidden API usage. I'm keeping an eye on microsoft/vcpkg#4267 which should bring up a version that supports UWP (openssl/openssl#8917). |
|
The forbidden clipboard functions will disappear from the WACK report once #23440 is fixed. |
These may come from std::chrono (reference)? There is usage of that in mozjs in the WASM code. |
|
I wonder to provide you some interesting infomaton. (The talk between the maintainer from Microsoft/OpenSSL and me.)
For more informaton, please read microsoft/openssl#59 Kenji Mouri |
|
Also, I wonder to provide a way to bypass the WACK check. Here is an example. My friend use it in his UWP and publish to the Microsoft Store. Also, I think maybe we can use some undocument way to get the kernel32.dll's HMOUDLE handle. (For example, the PEB stucture.) Kenji Mouri |
|
Yes, I have been following all of the openssl issues with great interest. Thank you for continuing to work on that :) |
|
This is a new issue which opened by myself for the next step UWP support in OpenSSL. Kenji Mouri |
|
Need to see if we're using a version of mio that is uwp-compatible: tokio-rs/mio#912 |
|
I think we can call these investigations resolved, since we're building UWP app nightlies on CI. |
I'll collect any resources that might be helpful here.