zig/lib/std/Build/Step
Ryan Liptak 0168ed7bf1 rc compilation: Use MSVC includes if present, fallback to mingw
The include directories used when preprocessing .rc files are now separate from the target, and by default will use the system MSVC include paths if the MSVC + Windows SDK are present, otherwise it will fall back to the MinGW includes distributed with Zig. This default behavior can be overridden by the `-rcincludes` option (possible values: any (the default), msvc, gnu, or none).

This behavior is useful because Windows resource files may `#include` files that only exist with in the MSVC include dirs (e.g. in `<MSVC install directory>/atlmfc/include` which can contain other .rc files, images, icons, cursors, etc). So, by defaulting to the `any` behavior (MSVC if present, MinGW fallback), users will by default get behavior that is most-likely-to-work.

It also should be okay that the include directories used when compiling .rc files differ from the include directories used when compiling the main binary, since the .res format is not dependent on anything ABI-related. The only relevant differences would be things like `#define` constants being different values in the MinGW headers vs the MSVC headers, but any such differences would likely be a MinGW bug.
2023-09-17 03:09:58 -07:00
..
CheckFile.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
CheckObject.zig check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmds 2023-08-18 11:56:14 +02:00
Compile.zig rc compilation: Use MSVC includes if present, fallback to mingw 2023-09-17 03:09:58 -07:00
ConfigHeader.zig AstGen: add result location analysis pass 2023-08-20 11:58:14 -07:00
Fmt.zig std.Build: use Step.* instead of *Step 2023-05-03 20:55:29 -07:00
InstallArtifact.zig std.Build.Step.InstallArtifact: disable emit-h 2023-07-30 17:22:54 -07:00
InstallDir.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
InstallFile.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
ObjCopy.zig build/ObjCopy: strip debug info to a separate elf file. 2023-08-12 09:54:35 +02:00
Options.zig build system: follow-up enhancements regarding LazyPath 2023-07-30 11:19:32 -07:00
RemoveDir.zig std.Build: use Step.* instead of *Step 2023-05-03 20:55:29 -07:00
Run.zig Build: fail tests that log errors, like zig test does 2023-08-25 15:36:25 -07:00
TranslateC.zig change uses of std.builtin.Mode to OptimizeMode (#16745) 2023-08-09 14:39:34 -04:00
WriteFile.zig std.Build.Step.WriteFile: fix call to nonexistent function 2023-07-31 14:23:57 +02:00