Scratch acquisition is one bare mkdir that refuses a pre-existing
.sepwork; the path reaches cleanup only after acquisition succeeds.
ww build and ww test -o keep the tree for the caller; ww run and
no-output ww test build under an owned /tmp/ww_{run,test}_<pid> dir
and remove it on every result, escalating rc on cleanup failure.
The content-keyed package cache is deleted from both stages; -S stops
after per-package .s emission; --sep is gone and unknown flags are
rejected; directory ww test delegates to the wwtest coordinator; the
wwstage driver routes every subprocess through os.exec.
The wwstage Makefile recipes move off the persistent <tool>_ww.d
build-in-place shape to a per-invocation mktemp workspace: the old
recipes relied on the retired pre-wipe semantics and any rebuild
would trip the new refusal on their leftover main.sepwork.
The three 989_pkgcache_* carriers lose their subject with the cache
and go with it; the rest of the wave's carrier adaptation follows in
its own commits.
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
# Build outputs.
|
|
/out/
|
|
|
|
# Separate-compilation artifact dirs. `ww build` and explicit `ww test -o`
|
|
# leave caller-owned <stem>.sepwork/ at the selected artifact stem; they
|
|
# refuse to replace an existing tree. `ww run` and no-output single-file tests
|
|
# put the executable and scratch in one driver-owned temporary directory and
|
|
# remove both. Byte gates read selected files deliberately, then remove the
|
|
# exact tree, so it is transient-not-tracked.
|
|
*.sepwork/
|
|
|
|
# Claude Code session artifacts.
|
|
.claude/
|
|
.ai/
|
|
|
|
# Stray executables produced by ad-hoc `ww build` runs in the project
|
|
# root. Real source for these lives under selfhost/test/ as .ww files.
|
|
/loop
|
|
/sym_link
|
|
/memiotest
|
|
/trypromote
|
|
/tagged_ptr_ret
|
|
/smoke
|
|
|
|
# Per-module build artifacts. The .combined.ww files under selfhost/
|
|
# are intentionally tracked — they're frozen bootstrap inputs.
|
|
selfhost/**/*.o
|
|
selfhost/**/*.s
|
|
|
|
# Test-probe leftovers. `ww build` drops .combined.ww next to the
|
|
# source; the selfhost/test/ probes don't need them tracked.
|
|
selfhost/test/*.combined.ww
|
|
|
|
# `ww build` on a lib/ module leaves a .combined.ww next to the
|
|
# source. None of these are bootstrap inputs (those are under
|
|
# selfhost/cmd/*/main.combined.ww) — they're just transient.
|
|
# `ww test lib/foo` also drops the .s/.o triplet for *_test.ww.
|
|
lib/**/*.combined.ww
|
|
lib/**/*.s
|
|
lib/**/*.o
|
|
|
|
# examples/ build outputs. Each example has its own Makefile that
|
|
# leaves the .s/.o/.combined.ww plus a stripped binary behind.
|
|
examples/**/*.o
|
|
examples/**/*.s
|
|
examples/**/*.combined.ww
|
|
|
|
# `test/wcc/data/` holds .ww fixtures fed to the C-side wcc tests
|
|
# (e.g. attest_pass.ww). `ww build` against any of those drops the
|
|
# usual triplet next to the source — only the .ww is tracked.
|
|
test/wcc/data/*.o
|
|
test/wcc/data/*.s
|
|
test/wcc/data/*.combined.ww
|
|
test/wcc/data/**/*.o
|
|
test/wcc/data/**/*.s
|
|
test/wcc/data/**/*.combined.ww
|
|
test/wcc/data/modcollision/pos
|
|
test/wcc/data/modcollision/neg
|
|
test/wcc/data/samemodprefer/pos
|
|
examples/mandelbrot/mandelbrot
|
|
examples/cmatrix/cmatrix
|
|
examples/lisp/lisp
|
|
examples/lisp/lisp_test
|
|
|
|
# Stage-0 binaries under bootstrap/<arch>/. Untracked by default —
|
|
# committing them is the v1.0 lock per PLAN.md (the new trust
|
|
# surface). `make bootstrap-snapshot` populates the dir from the
|
|
# current wwstage; `make nocc` verifies they self-reproduce.
|
|
# To ship, `git add -f bootstrap/amd64/{ww,w6c,w6a,w6l}` explicitly.
|
|
bootstrap/*/*
|