From 24c32dce2897154483a869eb6d7ea59252e587ee Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Tue, 10 Nov 2026 09:46:43 +0900 Subject: [PATCH] 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 . --- pkgs/c/compat.glfw.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/c/compat.glfw.lua b/pkgs/c/compat.glfw.lua index a4462886..c7014221 100644 --- a/pkgs/c/compat.glfw.lua +++ b/pkgs/c/compat.glfw.lua @@ -155,6 +155,16 @@ package = { }, }, windows = { + -- THE WIN32 BACKEND IS WRITTEN FOR THE SYSTEM'S C LIBRARY AND ITS + -- HEADERS (, user32, gdi32): a requirement on the target + -- side (mcpp SPEC-002 ยง2.2), as the Linux row states glibc. Every + -- route that has the Win32 API answers it -- the MSVC row, the + -- MinGW-w64 payload and the mingw-w64-sysroot base, which mcpp's + -- mingw-llvm provider supplies on every host (macOS and Linux + -- included). A Windows identity whose C library is another + -- (openkal-musl over openkal-windows) has no window system, and is + -- refused at resolution, naming this requirement. + requires = { "mcpp:c-abi=ucrt" }, cflags = { "-D_GLFW_WIN32", "-DUNICODE", "-D_UNICODE" }, sources = { "src/win32_time.c",