ReviewOS

also looking at this

craft-native/craft

fix(build): select the core Zig project explicitly

#383
Merged chris wants to merge codex/zig-core-build-root into main
4 files +44 -2
scripts/zig.tsmodified+8-1
Changes to scripts/zig.ts
@@ -59,10 +59,17 @@ export function runZig(root: string, args: string[], env: NodeJS.ProcessEnv = pr
5959 const { version } = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'))
6060 command.push(`-Dversion=${version}`)
6161 }
62 if (core && command[0] === 'build') {
63 // Select the core project explicitly. A monorepo has another build.zig
64 // at its root; compiler build discovery must not select that wrapper.
65 command.splice(1, 0, '--build-file', join(root, 'packages/zig/build.zig'))
66 }
6267 const zig = resolveZig(root, env)
68 const cwd = core ? join(root, 'packages/zig') : root
6369 console.error(`Zig ${zig.version}: ${zig.path}${zig.overridden ? ' (explicit unpinned override)' : ''}`)
70 console.error(`Zig project directory: ${cwd}`)
6471 const result = Bun.spawnSync([zig.path, ...command], {
65 cwd: core ? join(root, 'packages/zig') : root,
72 cwd,
6673 env,
6774 stdin: 'inherit',
6875 stdout: 'inherit',