Re: [Mingw-w64-public] [PATCH 0/5] Update windowsapp to match the one in 20H1
Also, VLC (and all its contribs) builds with the 19H1 patch (ie without the 20H1) as well. Our current minimum for UWP is 19H1 which brought enough allowed API's to replace what we used in winstorecompat. On 2023-06-26 15:44, Steve Lhomme wrote: BTW I tested this on VLC build and it all links fine (once the Rtl functions are added). On 2023-06-26 15:31, Steve Lhomme wrote: windowsapp.lib and the target DLL for each API entry keeps evolving. So far the files and entries were mostly added manually when needed. This patchset creates the actual equivalent to what is found in windowsapp.lib. The previous mass edits were generated from a WACK to .def tool. This time instead of the WACK that is permitting more functions to define multiple times it's exactly the same DLL that windowsapp.lib uses and not multiple ones. A few Rtl function not found in windowsapp.lib were added because they are needed by libunwind. They are allowed by the WACK and found in that DLL on my system. But for some reason they are not in windowsapp.lib... There are a lot of inconsistencies between the WACK, windowsapp.lib, the windowsapp documentation [1] and the function documentation. The most restrictive is the windowsapp.lib. If a function is not in there, it should not link when building for UWP (we are lacking onecore.lib and onecoreuap.lib). So we should not allow the linking either in mingw-w64. [1] https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-apis Steve Lhomme (5): crt: don't generate libgamemode.a for windowsapp crt: order libs alphabetically in windowsapp crt: move some Rtl functions to rtlsupport-l1-1-0 crt: update windowsapp to the 18362/19H1 SDK crt: update windowsapp to the 19041/20H1 SDK mingw-w64-crt/Makefile.am | 168 +++--- .../api-ms-win-appmodel-runtime-l1-1-1.def | 20 --- .../api-ms-win-appmodel-runtime-l1-1-2.def | 12 ++ .../api-ms-win-appmodel-runtime-l1-1-3.def | 9 + .../api-ms-win-core-atoms-l1-1-0.def | 11 ++ .../lib-common/api-ms-win-core-com-l1-1-1.def | 53 -- .../api-ms-win-core-comm-l1-1-1.def | 18 -- .../api-ms-win-core-comm-l1-1-2.def | 19 -- .../api-ms-win-core-console-l1-1-0.def | 1 - .../api-ms-win-core-console-l1-2-0.def | 13 -- .../api-ms-win-core-console-l2-1-0.def | 5 - .../api-ms-win-core-console-l2-2-0.def | 33 .../api-ms-win-core-datetime-l1-1-1.def | 4 - .../api-ms-win-core-datetime-l1-1-2.def | 6 - .../api-ms-win-core-debug-l1-1-1.def | 4 - .../api-ms-win-core-delayload-l1-1-0.def | 5 + .../api-ms-win-core-delayload-l1-1-1.def | 1 - .../api-ms-win-core-errorhandling-l1-1-1.def | 7 - .../api-ms-win-core-errorhandling-l1-1-2.def | 5 + .../api-ms-win-core-errorhandling-l1-1-3.def | 10 -- .../api-ms-win-core-featurestaging-l1-1-1.def | 5 - .../api-ms-win-core-fibers-l1-1-0.def | 8 + .../api-ms-win-core-fibers-l1-1-1.def | 4 - .../api-ms-win-core-fibers-l2-1-0.def | 7 + .../api-ms-win-core-fibers-l2-1-1.def | 3 - .../api-ms-win-core-file-l1-1-0.def | 1 - .../api-ms-win-core-file-l1-2-0.def | 73 .../api-ms-win-core-file-l1-2-1.def | 81 - .../api-ms-win-core-file-l1-2-2.def | 77 .../api-ms-win-core-file-l2-1-1.def | 15 -- .../api-ms-win-core-file-l2-1-2.def | 11 -- .../api-ms-win-core-heap-l1-1-0.def | 1 - .../api-ms-win-core-heap-l1-2-0.def | 19 -- .../api-ms-win-core-heap-obsolete-l1-1-0.def | 5 - .../api-ms-win-core-interlocked-l1-1-0.def | 6 + .../api-ms-win-core-interlocked-l1-2-0.def | 5 - .../lib-common/api-ms-win-core-io-l1-1-1.def | 7 - .../lib-common/api-ms-win-core-job-l2-1-0.def | 7 + ...api-ms-win-core-kernel32-legacy-l1-1-0.def | 15 -- ...api-ms-win-core-kernel32-legacy-l1-1-1.def | 35 ...api-ms-win-core-kernel32-legacy-l1-1-2.def | 8 + ...api-ms-win-core-kernel32-legacy-l1-1-5.def | 5 + .../api-ms-win-core-libraryloader-l1-2-1.def | 23 --- .../api-ms-win-core-libraryloader-l1-2-2.def | 5 + .../api-ms-win-core-localization-l1-2-1.def | 58 -- .../api-ms-win-core-localization-l1-2-2.def | 59 -- ...-win-core-localization-obsolete-l1-2-0.def | 2 - .../api-ms-win-core-memory-l1-1-1.def | 16 -- .../api-ms-win-core-memory-l1-1-2.def | 26 --- .../api-ms-win-core-memory-l1-1-3.def | 29 --- .../api-ms-win-core-memory-l1-1-5.def | 33 .../api-ms-win-core-memory-l1-1-6.def | 35 .../api-ms-win-core-memory-l1-1-7.def | 37 .../api-ms-win-core-namedpipe-ansi-l1-1-1.def | 3 - .../api-ms-win-core-namedpipe-l1-2-1.def | 10 -- .../api-ms-win-core-namedpipe-l1-2-2.def | 12 --
Re: [Mingw-w64-public] [PATCH 0/5] Update windowsapp to match the one in 20H1
BTW I tested this on VLC build and it all links fine (once the Rtl functions are added). On 2023-06-26 15:31, Steve Lhomme wrote: windowsapp.lib and the target DLL for each API entry keeps evolving. So far the files and entries were mostly added manually when needed. This patchset creates the actual equivalent to what is found in windowsapp.lib. The previous mass edits were generated from a WACK to .def tool. This time instead of the WACK that is permitting more functions to define multiple times it's exactly the same DLL that windowsapp.lib uses and not multiple ones. A few Rtl function not found in windowsapp.lib were added because they are needed by libunwind. They are allowed by the WACK and found in that DLL on my system. But for some reason they are not in windowsapp.lib... There are a lot of inconsistencies between the WACK, windowsapp.lib, the windowsapp documentation [1] and the function documentation. The most restrictive is the windowsapp.lib. If a function is not in there, it should not link when building for UWP (we are lacking onecore.lib and onecoreuap.lib). So we should not allow the linking either in mingw-w64. [1] https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-apis Steve Lhomme (5): crt: don't generate libgamemode.a for windowsapp crt: order libs alphabetically in windowsapp crt: move some Rtl functions to rtlsupport-l1-1-0 crt: update windowsapp to the 18362/19H1 SDK crt: update windowsapp to the 19041/20H1 SDK mingw-w64-crt/Makefile.am | 168 +++--- .../api-ms-win-appmodel-runtime-l1-1-1.def| 20 --- .../api-ms-win-appmodel-runtime-l1-1-2.def| 12 ++ .../api-ms-win-appmodel-runtime-l1-1-3.def| 9 + .../api-ms-win-core-atoms-l1-1-0.def | 11 ++ .../lib-common/api-ms-win-core-com-l1-1-1.def | 53 -- .../api-ms-win-core-comm-l1-1-1.def | 18 -- .../api-ms-win-core-comm-l1-1-2.def | 19 -- .../api-ms-win-core-console-l1-1-0.def| 1 - .../api-ms-win-core-console-l1-2-0.def| 13 -- .../api-ms-win-core-console-l2-1-0.def| 5 - .../api-ms-win-core-console-l2-2-0.def| 33 .../api-ms-win-core-datetime-l1-1-1.def | 4 - .../api-ms-win-core-datetime-l1-1-2.def | 6 - .../api-ms-win-core-debug-l1-1-1.def | 4 - .../api-ms-win-core-delayload-l1-1-0.def | 5 + .../api-ms-win-core-delayload-l1-1-1.def | 1 - .../api-ms-win-core-errorhandling-l1-1-1.def | 7 - .../api-ms-win-core-errorhandling-l1-1-2.def | 5 + .../api-ms-win-core-errorhandling-l1-1-3.def | 10 -- .../api-ms-win-core-featurestaging-l1-1-1.def | 5 - .../api-ms-win-core-fibers-l1-1-0.def | 8 + .../api-ms-win-core-fibers-l1-1-1.def | 4 - .../api-ms-win-core-fibers-l2-1-0.def | 7 + .../api-ms-win-core-fibers-l2-1-1.def | 3 - .../api-ms-win-core-file-l1-1-0.def | 1 - .../api-ms-win-core-file-l1-2-0.def | 73 .../api-ms-win-core-file-l1-2-1.def | 81 - .../api-ms-win-core-file-l1-2-2.def | 77 .../api-ms-win-core-file-l2-1-1.def | 15 -- .../api-ms-win-core-file-l2-1-2.def | 11 -- .../api-ms-win-core-heap-l1-1-0.def | 1 - .../api-ms-win-core-heap-l1-2-0.def | 19 -- .../api-ms-win-core-heap-obsolete-l1-1-0.def | 5 - .../api-ms-win-core-interlocked-l1-1-0.def| 6 + .../api-ms-win-core-interlocked-l1-2-0.def| 5 - .../lib-common/api-ms-win-core-io-l1-1-1.def | 7 - .../lib-common/api-ms-win-core-job-l2-1-0.def | 7 + ...api-ms-win-core-kernel32-legacy-l1-1-0.def | 15 -- ...api-ms-win-core-kernel32-legacy-l1-1-1.def | 35 ...api-ms-win-core-kernel32-legacy-l1-1-2.def | 8 + ...api-ms-win-core-kernel32-legacy-l1-1-5.def | 5 + .../api-ms-win-core-libraryloader-l1-2-1.def | 23 --- .../api-ms-win-core-libraryloader-l1-2-2.def | 5 + .../api-ms-win-core-localization-l1-2-1.def | 58 -- .../api-ms-win-core-localization-l1-2-2.def | 59 -- ...-win-core-localization-obsolete-l1-2-0.def | 2 - .../api-ms-win-core-memory-l1-1-1.def | 16 -- .../api-ms-win-core-memory-l1-1-2.def | 26 --- .../api-ms-win-core-memory-l1-1-3.def | 29 --- .../api-ms-win-core-memory-l1-1-5.def | 33 .../api-ms-win-core-memory-l1-1-6.def | 35 .../api-ms-win-core-memory-l1-1-7.def | 37 .../api-ms-win-core-namedpipe-ansi-l1-1-1.def | 3 - .../api-ms-win-core-namedpipe-l1-2-1.def | 10 -- .../api-ms-win-core-namedpipe-l1-2-2.def | 12 -- .../api-ms-win-core-privateprofile-l1-1-0.def | 9 + .../api-ms-win-core-privateprofile-l1-1-1.def | 5 + ...in-core-processenvironment-ansi-l1-1-0.def | 5 + ...-ms-win-core-processenvironment-l1-2-0.def | 21 --- ...api-ms-win-core-processsnapshot-l1-1-0.def | 14
[Mingw-w64-public] [PATCH 0/5] Update windowsapp to match the one in 20H1
windowsapp.lib and the target DLL for each API entry keeps evolving. So far the files and entries were mostly added manually when needed. This patchset creates the actual equivalent to what is found in windowsapp.lib. The previous mass edits were generated from a WACK to .def tool. This time instead of the WACK that is permitting more functions to define multiple times it's exactly the same DLL that windowsapp.lib uses and not multiple ones. A few Rtl function not found in windowsapp.lib were added because they are needed by libunwind. They are allowed by the WACK and found in that DLL on my system. But for some reason they are not in windowsapp.lib... There are a lot of inconsistencies between the WACK, windowsapp.lib, the windowsapp documentation [1] and the function documentation. The most restrictive is the windowsapp.lib. If a function is not in there, it should not link when building for UWP (we are lacking onecore.lib and onecoreuap.lib). So we should not allow the linking either in mingw-w64. [1] https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-apis Steve Lhomme (5): crt: don't generate libgamemode.a for windowsapp crt: order libs alphabetically in windowsapp crt: move some Rtl functions to rtlsupport-l1-1-0 crt: update windowsapp to the 18362/19H1 SDK crt: update windowsapp to the 19041/20H1 SDK mingw-w64-crt/Makefile.am | 168 +++--- .../api-ms-win-appmodel-runtime-l1-1-1.def| 20 --- .../api-ms-win-appmodel-runtime-l1-1-2.def| 12 ++ .../api-ms-win-appmodel-runtime-l1-1-3.def| 9 + .../api-ms-win-core-atoms-l1-1-0.def | 11 ++ .../lib-common/api-ms-win-core-com-l1-1-1.def | 53 -- .../api-ms-win-core-comm-l1-1-1.def | 18 -- .../api-ms-win-core-comm-l1-1-2.def | 19 -- .../api-ms-win-core-console-l1-1-0.def| 1 - .../api-ms-win-core-console-l1-2-0.def| 13 -- .../api-ms-win-core-console-l2-1-0.def| 5 - .../api-ms-win-core-console-l2-2-0.def| 33 .../api-ms-win-core-datetime-l1-1-1.def | 4 - .../api-ms-win-core-datetime-l1-1-2.def | 6 - .../api-ms-win-core-debug-l1-1-1.def | 4 - .../api-ms-win-core-delayload-l1-1-0.def | 5 + .../api-ms-win-core-delayload-l1-1-1.def | 1 - .../api-ms-win-core-errorhandling-l1-1-1.def | 7 - .../api-ms-win-core-errorhandling-l1-1-2.def | 5 + .../api-ms-win-core-errorhandling-l1-1-3.def | 10 -- .../api-ms-win-core-featurestaging-l1-1-1.def | 5 - .../api-ms-win-core-fibers-l1-1-0.def | 8 + .../api-ms-win-core-fibers-l1-1-1.def | 4 - .../api-ms-win-core-fibers-l2-1-0.def | 7 + .../api-ms-win-core-fibers-l2-1-1.def | 3 - .../api-ms-win-core-file-l1-1-0.def | 1 - .../api-ms-win-core-file-l1-2-0.def | 73 .../api-ms-win-core-file-l1-2-1.def | 81 - .../api-ms-win-core-file-l1-2-2.def | 77 .../api-ms-win-core-file-l2-1-1.def | 15 -- .../api-ms-win-core-file-l2-1-2.def | 11 -- .../api-ms-win-core-heap-l1-1-0.def | 1 - .../api-ms-win-core-heap-l1-2-0.def | 19 -- .../api-ms-win-core-heap-obsolete-l1-1-0.def | 5 - .../api-ms-win-core-interlocked-l1-1-0.def| 6 + .../api-ms-win-core-interlocked-l1-2-0.def| 5 - .../lib-common/api-ms-win-core-io-l1-1-1.def | 7 - .../lib-common/api-ms-win-core-job-l2-1-0.def | 7 + ...api-ms-win-core-kernel32-legacy-l1-1-0.def | 15 -- ...api-ms-win-core-kernel32-legacy-l1-1-1.def | 35 ...api-ms-win-core-kernel32-legacy-l1-1-2.def | 8 + ...api-ms-win-core-kernel32-legacy-l1-1-5.def | 5 + .../api-ms-win-core-libraryloader-l1-2-1.def | 23 --- .../api-ms-win-core-libraryloader-l1-2-2.def | 5 + .../api-ms-win-core-localization-l1-2-1.def | 58 -- .../api-ms-win-core-localization-l1-2-2.def | 59 -- ...-win-core-localization-obsolete-l1-2-0.def | 2 - .../api-ms-win-core-memory-l1-1-1.def | 16 -- .../api-ms-win-core-memory-l1-1-2.def | 26 --- .../api-ms-win-core-memory-l1-1-3.def | 29 --- .../api-ms-win-core-memory-l1-1-5.def | 33 .../api-ms-win-core-memory-l1-1-6.def | 35 .../api-ms-win-core-memory-l1-1-7.def | 37 .../api-ms-win-core-namedpipe-ansi-l1-1-1.def | 3 - .../api-ms-win-core-namedpipe-l1-2-1.def | 10 -- .../api-ms-win-core-namedpipe-l1-2-2.def | 12 -- .../api-ms-win-core-privateprofile-l1-1-0.def | 9 + .../api-ms-win-core-privateprofile-l1-1-1.def | 5 + ...in-core-processenvironment-ansi-l1-1-0.def | 5 + ...-ms-win-core-processenvironment-l1-2-0.def | 21 --- ...api-ms-win-core-processsnapshot-l1-1-0.def | 14 ++ .../api-ms-win-core-processthreads-l1-1-1.def | 49 - .../api-ms-win-core-processthreads-l1-1-2.def | 63 --- .../api-ms-win-core-processthreads-l1-1-3.def | 67 ---