commit 3c221463fd89caf08ee1bd24ea03d49e0c6e7f07 (tree)
parent 544397ce6d2926858217eb013dfcfcd0a5b3e3c6
Author: Andrew Kelley <andrew@ziglang.org>
Date: Thu, 18 Apr 2024 16:38:11 -0700
Merge pull request #19689 from nektro/nektro-patch-29794
std: fix and add test for Build.dependencyFromBuildZig
Diffstat:
7 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/lib/std/Build.zig b/lib/std/Build.zig
@@ -1975,7 +1975,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");
diff --git a/test/standalone/build.zig.zon b/test/standalone/build.zig.zon
@@ -158,6 +158,9 @@
.install_headers = .{
.path = "install_headers",
},
+ .dependencyFromBuildZig = .{
+ .path = "dependencyFromBuildZig",
+ },
},
.paths = .{
"build.zig",
diff --git a/test/standalone/dependencyFromBuildZig/build.zig b/test/standalone/dependencyFromBuildZig/build.zig
@@ -0,0 +1,12 @@
+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 dep2 = b.dependencyFromBuildZig(@import("other"), .{});
+
+ std.debug.assert(dep1.module("add") == dep2.module("add"));
+}
diff --git a/test/standalone/dependencyFromBuildZig/build.zig.zon b/test/standalone/dependencyFromBuildZig/build.zig.zon
@@ -0,0 +1,10 @@
+.{
+ .name = "dependencyFromBuildZig",
+ .version = "0.0.0",
+ .dependencies = .{
+ .other = .{
+ .path = "other",
+ },
+ },
+ .paths = .{""},
+}
diff --git a/test/standalone/dependencyFromBuildZig/other/add.zig b/test/standalone/dependencyFromBuildZig/other/add.zig
@@ -0,0 +1,3 @@
+pub fn add(x: u32, y: u32) u32 {
+ return x + y;
+}
diff --git a/test/standalone/dependencyFromBuildZig/other/build.zig b/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"),
+ });
+}
diff --git a/test/standalone/dependencyFromBuildZig/other/build.zig.zon b/test/standalone/dependencyFromBuildZig/other/build.zig.zon
@@ -0,0 +1,6 @@
+.{
+ .name = "other",
+ .version = "0.0.0",
+ .dependencies = .{},
+ .paths = .{""},
+}