Merge pull request #5217 from wozeparrot/master

build.zig recursive dep support
This commit is contained in:
Andrew Kelley 2020-05-16 14:24:51 -04:00 committed by GitHub
commit f2ceb023f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1810,6 +1810,22 @@ pub const LibExeObjStep = struct {
}
}
fn makePackageCmd(self: *LibExeObjStep, pkg: Pkg, zig_args: *ArrayList([]const u8)) error{OutOfMemory}!void {
const builder = self.builder;
try zig_args.append("--pkg-begin");
try zig_args.append(pkg.name);
try zig_args.append(builder.pathFromRoot(pkg.path));
if (pkg.dependencies) |dependencies| {
for (dependencies) |sub_pkg| {
try self.makePackageCmd(sub_pkg, zig_args);
}
}
try zig_args.append("--pkg-end");
}
fn make(step: *Step) !void {
const self = @fieldParentPtr(LibExeObjStep, "step", step);
const builder = self.builder;
@ -2076,21 +2092,9 @@ pub const LibExeObjStep = struct {
try zig_args.append("--test-cmd-bin");
},
}
for (self.packages.span()) |pkg| {
try zig_args.append("--pkg-begin");
try zig_args.append(pkg.name);
try zig_args.append(builder.pathFromRoot(pkg.path));
if (pkg.dependencies) |dependencies| {
for (dependencies) |sub_pkg| {
try zig_args.append("--pkg-begin");
try zig_args.append(sub_pkg.name);
try zig_args.append(builder.pathFromRoot(sub_pkg.path));
try zig_args.append("--pkg-end");
}
}
try zig_args.append("--pkg-end");
try self.makePackageCmd(pkg, &zig_args);
}
for (self.include_dirs.span()) |include_dir| {