Commit 0820aa4a46
Changed files (7)
lib
std
test
standalone
dependencyFromBuildZig
lib/std/Build.zig
@@ -1974,7 +1974,7 @@ pub fn dependencyFromBuildZig(
const dep_name = for (b.available_deps) |dep| {
if (mem.eql(u8, dep[1], pkg_hash)) break dep[1];
} else break :find_dep;
- return dependencyInner(b, dep_name, pkg.build_root, pkg.build_zig, pkg.deps, args);
+ return dependencyInner(b, dep_name, pkg.build_root, pkg.build_zig, pkg_hash, pkg.deps, args);
}
const full_path = b.pathFromRoot("build.zig.zon");
test/standalone/dependencyFromBuildZig/other/add.zig
@@ -0,0 +1,3 @@
+pub fn add(x: u32, y: u32) u32 {
+ return x + y;
+}
test/standalone/dependencyFromBuildZig/other/build.zig
@@ -0,0 +1,7 @@
+const std = @import("std");
+
+pub fn build(b: *std.Build) void {
+ _ = b.addModule("add", .{
+ .root_source_file = b.path("add.add.zig"),
+ });
+}
test/standalone/dependencyFromBuildZig/other/build.zig.zon
@@ -0,0 +1,6 @@
+.{
+ .name = "other",
+ .version = "0.0.0",
+ .dependencies = .{},
+ .paths = .{""},
+}
test/standalone/dependencyFromBuildZig/build.zig
@@ -0,0 +1,16 @@
+const std = @import("std");
+
+pub fn build(b: *std.Build) void {
+ const test_step = b.step("test", "Test it");
+ b.default_step = test_step;
+
+ const dep1 = b.dependency("other", .{});
+
+ const build_runner = @import("root");
+ const deps = build_runner.dependencies;
+ const zon_decls = @typeInfo(deps.packages).Struct.decls;
+ const pkg = @field(deps.packages, zon_decls[0].name);
+ const dep2 = b.dependencyFromBuildZig(pkg.build_zig, .{});
+
+ std.debug.assert(dep1.module("add") == dep2.module("add"));
+}
test/standalone/dependencyFromBuildZig/build.zig.zon
@@ -0,0 +1,10 @@
+.{
+ .name = "dependencyFromBuildZig",
+ .version = "0.0.0",
+ .dependencies = .{
+ .other = .{
+ .path = "other",
+ },
+ },
+ .paths = .{""},
+}
test/standalone/build.zig.zon
@@ -158,6 +158,9 @@
.install_headers = .{
.path = "install_headers",
},
+ .dependencyFromBuildZig = .{
+ .path = "dependencyFromBuildZig",
+ },
},
.paths = .{
"build.zig",