From 88e0f81eefc84feaba3ea3b146c92a62efeb9c3f Mon Sep 17 00:00:00 2001 From: Jacob G-W Date: Thu, 2 Sep 2021 15:51:49 -0400 Subject: [PATCH] plan9: change output executable name Now object files have the `name.` Executables are just `name` Libs are `name.a` --- lib/std/zig.zig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/std/zig.zig b/lib/std/zig.zig index 8d51cd56f9..fa922a7c73 100644 --- a/lib/std/zig.zig +++ b/lib/std/zig.zig @@ -176,9 +176,11 @@ pub fn binNameAlloc(allocator: *std.mem.Allocator, options: BinNameOptions) erro .spirv => return std.fmt.allocPrint(allocator, "{s}.spv", .{root_name}), .hex => return std.fmt.allocPrint(allocator, "{s}.ihex", .{root_name}), .raw => return std.fmt.allocPrint(allocator, "{s}.bin", .{root_name}), - .plan9 => return std.fmt.allocPrint(allocator, "{s}{s}", .{ - root_name, ofmt.fileExt(target.cpu.arch), - }), + .plan9 => switch (options.output_mode) { + .Exe => return allocator.dupe(u8, root_name), + .Obj => return std.fmt.allocPrint(allocator, "{s}{s}", .{ root_name, ofmt.fileExt(target.cpu.arch) }), + .Lib => return std.fmt.allocPrint(allocator, "{s}{s}.a", .{ target.libPrefix(), root_name }), + }, } }