winstorecompat: add libwindowsappcompat to use with libwindowsapp
The original libwinstorecompat is designed to be used with libmincore.
- CreateEventW is allowed
- CreateMutexW is allowed
- CreateSemaphoreW is allowed
- InitializeCriticalSection is allowed
- GetFileAttributes is allowed
- WaitForSingleObject is allowed
- GetTickCount is allowed
- SetUnhandledExceptionFilter is allowed
- TerminateProcess is allowed
- IsDBCSLeadByteEx is allowed
- SetErrorMode is allowed
- GetACP is allowed
- LocalAlloc/LocalFree are allowed
- Sleep/SleepEx are allowed
- SetFilePointer is allowed
- Tls functions are allowed
- GetConsoleOutputCP is allowed
https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis
To select the set of API's allowed by this library, define WINSTORECOMPAT
and build with _WIN32_WINNT >= _WIN32_WINNT_WIN10.
Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am
index a1f7994..028ac14 100644
--- a/mingw-w64-libraries/winstorecompat/Makefile.am
+++ b/mingw-w64-libraries/winstorecompat/Makefile.am
@@ -2,7 +2,8 @@
AM_CFLAGS = -Wall -Wstrict-aliasing=2 -pedantic
-lib_LIBRARIES = libwinstorecompat.a
+lib_LIBRARIES = libwinstorecompat.a \
+ libwindowsappcompat.a
libwinstorecompat_a_SOURCES = \
src/beginthread.c \
@@ -43,3 +44,25 @@
src/RtlRestoreContext.c \
src/GetUserName.c \
$(NULL)
+
+libwindowsappcompat_a_SOURCES = \
+ src/beginthread.c \
+ src/GetModuleHandle.c \
+ src/LoadLibraryW.c \
+ src/CreateFileW.c \
+ src/UnhandledExceptionFilter.c \
+ src/VirtualProtect.c \
+ src/getenv.c \
+ src/GetFileSize.c \
+ src/SHGetFolderPathW.c \
+ src/QueueTimer.c \
+ src/Crypto.c \
+ src/GetStartupInfo.c \
+ src/EnumProcessModules.c \
+ src/RtlAddFunctionTable.c \
+ src/RtlCaptureContext.c \
+ src/RtlVirtualUnwind.c \
+ src/RtlRestoreContext.c \
+ src/GetUserName.c \
+ $(NULL)
+libwindowsappcompat_a_CFLAGS = $(AM_CFLAGS) -D_WIN32_WINNT=_WIN32_WINNT_WIN10