Skip to content

Commit 24c32dc

Browse files
committed
compat.glfw: the Win32 backend states the C library it is written for (mcpp:c-abi=ucrt)
As the Linux row states glibc. The MSVC row, the MinGW-w64 payload and the mingw-w64-sysroot base (mcpp's mingw-llvm provider, on every host) answer it; a Windows identity whose C library is another (openkal-musl over openkal-windows) has no window system and is refused at resolution, naming the requirement, instead of failing in <windows.h>.
1 parent e954644 commit 24c32dc

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

‎pkgs/c/compat.glfw.lua‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,16 @@ package = {
155155
},
156156
},
157157
windows = {
158+
-- THE WIN32 BACKEND IS WRITTEN FOR THE SYSTEM'S C LIBRARY AND ITS
159+
-- HEADERS (<windows.h>, user32, gdi32): a requirement on the target
160+
-- side (mcpp SPEC-002 §2.2), as the Linux row states glibc. Every
161+
-- route that has the Win32 API answers it -- the MSVC row, the
162+
-- MinGW-w64 payload and the mingw-w64-sysroot base, which mcpp's
163+
-- mingw-llvm provider supplies on every host (macOS and Linux
164+
-- included). A Windows identity whose C library is another
165+
-- (openkal-musl over openkal-windows) has no window system, and is
166+
-- refused at resolution, naming this requirement.
167+
requires = { "mcpp:c-abi=ucrt" },
158168
cflags = { "-D_GLFW_WIN32", "-DUNICODE", "-D_UNICODE" },
159169
sources = {
160170
"src/win32_time.c",

0 commit comments

Comments
 (0)