diff options
| author | antlilja <liljaanton2001@gmail.com> | 2023-03-09 20:39:15 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-03-09 22:38:14 -0500 |
| commit | b445bbfea205702770e4e9de4e456c3e8750f8ed (patch) | |
| tree | dbb29397a922be4c1f6337f0e17fb3e0f40d7746 | |
| parent | 7c9ed45ac2fd580bbbb4b950ac350dd49fc7600e (diff) | |
| download | zig-b445bbfea205702770e4e9de4e456c3e8750f8ed.tar.gz zig-b445bbfea205702770e4e9de4e456c3e8750f8ed.zip | |
Add ability to import dependencies from build.zig
| -rw-r--r-- | src/Package.zig | 7 | ||||
| -rw-r--r-- | src/main.zig | 12 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/Package.zig b/src/Package.zig index ed93500980..c238d3d567 100644 --- a/src/Package.zig +++ b/src/Package.zig @@ -215,6 +215,7 @@ pub const build_zig_basename = "build.zig"; pub fn fetchAndAddDependencies( pkg: *Package, + root_pkg: *Package, arena: Allocator, thread_pool: *ThreadPool, http_client: *std.http.Client, @@ -295,7 +296,8 @@ pub fn fetchAndAddDependencies( all_modules, ); - try pkg.fetchAndAddDependencies( + try sub_pkg.fetchAndAddDependencies( + root_pkg, arena, thread_pool, http_client, @@ -309,7 +311,8 @@ pub fn fetchAndAddDependencies( all_modules, ); - try add(pkg, gpa, fqn, sub_pkg); + try pkg.add(gpa, name, sub_pkg); + try root_pkg.add(gpa, fqn, sub_pkg); try dependencies_source.writer().print(" pub const {s} = @import(\"{}\");\n", .{ std.zig.fmtId(fqn), std.zig.fmtEscapes(fqn), diff --git a/src/main.zig b/src/main.zig index b134b7183e..95cfca1463 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4228,6 +4228,10 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi .root_src_path = "build_runner.zig", }; + var build_pkg: Package = .{ + .root_src_directory = build_directory, + .root_src_path = build_zig_basename, + }; if (!build_options.omit_pkg_fetching_code) { var http_client: std.http.Client = .{ .allocator = gpa }; defer http_client.deinit(); @@ -4249,7 +4253,8 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi // Here we borrow main package's table and will replace it with a fresh // one after this process completes. - main_pkg.fetchAndAddDependencies( + build_pkg.fetchAndAddDependencies( + &main_pkg, arena, &thread_pool, &http_client, @@ -4280,11 +4285,6 @@ pub fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !voi mem.swap(Package.Table, &main_pkg.table, &deps_pkg.table); try main_pkg.add(gpa, "@dependencies", deps_pkg); } - - var build_pkg: Package = .{ - .root_src_directory = build_directory, - .root_src_path = build_zig_basename, - }; try main_pkg.add(gpa, "@build", &build_pkg); const comp = Compilation.create(gpa, .{ |
