std.zig.target: Remove some library names from isLibCLibName() for MinGW.

These are system DLLs, most of which MinGW provides .def files for. It just so
happens that MinGW also has some static libraries by the same name which link in
some GUID definitions.

The remaining non-MinGW library names represent libraries that are always
statically linked, so if those are requested by the user, it makes sense to
error if libc is not linked. A future enhancement could be to compile those
independent of mingw32.lib, however.

Closes #22560.
This commit is contained in:
Alex Rønne Petersen 2025-01-28 20:11:43 +01:00
parent 1cbfdb4244
commit 7d699be772

View File

@ -195,12 +195,8 @@ pub fn isLibCLibName(target: std.Target, name: []const u8) bool {
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "ksguid")) if (eqlIgnoreCase(ignore_case, name, "ksguid"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "ksuser"))
return true;
if (eqlIgnoreCase(ignore_case, name, "largeint")) if (eqlIgnoreCase(ignore_case, name, "largeint"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "locationapi"))
return true;
if (eqlIgnoreCase(ignore_case, name, "m")) if (eqlIgnoreCase(ignore_case, name, "m"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "mfuuid")) if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
@ -213,14 +209,8 @@ pub fn isLibCLibName(target: std.Target, name: []const u8) bool {
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "moldname")) if (eqlIgnoreCase(ignore_case, name, "moldname"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "msxml2"))
return true;
if (eqlIgnoreCase(ignore_case, name, "msxml6"))
return true;
if (eqlIgnoreCase(ignore_case, name, "msvcrt-os")) if (eqlIgnoreCase(ignore_case, name, "msvcrt-os"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "ntoskrnl"))
return true;
if (eqlIgnoreCase(ignore_case, name, "portabledeviceguids")) if (eqlIgnoreCase(ignore_case, name, "portabledeviceguids"))
return true; return true;
if (eqlIgnoreCase(ignore_case, name, "pthread")) if (eqlIgnoreCase(ignore_case, name, "pthread"))