motiejus/zig

fork of https://codeberg.org/ziglang/zig
git clone https://git.jakstys.lt/motiejus/zig.git
Log | Tree | Refs | README | LICENSE

commit 3f693cf5d51fbc53d32203e5a5faf69d4a49a099 (tree)
parent bf316e550671cc71eb498b3cf799493627bb0fdc
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue,  6 Dec 2022 12:46:59 -0700

CLI: quality of life enhancement for windows CBE behavior tests

When testing with

```
stage4/bin/zig test ../test/behavior.zig -I../test -ofmt=c -target x86_64-windows
```

previously, one would see this message:

```
error: lld-link: subsystem must be defined
```

Now, `--subsystem console` as well as `-lntdll -lkernel32` are on the
`zig run` line, producing a binary.

Diffstat:
Msrc/main.zig | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/main.zig b/src/main.zig @@ -3059,7 +3059,15 @@ fn buildOutputType( try test_exec_args.appendSlice(&.{ "-I", p }); } - if (link_libc) try test_exec_args.append("-lc"); + if (link_libc) { + try test_exec_args.append("-lc"); + } else if (target_info.target.os.tag == .windows) { + try test_exec_args.appendSlice(&.{ + "--subsystem", "console", + "-lkernel32", "-lntdll", + }); + } + if (!mem.eql(u8, target_arch_os_abi, "native")) { try test_exec_args.append("-target"); try test_exec_args.append(target_arch_os_abi);