hosts/browser's check-*.mjs runners (all but check-glue and check-kernel,
which the host builds run), page/test's harness and option checks, the eject
site checks, the lockstep drivers, the diff fuzzers (out of the workspace
too), and the native-libs bench. What stays: test/run.mjs and cargo test.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
The tree by what each part is, behind the top-level Makefile:
- shims/ -> hosts/ (the browser, kernel, native and Wayland hosts)
- web/ -> page/ (the page's source, build and serve), ports/mesa,
ports/xwayland and ports/tint (the ports the page loads), site/ (static
sites and the eject page)
- tools/gexcc -> toolchain/gexcc, with the sysroot and busybox builds from
tools/wine-wasm in toolchain/sysroot and toolchain/busybox, and one
toolchain/pins (musl, the LP64 musl, LLVM, busybox)
- tools/wine-wasm -> wine/: dist.sh (was wine64-dist.sh), wine.pins (64-bit
Wine, and the 32-bit tree its wineserver builds from), libs.pins (the Unix
libraries), the 32-bit-only pieces in wine/legacy32 (its own pins and
legacy.mk, which wine/Makefile includes)
- tools/*.py and tools/*.sh -> scripts/ (the GL generators in scripts/gl)
- wine32/src.sh is scripts/fetch-pinned.sh, which takes the trees the old
script marked as its own
References follow the moves: paths from the tree's root by the map, paths
from a script's own directory by where their target went.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
The fetch is shallow (the pinned commit's tree, not its history). A given
LLVM_SRC is used as it is, and LLVM_SEED fills the mirror with no network.
make gexcc builds only the x86 gexc it needs when that is missing.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
`make help` lists the targets a newcomer needs (gexc, page, wine, gexcc,
mesa, test) and `make help-all` every one. Each builds from this tree and
its pins, fetching sources through persistent bare mirrors
(scripts/fetch-pinned.sh), and prints what it made. The sysroots, busybox,
gexcc, gexcc-win and 64-bit Wine with WoW64 are targets now, built from
the pins in tools/wine-wasm, tools/gexcc/llvm.pin and toolchain/pins.
scripts/lint-scripts.py (`make lint`) reports every script that is not a
target, not reached from one, and not a listed public tool
(scripts/public-tools).
The READMEs start from those commands: run a Linux program, build the
page, run a Windows program (64-bit Wine with WoW64 first, 32-bit Wine
marked legacy), build a program with gexcc, run the tests.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5