You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
zig rc: Fix include directory detection when cross-compiling from certain host archs (ziglang#24288)
* resinator: Only preprocess when the input is an .rc file
* resinator: Fix include directory detection when cross-compiling from certain host archs
Previously, resinator would use the host arch as the target arch when looking for windows-gnu include directories. However, Zig only thinks it can provide a libc for targets specified in the `std.zig.target.available_libcs` array, which only includes a few for windows-gnu. Therefore, when cross-compiling from a host architecture that doesn't have a windows-gnu target in the available_libcs list, resinator would fail to detect the MinGW include directories.
Now, the custom option `/:target` is passed to `zig rc` which is intended for the COFF object file target, but can be re-used for the include directory target as well. For the include directory target, resinator will convert the MachineType to the relevant arch, or fail if there is no equivalent arch/no support for detecting the includes for the MachineType (currently 64-bit Itanium and EBC).
Fixes the `windows_resources` standalone test failing when the host is, for example, `riscv64-linux`.
tryerror_handler.emitMessage(self.arena, .err, "automatic include path detection is not supported for target '{s}'", .{@tagName(self.target_machine_type)});
510
+
},
511
+
error.MsvcIncludesNotFound=> {
512
+
tryerror_handler.emitMessage(self.arena, .err, "MSVC include paths could not be automatically detected", .{});
513
+
},
514
+
error.MingwIncludesNotFound=> {
515
+
tryerror_handler.emitMessage(self.arena, .err, "MinGW include paths could not be automatically detected", .{});
516
+
},
517
+
}
518
+
tryerror_handler.emitMessage(self.arena, .note, "to disable auto includes, use the option /:auto-includes none", .{});
0 commit comments