authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-09-04 13:46:14-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-09-09 09:28:05-07:00
log472ee184862415d1f2651d81d248f3000032932d
treebf19a8075d14b1cb7958b22a5a0107656516947d
parentf064f0564fcdd3a163f137f72ecb7a997fdebfd1

stage2: infer --name in more ways


1 files changed, 10 insertions(+), 2 deletions(-)

src-self-hosted/main.zig+10-2
...@@ -770,8 +770,16 @@ pub fn buildOutputType(...@@ -770,8 +770,16 @@ pub fn buildOutputType(
770 const root_name = if (provided_name) |n| n else blk: {770 const root_name = if (provided_name) |n| n else blk: {
771 if (root_src_file) |file| {771 if (root_src_file) |file| {
772 const basename = fs.path.basename(file);772 const basename = fs.path.basename(file);
773 var it = mem.split(basename, ".");773 break :blk mem.split(basename, ".").next().?;
774 break :blk it.next() orelse basename;774 } else if (c_source_files.items.len == 1) {
775 const basename = fs.path.basename(c_source_files.items[0]);
776 break :blk mem.split(basename, ".").next().?;
777 } else if (link_objects.items.len == 1) {
778 const basename = fs.path.basename(link_objects.items[0]);
779 break :blk mem.split(basename, ".").next().?;
780 } else if (emit_bin == .yes) {
781 const basename = fs.path.basename(emit_bin.yes);
782 break :blk mem.split(basename, ".").next().?;
775 } else {783 } else {
776 fatal("--name [name] not provided and unable to infer", .{});784 fatal("--name [name] not provided and unable to infer", .{});
777 }785 }