Commit Graph

34 Commits

Author SHA1 Message Date
Andrew Kelley f3dd10d40f Maker: add --debug-maker-leaks flag and fix some leaks 2026-05-25 20:14:34 -07:00
Andrew Kelley 860d5ab9c4 Maker: implement relativePath with non-empty subpath for zig_exe 2026-05-25 18:54:36 -07:00
Andrew Kelley 9eb85c4e5e build system: track TODOs outside source code
related to #363
2026-05-25 18:54:36 -07:00
Andrew Kelley c0504a8fa8 fuzzer: get it working again 2026-05-25 18:54:36 -07:00
Andrew Kelley 626e410413 Maker: fix regressed dyn lib symlink logic 2026-05-25 18:54:36 -07:00
Andrew Kelley 642d017fea Maker: fix resolveLazyPath accidental mutation 2026-05-25 18:54:36 -07:00
Andrew Kelley b069a2eb21 Maker: update macos file watching code to new api 2026-05-25 18:54:36 -07:00
Andrew Kelley 6d5fbb26da Maker: enhance debuggability when resolveLazyPath fails 2026-05-25 18:54:36 -07:00
Andrew Kelley 54bb8d2dd9 implement the concept of configure cache poisoning 2026-05-25 18:54:36 -07:00
Andrew Kelley df8aaad058 maker: extract some pkg-config logic into reusable API 2026-05-25 18:54:36 -07:00
Andrew Kelley 4cbc03dce3 Maker: we don't actually need to scan the modules 2026-05-25 18:54:36 -07:00
Andrew Kelley df92898ec3 Maker: fix packagePath function
Currently, neither configurer nor Maker is aware of the standard zig
package path, and the root path is stored as a bare string rather than
relative to a known base directory. Without changing that, we must
construct a cwd relative path here rather than using knowledge of the
standard package path plus package hash.

Also fixes a bug that would have been prevented by implementing the
accepted proposal https://github.com/ziglang/zig/issues/25315
2026-05-25 18:54:36 -07:00
Andrew Kelley bb1b59ee1f Maker: implement Step.InstallDir 2026-05-25 18:54:35 -07:00
Andrew Kelley 5fb120a3c0 maker: implement cleanTmpFiles 2026-05-25 18:54:35 -07:00
Andrew Kelley fb9118195e maker: implement pkg-config integration
featuring:
* better error reporting
* including PKG_CONFIG environment variable in `zig env`
* memoizing the output of `pkg-config --list-all`
2026-05-25 18:54:35 -07:00
Andrew Kelley 5644d68f14 more colorful wip panics 2026-05-25 18:54:35 -07:00
Andrew Kelley bd4c1e34d2 configurer: add search_prefixes back
It is generally best practice to avoid calling this function, instead
relying on the user to provide these paths via the standard build system
interface. However, when integrating with other build systems, the user
may have already provided the information to the other build system, and
thus it is desirable to use that same information without requiring the
user to provide it again.
2026-05-25 18:54:35 -07:00
Andrew Kelley ecba6324bf configurer: update TranslateC step
and get zig's build.zig script fully compiling
2026-05-25 18:54:35 -07:00
Andrew Kelley 8a8bf5ad02 maker: update ObjCopy to new system 2026-05-25 18:54:35 -07:00
Andrew Kelley ddabd57743 progress towards compiling zig's build script 2026-05-25 18:54:35 -07:00
Andrew Kelley fa23575767 maker: fix the has side effects logic in run step 2026-05-25 18:54:35 -07:00
Andrew Kelley 5f626d28c1 maker: report when result_oom flag is set 2026-05-25 18:54:34 -07:00
Andrew Kelley c8b583885d maker: port Run step logic up to spawnChildAndCollect 2026-05-25 18:54:34 -07:00
Andrew Kelley a399d37886 maker: upgrade some of the run step logic 2026-05-25 18:54:34 -07:00
Andrew Kelley aa0652ff8d maker: implement InstallArtifact and InstallFile 2026-05-25 18:54:34 -07:00
Andrew Kelley dd51fc30f8 maker: finish migrating compile step make logic 2026-05-25 18:54:34 -07:00
Andrew Kelley 71ac3f15b3 build system: implement LazyPath
Number of generated files is recorded in serialized Configuration. Maker
preallocates array of generated files so that loads and stores can be
synchronization-free (protected by the dependency tree ordering).

More progress on Compile Step Zig CLI lowering.
2026-05-25 18:54:34 -07:00
Andrew Kelley 6c61803d8b maker: implement module printing 2026-05-25 18:54:34 -07:00
Andrew Kelley 603e92cdde Maker: don't include non-root top level steps 2026-05-25 18:54:34 -07:00
Andrew Kelley 9baf02de5f Maker: move ScannedConfig to separate file 2026-05-25 18:54:34 -07:00
Andrew Kelley 74b018ceb3 zig build: make --error-limit globally configurable
still overridable by individual Compile steps
2026-05-25 18:54:34 -07:00
Andrew Kelley 959103c3fd Maker.Step.Compile: progress towards lowering zig args 2026-05-25 18:54:34 -07:00
Andrew Kelley 6b7ce1fa22 massage Step code into compiling 2026-05-25 18:54:34 -07:00
Andrew Kelley b3d162d6bf build maker: rename files to match type 2026-05-25 18:54:34 -07:00