From 73af129674c57d49efa4a19eec523bd36079bcec Mon Sep 17 00:00:00 2001 From: Meghan Date: Fri, 20 Nov 2020 14:11:12 -0800 Subject: [PATCH] fetch: fix logic of still adding c files when dep doesnt have zig.mod file --- src/cmd_fetch.zig | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/cmd_fetch.zig b/src/cmd_fetch.zig index a7bb2e3b767e00ddfb27887dd8427ec2c55215d3..7320941b4c05062feb9142b205ce3b6f941f068f 100644 --- a/src/cmd_fetch.zig +++ b/src/cmd_fetch.zig @@ -110,16 +110,18 @@ fn fetch_deps(dir: []const u8, mpath: []const u8) anyerror!u.Module { }, } switch (d.type) { - else => { - if (d.main.len == 0) { - if (d.c_include_dirs.len > 0 or d.c_source_files.len > 0) { - var mod_from = try u.Module.from(d); - mod_from.clean_path = u.trim_prefix(moddir, dir)[1..]; - try moduledeps.append(mod_from); - } - break; - } - var dd = try fetch_deps(dir, try u.concat(&[_][]const u8{moddir, "/zig.mod"})); + else => blk: { + var dd = try fetch_deps(dir, try u.concat(&[_][]const u8{moddir, "/zig.mod"})) catch |e| switch (e) { + error.FileNotFound => { + if (d.c_include_dirs.len > 0 or d.c_source_files.len > 0) { + var mod_from = try u.Module.from(d); + mod_from.clean_path = u.trim_prefix(moddir, dir)[1..]; + try moduledeps.append(mod_from); + } + break :blk; + }, + else => e, + }; dd.clean_path = u.trim_prefix(moddir, dir)[1..]; if (d.name.len > 0) dd.name = d.name; -- 2.54.0