Files
velzieandClaude Opus 5.5 d7c257fac6 Remove the NT layer
Changes unit keys; rebuild inputs: the Mesa key, the Wine dist keys.

32-bit Wine (Wine's own Unix side as wasm32) and 64-bit native Wine run
Windows programs; the NT layer, gex's own Windows personality, goes.

Deleted: crates/gex-kernel/src/nt, the native and browser shims' nt.rs,
gexc's NT run path (nt_run.rs, --wine-prefix, cgen-prefix), gex-eject's
PE projects (pe.rs) and gex-rt, whose only job was running them,
tests/nt and tests/providers, and the tools/nt-gen-* generators with
their lists. tests/nt's programs move to the dev repo, which the Wine
legs already run them from.

Kept, because 32-bit Wine uses them: the trampoline unit and its
providers, aot_only, web/nt.html and nt-page.js (the Wine page),
tools/nt-stage-wine.sh (the prefix the wine32 dist stages from, now
without its unit build), and in the browser shim NATIVE_LEFT, the
in-place serve of an AOT-only run and the process end a provider asks
for, now in lib.rs. gex_provider_alloc takes Linux pages, and the
nt_qpc import returns 0: it binds only to a PE ntdll. --no-cgen is
accepted and does nothing. web/test/browser-harness.mjs is the old
tests/nt harness, for the Wine page's runner.

pewasm is gone too: the PE loader comparison test and its label
helper, and every comment that measured gex against it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_c8c04c00da9a4525ab21b0b9f146c598
2026-10-26 12:58:14 -04:00

20 lines
573 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>gex Wine test page</title>
<style>
html, body { margin: 0; background: #000; }
canvas { display: block; }
pre { color: #ccc; font: 12px monospace; margin: 4px; }
</style>
</head>
<body>
<!-- A Windows program on 32-bit Wine, its windows in the page's
compositor: tools/wine-wasm/wine32/page-run.mjs drives this. -->
<canvas id="out"></canvas>
<pre id="log"></pre>
<script type="module" src="/src/nt-page.js"></script>
</body>
</html>