From ae17b466f8c7971edd28125a68a4f9ffdc291dd9 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 13 Apr 2025 17:47:38 -0700 Subject: [PATCH] deps.zig: fix bug from having multiple exes that depend on c code --- src/cmd/fetch.zig | 2 ++ src/cmd/generate.zig | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/cmd/fetch.zig b/src/cmd/fetch.zig index 7f62bb421cb6014434bd9ebc03fbc0773f543955..d9787299314e5eb8346be53148616c7a8a0fc6cc 100644 --- a/src/cmd/fetch.zig +++ b/src/cmd/fetch.zig @@ -67,6 +67,8 @@ pub fn create_depszig(alloc: std.mem.Allocator, cachepath: string, dir: std.fs.D \\ exe.linkSystemLibrary(libname); \\ exe.linkLibC(); \\ } + \\ // clear module memo cache so addAllTo can be called more than once in the same build.zig + \\ inline for (comptime std.meta.declarations(package_data)) |decl| @field(package_data, decl.name).module_memo = null; \\} \\ \\var link_lib_c = false; diff --git a/src/cmd/generate.zig b/src/cmd/generate.zig index 4fe6cf7f4f054020bb6db3795e740ed4472384a5..43459486ed6700363ffe8482725d34448d5e24dd 100644 --- a/src/cmd/generate.zig +++ b/src/cmd/generate.zig @@ -133,6 +133,8 @@ pub fn create_depszig(alloc: std.mem.Allocator, cachepath: string, dir: std.fs.D \\ const module = pkg.module(exe, fetch_step); \\ exe.root_module.addImport(pkg.name, module); \\ } + \\ // clear module memo cache so addAllTo can be called more than once in the same build.zig + \\ inline for (comptime std.meta.declarations(package_data)) |decl| @field(package_data, decl.name).module_memo = null; \\} \\ \\var link_lib_c = false; -- 2.54.0