mirror of
https://github.com/ziglang/zig.git
synced 2025-12-26 08:03:08 +00:00
zig cc: default to a.exe on windows
This matches Clang. Thanks to Abner Coimbre for pointing this out.
This commit is contained in:
parent
8975fa5b38
commit
6dfe9cc83e
21
src/main.zig
21
src/main.zig
@ -372,6 +372,13 @@ const SOName = union(enum) {
|
||||
yes: []const u8,
|
||||
};
|
||||
|
||||
const EmitBin = union(enum) {
|
||||
no,
|
||||
yes_default_path,
|
||||
yes: []const u8,
|
||||
yes_a_out,
|
||||
};
|
||||
|
||||
const Emit = union(enum) {
|
||||
no,
|
||||
yes_default_path,
|
||||
@ -471,7 +478,7 @@ fn buildOutputType(
|
||||
var time_report = false;
|
||||
var stack_report = false;
|
||||
var show_builtin = false;
|
||||
var emit_bin: Emit = .yes_default_path;
|
||||
var emit_bin: EmitBin = .yes_default_path;
|
||||
var emit_asm: Emit = .no;
|
||||
var emit_llvm_ir: Emit = .no;
|
||||
var emit_zir: Emit = .no;
|
||||
@ -1284,7 +1291,7 @@ fn buildOutputType(
|
||||
switch (c_out_mode) {
|
||||
.link => {
|
||||
output_mode = if (is_shared_lib) .Lib else .Exe;
|
||||
emit_bin = .{ .yes = out_path orelse "a.out" };
|
||||
emit_bin = if (out_path) |p| .{ .yes = p } else EmitBin.yes_a_out;
|
||||
enable_cache = true;
|
||||
},
|
||||
.object => {
|
||||
@ -1498,6 +1505,11 @@ fn buildOutputType(
|
||||
},
|
||||
};
|
||||
|
||||
const a_out_basename = switch (object_format) {
|
||||
.pe, .coff => "a.exe",
|
||||
else => "a.out",
|
||||
};
|
||||
|
||||
const emit_bin_loc: ?Compilation.EmitLoc = switch (emit_bin) {
|
||||
.no => null,
|
||||
.yes_default_path => Compilation.EmitLoc{
|
||||
@ -1549,6 +1561,10 @@ fn buildOutputType(
|
||||
};
|
||||
}
|
||||
},
|
||||
.yes_a_out => Compilation.EmitLoc{
|
||||
.directory = null,
|
||||
.basename = a_out_basename,
|
||||
},
|
||||
};
|
||||
|
||||
const default_h_basename = try std.fmt.allocPrint(arena, "{}.h", .{root_name});
|
||||
@ -1784,6 +1800,7 @@ fn buildOutputType(
|
||||
.print = comp.bin_file.options.emit.?.directory.path orelse ".",
|
||||
},
|
||||
.yes => |full_path| break :blk .{ .update = full_path },
|
||||
.yes_a_out => break :blk .{ .update = a_out_basename },
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user