| ... | @@ -110,16 +110,18 @@ fn fetch_deps(dir: []const u8, mpath: []const u8) anyerror!u.Module { | ... | @@ -110,16 +110,18 @@ fn fetch_deps(dir: []const u8, mpath: []const u8) anyerror!u.Module { |
| 110 | }, | 110 | }, |
| 111 | } | 111 | } |
| 112 | switch (d.type) { | 112 | switch (d.type) { |
| 113 | else => { | 113 | else => blk: { |
| 114 | if (d.main.len == 0) { | 114 | var dd = try fetch_deps(dir, try u.concat(&[_][]const u8{moddir, "/zig.mod"})) catch |e| switch (e) { |
| 115 | if (d.c_include_dirs.len > 0 or d.c_source_files.len > 0) { | 115 | error.FileNotFound => { |
| 116 | var mod_from = try u.Module.from(d); | 116 | if (d.c_include_dirs.len > 0 or d.c_source_files.len > 0) { |
| 117 | mod_from.clean_path = u.trim_prefix(moddir, dir)[1..]; | 117 | var mod_from = try u.Module.from(d); |
| 118 | try moduledeps.append(mod_from); | 118 | mod_from.clean_path = u.trim_prefix(moddir, dir)[1..]; |
| 119 | } | 119 | try moduledeps.append(mod_from); |
| 120 | break; | 120 | } |
| 121 | } | 121 | break :blk; |
| 122 | var dd = try fetch_deps(dir, try u.concat(&[_][]const u8{moddir, "/zig.mod"})); | 122 | }, |
| | 123 | else => e, |
| | 124 | }; |
| 123 | dd.clean_path = u.trim_prefix(moddir, dir)[1..]; | 125 | dd.clean_path = u.trim_prefix(moddir, dir)[1..]; |
| 124 | | 126 | |
| 125 | if (d.name.len > 0) dd.name = d.name; | 127 | if (d.name.len > 0) dd.name = d.name; |