6 Commits
Author SHA1 Message Date
velzieandClaude Opus 5.5 598058bb99 The winebuild prototype leaves for gexdev; the lint's last unreached scripts are listed tools
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
2026-11-04 17:36:33 -05:00
velzieandClaude Opus 5.5 11e90b5ef7 Tests outside run.mjs and cargo leave gex for gexdev
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
2026-11-04 17:30:50 -05:00
velzieandClaude Opus 5.5 a6e7c17f9e Restructure: hosts/, page/, ports/, site/, toolchain/, wine/, scripts/
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
2026-11-04 17:30:24 -05:00
velzieandClaude Opus 5.5 36aeda96e8 toolchain pins: the published LLVM fork; make gexcc fetches it at the pin
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
2026-11-04 17:15:03 -05:00
velzieandClaude Opus 5.5 fb64e47817 public tools: web/page-site.mjs, which a site pipeline outside gex calls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
2026-11-04 17:15:02 -05:00
velzieandClaude Opus 5.5 9218392a74 A top-level Makefile as the front door, and task-shaped READMEs
`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
2026-11-04 17:15:02 -05:00