std/build: make subsystem configurable

master
Nick Erdmann 2019-10-18 20:11:28 +02:00
parent 8774b1d947
commit c8dec5729c
No known key found for this signature in database
GPG Key ID: C174038EAF6578B2
1 changed files with 16 additions and 0 deletions

View File

@ -1491,6 +1491,8 @@ pub const LibExeObjStep = struct {
/// Position Independent Code
force_pic: ?bool = null,
subsystem: ?builtin.SubSystem = null,
const LinkObject = union(enum) {
StaticPath: []const u8,
OtherStep: *LibExeObjStep,
@ -2325,6 +2327,20 @@ pub const LibExeObjStep = struct {
}
}
if (self.subsystem) |subsystem| {
try zig_args.append("--subsystem");
try zig_args.append(switch (subsystem) {
.Console => "console",
.Windows => "windows",
.Posix => "posix",
.Native => "native",
.EfiApplication => "efi_application",
.EfiBootServiceDriver => "efi_boot_service_driver",
.EfiRom => "efi_rom",
.EfiRuntimeDriver => "efi_runtime_driver",
});
}
if (self.kind == Kind.Test) {
try builder.spawnChild(zig_args.toSliceConst());
} else {