xbintsc 0.5.52 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/README.zh-CN.md +9 -3
- package/dist/scripts/fetch-tarball.d.ts +28 -0
- package/dist/scripts/fetch-tarball.js +57 -0
- package/dist/scripts/fetch-tarball.js.map +1 -0
- package/dist/scripts/gui-build-options.d.ts +77 -0
- package/dist/scripts/gui-build-options.js +134 -0
- package/dist/scripts/gui-build-options.js.map +1 -0
- package/dist/src/cli/help.d.ts +1 -1
- package/dist/src/cli/hints.d.ts +6 -2
- package/dist/src/cli/hints.js +16 -2
- package/dist/src/cli/hints.js.map +1 -1
- package/dist/src/cli/main.js +9 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/driver/app-artifacts.d.ts +2 -0
- package/dist/src/driver/app-artifacts.js +3 -3
- package/dist/src/driver/app-artifacts.js.map +1 -1
- package/dist/src/driver/compiler.js +147 -52
- package/dist/src/driver/compiler.js.map +1 -1
- package/dist/src/driver/icon.d.ts +1 -1
- package/dist/src/driver/icon.js +3 -3
- package/dist/src/driver/icon.js.map +1 -1
- package/dist/src/driver/macos-sdk.d.ts +32 -0
- package/dist/src/driver/macos-sdk.js +50 -0
- package/dist/src/driver/macos-sdk.js.map +1 -0
- package/dist/src/driver/options.d.ts +6 -0
- package/dist/src/driver/platform-support.d.ts +45 -0
- package/dist/src/driver/platform-support.js +66 -0
- package/dist/src/driver/platform-support.js.map +1 -0
- package/dist/src/driver/prebuilt.d.ts +26 -0
- package/dist/src/driver/prebuilt.js +58 -0
- package/dist/src/driver/prebuilt.js.map +1 -0
- package/dist/src/driver/runtime-objects.d.ts +11 -0
- package/dist/src/driver/runtime-objects.js +14 -5
- package/dist/src/driver/runtime-objects.js.map +1 -1
- package/dist/src/driver/toolchain-provider.d.ts +8 -0
- package/dist/src/driver/toolchain-provider.js +8 -0
- package/dist/src/driver/toolchain-provider.js.map +1 -1
- package/dist/src/driver/toolchain.d.ts +20 -1
- package/dist/src/driver/toolchain.js +19 -0
- package/dist/src/driver/toolchain.js.map +1 -1
- package/dist/src/driver/version.d.ts +1 -1
- package/dist/src/driver/version.js +1 -1
- package/dist/src/driver/version.js.map +1 -1
- package/dist/src/driver/win-entry.d.ts +1 -1
- package/dist/src/driver/win-entry.js +4 -4
- package/dist/src/driver/win-entry.js.map +1 -1
- package/dist/src/extensions/gui/html.d.ts +10 -7
- package/dist/src/extensions/gui/html.js +53 -29
- package/dist/src/extensions/gui/html.js.map +1 -1
- package/dist/src/extensions/node/child_process/index.d.ts +4 -3
- package/dist/src/extensions/node/child_process/index.js +4 -3
- package/dist/src/extensions/node/child_process/index.js.map +1 -1
- package/dist/tests/cli/hints.test.js +9 -1
- package/dist/tests/cli/hints.test.js.map +1 -1
- package/dist/tests/cli/main.test.js +9 -0
- package/dist/tests/cli/main.test.js.map +1 -1
- package/dist/tests/driver/compiler.test.js +107 -0
- package/dist/tests/driver/compiler.test.js.map +1 -1
- package/dist/tests/driver/cxx-compile-flags.test.d.ts +1 -0
- package/dist/tests/driver/cxx-compile-flags.test.js +24 -0
- package/dist/tests/driver/cxx-compile-flags.test.js.map +1 -0
- package/dist/tests/driver/macos-sdk.test.d.ts +1 -0
- package/dist/tests/driver/macos-sdk.test.js +83 -0
- package/dist/tests/driver/macos-sdk.test.js.map +1 -0
- package/dist/tests/driver/platform-support.test.d.ts +1 -0
- package/dist/tests/driver/platform-support.test.js +41 -0
- package/dist/tests/driver/platform-support.test.js.map +1 -0
- package/dist/tests/driver/prebuilt.test.d.ts +1 -0
- package/dist/tests/driver/prebuilt.test.js +44 -0
- package/dist/tests/driver/prebuilt.test.js.map +1 -0
- package/dist/tests/driver/toolchain-provider.test.js +24 -0
- package/dist/tests/driver/toolchain-provider.test.js.map +1 -1
- package/dist/tests/driver/toolchain.test.js +23 -0
- package/dist/tests/driver/toolchain.test.js.map +1 -1
- package/dist/tests/e2e/async-await.test.js +4 -2
- package/dist/tests/e2e/async-await.test.js.map +1 -1
- package/dist/tests/e2e/compile-node.test.js +21 -0
- package/dist/tests/e2e/compile-node.test.js.map +1 -1
- package/dist/tests/e2e/fetch.test.js +34 -6
- package/dist/tests/e2e/fetch.test.js.map +1 -1
- package/dist/tests/e2e/gui-example-pelican3d.test.d.ts +10 -0
- package/dist/tests/e2e/gui-example-pelican3d.test.js +94 -0
- package/dist/tests/e2e/gui-example-pelican3d.test.js.map +1 -0
- package/dist/tests/e2e/gui-script.test.js +48 -0
- package/dist/tests/e2e/gui-script.test.js.map +1 -1
- package/dist/tests/e2e/unhandled-rejection.test.d.ts +14 -0
- package/dist/tests/e2e/unhandled-rejection.test.js +107 -0
- package/dist/tests/e2e/unhandled-rejection.test.js.map +1 -0
- package/dist/tests/extensions/gui.test.js +44 -0
- package/dist/tests/extensions/gui.test.js.map +1 -1
- package/dist/tests/scripts/fetch-tarball.test.d.ts +1 -0
- package/dist/tests/scripts/fetch-tarball.test.js +70 -0
- package/dist/tests/scripts/fetch-tarball.test.js.map +1 -0
- package/doc/ai/cli.md +6 -0
- package/doc/ai/language-support.md +1 -0
- package/doc/ai/troubleshooting.md +32 -2
- package/doc/ai/zh-CN/cli.md +5 -0
- package/doc/ai/zh-CN/language-support.md +1 -0
- package/doc/ai/zh-CN/troubleshooting.md +27 -2
- package/doc/gui/build.md +7 -3
- package/doc/gui/dom.md +3 -1
- package/doc/gui/webgl.md +4 -0
- package/doc/gui-scripts.md +33 -17
- package/doc/gui.md +17 -1
- package/doc/implemented/async.md +1 -0
- package/doc/implemented/modules.md +9 -6
- package/doc/implemented/node/child-process.md +12 -4
- package/doc/implemented/runtime-core.md +1 -1
- package/doc/npm-package.md +23 -2
- package/doc/post/make-js-great-again.md +30 -0
- package/doc/requirements.md +31 -0
- package/doc/unimplemented/deviations.md +1 -0
- package/doc/zh-CN/gui/build.md +4 -2
- package/doc/zh-CN/gui/dom.md +3 -1
- package/doc/zh-CN/gui/webgl.md +1 -0
- package/doc/zh-CN/gui-scripts.md +23 -11
- package/doc/zh-CN/gui.md +11 -1
- package/doc/zh-CN/implemented/async.md +1 -0
- package/doc/zh-CN/implemented/modules.md +8 -4
- package/doc/zh-CN/implemented/node/child-process.md +10 -3
- package/doc/zh-CN/implemented/runtime-core.md +1 -1
- package/doc/zh-CN/npm-package.md +18 -1
- package/doc/zh-CN/post/make-js-great-again.md +32 -0
- package/doc/zh-CN/requirements.md +25 -0
- package/doc/zh-CN/unimplemented/deviations.md +1 -0
- package/package.json +7 -7
- package/runtime/ext_node/child_process/child_process.c +149 -7
- package/runtime/rt.h +4 -0
- package/runtime/xt_async.c +4 -0
- package/runtime/xt_generator.c +2 -0
- package/runtime/xt_loop.c +8 -4
- package/runtime/xt_promise.c +103 -0
- package/scripts/build-gui.ts +17 -5
- package/scripts/build-media.ts +89 -10
- package/scripts/build-runtime.ts +7 -2
- package/scripts/fetch-tarball.ts +71 -0
- package/scripts/gui-build-cache.ts +28 -0
- package/scripts/gui-build-options.ts +26 -2
- package/scripts/package-release.ts +8 -0
- package/src/cli/hints.ts +19 -2
- package/src/cli/main.ts +11 -0
- package/src/driver/app-artifacts.ts +5 -3
- package/src/driver/compiler.ts +167 -56
- package/src/driver/icon.ts +3 -2
- package/src/driver/macos-sdk.ts +52 -0
- package/src/driver/options.ts +6 -0
- package/src/driver/platform-support.ts +69 -0
- package/src/driver/prebuilt.ts +61 -0
- package/src/driver/runtime-objects.ts +26 -5
- package/src/driver/toolchain-provider.ts +11 -0
- package/src/driver/toolchain.ts +26 -1
- package/src/driver/version.ts +1 -1
- package/src/driver/win-entry.ts +4 -3
- package/src/extensions/gui/html.ts +61 -31
- package/src/extensions/node/child_process/index.ts +4 -3
package/README.md
CHANGED
|
@@ -135,7 +135,7 @@ an archive from the
|
|
|
135
135
|
[Releases page](https://github.com/zy445566/xbintsc/releases/latest) (here
|
|
136
136
|
`xbintsc-<version>-win32-x64.tar.zst`; use `-arm64` on Windows on ARM) and run the
|
|
137
137
|
commands below in an **x64 Native Tools Command Prompt for VS 2022** (Windows on
|
|
138
|
-
ARM: **ARM64 Native Tools**) — Windows
|
|
138
|
+
ARM: **ARM64 Native Tools**) — Windows 11+ ships `tar`:
|
|
139
139
|
|
|
140
140
|
```powershell
|
|
141
141
|
# 1. Verify the checksum (optional but recommended)
|
|
@@ -311,8 +311,12 @@ In a project, list the extension in `xbintsc.config.json`
|
|
|
311
311
|
`node`. `XT_GUI_AUTOCLOSE_MS=<ms>` closes all windows after a delay, which is how
|
|
312
312
|
the end-to-end tests run the examples headlessly.
|
|
313
313
|
|
|
314
|
-
[`examples/gui/pelican-bike`](./examples/gui/pelican-bike) is a playable 2D game
|
|
314
|
+
[`examples/gui/pelican-bike`](./examples/gui/pelican-bike) is a playable 2D game made with DOM elements
|
|
315
|
+
[`examples/gui/pelican-canvas`](./examples/gui/pelican-canvas) is a playable 2D game made with canvas
|
|
315
316
|
whose document also opens unchanged in a browser.
|
|
317
|
+
[`examples/gui/pelican-3d`](./examples/gui/pelican-3d) goes one step further: a
|
|
318
|
+
WebGL 2 low-poly pelican on a bicycle, built from nine ES modules with
|
|
319
|
+
`AudioContext`-synthesized bells, wind and jump sounds.
|
|
316
320
|
|
|
317
321
|
Platforms and full details: [doc/gui.md](./doc/gui.md) is the engine overview
|
|
318
322
|
(architecture and roadmap); the per-function documents live under
|
|
@@ -450,6 +454,8 @@ See [Requirements](./doc/requirements.md) for the full, per-platform list.
|
|
|
450
454
|
|
|
451
455
|
- Node.js 22+ — to run the compiler from npm or from source; released binaries
|
|
452
456
|
are standalone
|
|
457
|
+
- macOS 11.0+ / Windows 11+ / Linux glibc 2.39+ — the floors the released
|
|
458
|
+
binaries and prebuilt archives are built for
|
|
453
459
|
- macOS: the Xcode Command Line Tools (`xcode-select --install`)
|
|
454
460
|
- Windows: the Visual Studio C++ build tools (MSVC, MSBuild and the bundled
|
|
455
461
|
LLVM; `scripts/setup-vs-toolchain.ps1` imports that exact toolchain)
|
package/README.zh-CN.md
CHANGED
|
@@ -117,7 +117,7 @@ tar -xf xbintsc-<version>-darwin-arm64.tar.zst
|
|
|
117
117
|
[Releases 页面](https://github.com/zy445566/xbintsc/releases/latest) 下载对应归档
|
|
118
118
|
(此处为 `xbintsc-<version>-win32-x64.tar.zst`;Windows on ARM 请用 `-arm64`),
|
|
119
119
|
然后在 **x64 Native Tools Command Prompt for VS 2022**(Windows on ARM 用
|
|
120
|
-
**ARM64 Native Tools**)中执行以下命令 —— Windows
|
|
120
|
+
**ARM64 Native Tools**)中执行以下命令 —— Windows 11+ 自带 `tar`:
|
|
121
121
|
|
|
122
122
|
```powershell
|
|
123
123
|
# 1. 校验哈希(可选,但推荐)
|
|
@@ -253,8 +253,13 @@ xbintsc run examples/gui/media.ts --ext gui
|
|
|
253
253
|
`--ext gui`,与 `node` 完全一样。设置 `XT_GUI_AUTOCLOSE_MS=<ms>` 可在指定毫秒后
|
|
254
254
|
自动关闭所有窗口,端到端测试正是用它无头运行示例。
|
|
255
255
|
|
|
256
|
-
仓库里的示例是
|
|
257
|
-
|
|
256
|
+
仓库里的示例是
|
|
257
|
+
[`examples/gui/pelican-bike`](./examples/gui/pelican-bike)
|
|
258
|
+
[`examples/gui/pelican-canvas`](./examples/gui/pelican-canvas)
|
|
259
|
+
——一个可玩的 2D 游戏(分别使用dom和canvas绘制),它的同一份文档在浏览器里也能直接打开。
|
|
260
|
+
[`examples/gui/pelican-3d`](./examples/gui/pelican-3d) 更进一步:一个用九个 ES
|
|
261
|
+
module 搭起来的 WebGL 2 低多边形鹈鹕骑车场景,并用 `AudioContext` 合成车铃、
|
|
262
|
+
风声和跳跃音效。
|
|
258
263
|
|
|
259
264
|
平台与完整说明:[doc/zh-CN/gui.md](./doc/zh-CN/gui.md) 是引擎总览(架构与
|
|
260
265
|
路线图);按功能拆分的文档位于 [doc/zh-CN/gui/](./doc/zh-CN/gui) —— API、
|
|
@@ -377,6 +382,7 @@ V8 只能看到编译器自身的源码,因此 `npm run coverage:runtime` 改
|
|
|
377
382
|
[使用前置要求](./doc/zh-CN/requirements.md)。
|
|
378
383
|
|
|
379
384
|
- Node.js 22+ —— 从 npm 或源码运行编译器时需要;发布版二进制是独立的
|
|
385
|
+
- macOS 11.0+ / Windows 11+ / Linux glibc 2.39+ —— 发布二进制和预编译归档面向的最低版本
|
|
380
386
|
- macOS:Xcode Command Line Tools(`xcode-select --install`)
|
|
381
387
|
- Windows:LLVM + Visual Studio C++ 生成工具(MSVC ABI)
|
|
382
388
|
- Linux:发行版提供的 `clang` 与 `lld`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Fetch a pinned release tarball for the vendored toolchain.
|
|
4
|
+
*
|
|
5
|
+
* `scripts/build-media.ts` (FFmpeg) and `scripts/build-gui.ts` (SDL3, FreeType,
|
|
6
|
+
* HarfBuzz, glslang, SPIRV-Cross) build from release tarballs downloaded at
|
|
7
|
+
* build time. A single `curl` is not reliable enough for that: hosted CI
|
|
8
|
+
* runners and some networks intermittently fail the TLS handshake with the
|
|
9
|
+
* release hosts — `curl: (35) SSL connect error` — and the next attempt
|
|
10
|
+
* usually succeeds. CI also caches the tarball by version, so with a retry here
|
|
11
|
+
* the download happens at most once per release rather than once per run.
|
|
12
|
+
*
|
|
13
|
+
* The bytes are written to `<destination>.part` and renamed only after curl
|
|
14
|
+
* reports success: an interrupted transfer can then never be mistaken for a
|
|
15
|
+
* complete tarball, neither by this run nor by a later one that restores the
|
|
16
|
+
* directory from `actions/cache`.
|
|
17
|
+
*/
|
|
18
|
+
export interface DownloadOptions {
|
|
19
|
+
/** Total attempts, including the first. */
|
|
20
|
+
attempts?: number;
|
|
21
|
+
/** Base backoff in milliseconds; attempt n waits `retryDelayMs * n`. */
|
|
22
|
+
retryDelayMs?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Download `url` to `destination`, retrying the transient failures above.
|
|
26
|
+
* Throws when the transfer still fails, leaving no `.part` file behind.
|
|
27
|
+
*/
|
|
28
|
+
export declare function downloadTarball(destination: string, url: string, label: string, options?: DownloadOptions): void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Fetch a pinned release tarball for the vendored toolchain.
|
|
4
|
+
*
|
|
5
|
+
* `scripts/build-media.ts` (FFmpeg) and `scripts/build-gui.ts` (SDL3, FreeType,
|
|
6
|
+
* HarfBuzz, glslang, SPIRV-Cross) build from release tarballs downloaded at
|
|
7
|
+
* build time. A single `curl` is not reliable enough for that: hosted CI
|
|
8
|
+
* runners and some networks intermittently fail the TLS handshake with the
|
|
9
|
+
* release hosts — `curl: (35) SSL connect error` — and the next attempt
|
|
10
|
+
* usually succeeds. CI also caches the tarball by version, so with a retry here
|
|
11
|
+
* the download happens at most once per release rather than once per run.
|
|
12
|
+
*
|
|
13
|
+
* The bytes are written to `<destination>.part` and renamed only after curl
|
|
14
|
+
* reports success: an interrupted transfer can then never be mistaken for a
|
|
15
|
+
* complete tarball, neither by this run nor by a later one that restores the
|
|
16
|
+
* directory from `actions/cache`.
|
|
17
|
+
*/
|
|
18
|
+
import { spawnSync } from "node:child_process";
|
|
19
|
+
import { renameSync, rmSync } from "node:fs";
|
|
20
|
+
/** curl exit codes of transfers that may succeed when repeated: name
|
|
21
|
+
* resolution (6), connect timeout (28), TLS handshake (35), empty reply (52),
|
|
22
|
+
* send failure (55) and connection reset (56). Everything else — a 404, a
|
|
23
|
+
* permission error — is reported immediately. */
|
|
24
|
+
const TRANSIENT_STATUSES = new Set([6, 28, 35, 52, 55, 56]);
|
|
25
|
+
/** Block the single-threaded build long enough for a fresh TLS handshake. */
|
|
26
|
+
function pause(ms) {
|
|
27
|
+
if (ms <= 0)
|
|
28
|
+
return;
|
|
29
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Download `url` to `destination`, retrying the transient failures above.
|
|
33
|
+
* Throws when the transfer still fails, leaving no `.part` file behind.
|
|
34
|
+
*/
|
|
35
|
+
export function downloadTarball(destination, url, label, options = {}) {
|
|
36
|
+
const attempts = options.attempts ?? 6;
|
|
37
|
+
const retryDelayMs = options.retryDelayMs ?? 3_000;
|
|
38
|
+
const partial = `${destination}.part`;
|
|
39
|
+
rmSync(partial, { force: true });
|
|
40
|
+
for (let attempt = 1;; attempt += 1) {
|
|
41
|
+
const note = attempt === 1 ? "" : ` (attempt ${attempt}/${attempts})`;
|
|
42
|
+
console.log(`xbintsc: fetching ${label} from ${url}${note}`);
|
|
43
|
+
const { status } = spawnSync("curl", ["-sL", "--fail", "--connect-timeout", "30", "-o", partial, url], {
|
|
44
|
+
stdio: ["ignore", "inherit", "inherit"],
|
|
45
|
+
});
|
|
46
|
+
if (status === 0) {
|
|
47
|
+
renameSync(partial, destination);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (status === null || !TRANSIENT_STATUSES.has(status) || attempt >= attempts) {
|
|
51
|
+
rmSync(partial, { force: true });
|
|
52
|
+
throw new Error(`${label}: curl ${url} failed with status ${status ?? "?"}`);
|
|
53
|
+
}
|
|
54
|
+
pause(retryDelayMs * attempt);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=fetch-tarball.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-tarball.js","sourceRoot":"","sources":["../../scripts/fetch-tarball.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7C;;;iDAGiD;AACjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAS5D,6EAA6E;AAC7E,SAAS,KAAK,CAAC,EAAU;IACvB,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO;IACpB,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,GAAW,EACX,KAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,OAAO,GAAG,GAAG,WAAW,OAAO,CAAC;IACtC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,OAAO,IAAI,QAAQ,GAAG,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;YACrG,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC9E,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,GAAG,uBAAuB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build options shared by the GUI and media archive builds.
|
|
3
|
+
*
|
|
4
|
+
* Kept apart from `build-gui.ts` so the orchestration stays under the
|
|
5
|
+
* repository's per-file line budget and the "what do we compile out?" policy is
|
|
6
|
+
* reviewable in one place.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* CMake generator and ABI settings used for every vendored library. Ninja is
|
|
10
|
+
* selected on Windows because the Visual Studio generator imports the
|
|
11
|
+
* machine-wide MSBuild/vcpkg integration, whose `LIBPATH` shadows the Windows
|
|
12
|
+
* SDK and makes the compiler probe fail with
|
|
13
|
+
* `LNK1104: cannot open file 'ucrtd.lib'`.
|
|
14
|
+
*
|
|
15
|
+
* `CMAKE_MSVC_RUNTIME_LIBRARY` is pinned to the *static* CRT (`MultiThreaded`),
|
|
16
|
+
* which is clang's Windows default (`-defaultlib:libcmt`) and what xbintsc uses
|
|
17
|
+
* for its own runtime objects. Building the vendored libraries against the DLL
|
|
18
|
+
* CRT instead fails the final link with
|
|
19
|
+
* `LNK2038: mismatch detected for 'RuntimeLibrary'`. The variable only takes
|
|
20
|
+
* effect when policy CMP0091 is NEW, but some vendored projects declare
|
|
21
|
+
* `cmake_minimum_required` below 3.15, which defaults the policy to OLD and
|
|
22
|
+
* silently ignores it — hence `CMAKE_POLICY_DEFAULT_CMP0091`.
|
|
23
|
+
*
|
|
24
|
+
* On macOS every vendored library targets the oldest supported deployment
|
|
25
|
+
* target (`MACOSX_DEPLOYMENT_TARGET`, default 11.0), so a newer SDK on the
|
|
26
|
+
* build machine cannot raise the floor of the archive.
|
|
27
|
+
*
|
|
28
|
+
* The tool paths are absolute and come from the same clang the driver resolves
|
|
29
|
+
* (on Windows, the LLVM bundled with Visual Studio when no newer one is on
|
|
30
|
+
* `PATH`), so every object merged into the archive shares one ABI and one
|
|
31
|
+
* optimization behaviour. Never leave these as bare `clang`/`clang++`: an older
|
|
32
|
+
* compiler earlier on `PATH` may be picked up at build time.
|
|
33
|
+
*/
|
|
34
|
+
export declare function cmakeToolchainArgs(toolchain: {
|
|
35
|
+
readonly clang: string;
|
|
36
|
+
readonly clangxx: string;
|
|
37
|
+
readonly llvmAr: string;
|
|
38
|
+
readonly isWindows: boolean;
|
|
39
|
+
}): string[];
|
|
40
|
+
/** One function/data item per section, so the linker can drop what a program
|
|
41
|
+
* never references (`--gc-sections`, `-dead_strip`, link.exe `/OPT:REF`). */
|
|
42
|
+
export declare const SECTION_FLAGS: readonly ["-ffunction-sections", "-fdata-sections"];
|
|
43
|
+
/**
|
|
44
|
+
* Flags for the C++ translation units merged into the GUI and media archives.
|
|
45
|
+
*
|
|
46
|
+
* `sdkRoot` must be passed as `-isysroot`: an Apple clang invoked by absolute
|
|
47
|
+
* path never infers its sysroot, and macOS keeps every standard header —
|
|
48
|
+
* libc++'s `<string>` included — inside the SDK rather than in `/usr/include`
|
|
49
|
+
* or the toolchain. Without it the first translation unit fails with
|
|
50
|
+
* `'string' file not found`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function cxxCompileFlags(sdkRoot: string | undefined, includeFlags: readonly string[]): string[];
|
|
53
|
+
/** The same flags as CMake cache entries. */
|
|
54
|
+
export declare const SECTION_CMAKE_FLAGS: string[];
|
|
55
|
+
/**
|
|
56
|
+
* HarfBuzz APIs the engine never uses (draw/paint/color/name/style/metrics/…).
|
|
57
|
+
* `HB_NO_CFF`, `HB_NO_OPEN`, `HB_NO_VAR` and `HB_NO_HINTING` are deliberately
|
|
58
|
+
* *not* set: the shaping backend must load files and keep CFF/OTF and
|
|
59
|
+
* variable-font shaping. `HB_NO_MT` is safe because text is shaped on the main
|
|
60
|
+
* thread.
|
|
61
|
+
*
|
|
62
|
+
* `HB_NO_PRAGMA_GCC_DIAGNOSTIC_ERROR` is needed because HarfBuzz raises its
|
|
63
|
+
* "should never happen" warning set to errors inside `src/hb.hh`, *after* the
|
|
64
|
+
* command line, so a lean define that leaves a helper unreferenced becomes a
|
|
65
|
+
* hard compile error. macOS is where that bites: `HB_NO_MMAP` leaves
|
|
66
|
+
* `_open_resource_fork` unused (`hb-blob.cc`) and `HB_NO_OT_FONT_GLYPH_NAMES`
|
|
67
|
+
* leaves the CoreText glyph-name helpers unused (`hb-coretext-font.cc`). With
|
|
68
|
+
* this define they are warnings again; every other lean define still applies.
|
|
69
|
+
*/
|
|
70
|
+
export declare const HB_LEAN_DEFINES: string[];
|
|
71
|
+
/**
|
|
72
|
+
* SDL subsystems the GUI engine never calls. Disabling them removes whole
|
|
73
|
+
* translation units (joystick/gamepad/HIDAPI, haptics, sensors, camera, the
|
|
74
|
+
* SDL_Render software blitter and the OpenGL/offscreen video drivers) from the
|
|
75
|
+
* static archive. Audio, video, events, dialogs and SDL_GPU stay enabled.
|
|
76
|
+
*/
|
|
77
|
+
export declare const LEAN_SDL_OPTIONS: string[];
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build options shared by the GUI and media archive builds.
|
|
3
|
+
*
|
|
4
|
+
* Kept apart from `build-gui.ts` so the orchestration stays under the
|
|
5
|
+
* repository's per-file line budget and the "what do we compile out?" policy is
|
|
6
|
+
* reviewable in one place.
|
|
7
|
+
*/
|
|
8
|
+
import { MACOS_MINIMUM_VERSION } from "../src/driver/platform-support.js";
|
|
9
|
+
import { sysrootFlags } from "../src/driver/toolchain.js";
|
|
10
|
+
/**
|
|
11
|
+
* CMake generator and ABI settings used for every vendored library. Ninja is
|
|
12
|
+
* selected on Windows because the Visual Studio generator imports the
|
|
13
|
+
* machine-wide MSBuild/vcpkg integration, whose `LIBPATH` shadows the Windows
|
|
14
|
+
* SDK and makes the compiler probe fail with
|
|
15
|
+
* `LNK1104: cannot open file 'ucrtd.lib'`.
|
|
16
|
+
*
|
|
17
|
+
* `CMAKE_MSVC_RUNTIME_LIBRARY` is pinned to the *static* CRT (`MultiThreaded`),
|
|
18
|
+
* which is clang's Windows default (`-defaultlib:libcmt`) and what xbintsc uses
|
|
19
|
+
* for its own runtime objects. Building the vendored libraries against the DLL
|
|
20
|
+
* CRT instead fails the final link with
|
|
21
|
+
* `LNK2038: mismatch detected for 'RuntimeLibrary'`. The variable only takes
|
|
22
|
+
* effect when policy CMP0091 is NEW, but some vendored projects declare
|
|
23
|
+
* `cmake_minimum_required` below 3.15, which defaults the policy to OLD and
|
|
24
|
+
* silently ignores it — hence `CMAKE_POLICY_DEFAULT_CMP0091`.
|
|
25
|
+
*
|
|
26
|
+
* On macOS every vendored library targets the oldest supported deployment
|
|
27
|
+
* target (`MACOSX_DEPLOYMENT_TARGET`, default 11.0), so a newer SDK on the
|
|
28
|
+
* build machine cannot raise the floor of the archive.
|
|
29
|
+
*
|
|
30
|
+
* The tool paths are absolute and come from the same clang the driver resolves
|
|
31
|
+
* (on Windows, the LLVM bundled with Visual Studio when no newer one is on
|
|
32
|
+
* `PATH`), so every object merged into the archive shares one ABI and one
|
|
33
|
+
* optimization behaviour. Never leave these as bare `clang`/`clang++`: an older
|
|
34
|
+
* compiler earlier on `PATH` may be picked up at build time.
|
|
35
|
+
*/
|
|
36
|
+
export function cmakeToolchainArgs(toolchain) {
|
|
37
|
+
const compilers = [
|
|
38
|
+
`-DCMAKE_C_COMPILER=${toolchain.clang}`,
|
|
39
|
+
`-DCMAKE_CXX_COMPILER=${toolchain.clangxx}`,
|
|
40
|
+
];
|
|
41
|
+
const macos = process.platform === "darwin"
|
|
42
|
+
? [`-DCMAKE_OSX_DEPLOYMENT_TARGET=${process.env.CMAKE_OSX_DEPLOYMENT_TARGET ?? MACOS_MINIMUM_VERSION}`]
|
|
43
|
+
: [];
|
|
44
|
+
if (!toolchain.isWindows)
|
|
45
|
+
return [...compilers, ...macos];
|
|
46
|
+
return [
|
|
47
|
+
"-G", "Ninja",
|
|
48
|
+
"-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded",
|
|
49
|
+
"-DCMAKE_POLICY_DEFAULT_CMP0091=NEW",
|
|
50
|
+
...compilers,
|
|
51
|
+
`-DCMAKE_AR=${toolchain.llvmAr}`,
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
/** One function/data item per section, so the linker can drop what a program
|
|
55
|
+
* never references (`--gc-sections`, `-dead_strip`, link.exe `/OPT:REF`). */
|
|
56
|
+
export const SECTION_FLAGS = ["-ffunction-sections", "-fdata-sections"];
|
|
57
|
+
/**
|
|
58
|
+
* Flags for the C++ translation units merged into the GUI and media archives.
|
|
59
|
+
*
|
|
60
|
+
* `sdkRoot` must be passed as `-isysroot`: an Apple clang invoked by absolute
|
|
61
|
+
* path never infers its sysroot, and macOS keeps every standard header —
|
|
62
|
+
* libc++'s `<string>` included — inside the SDK rather than in `/usr/include`
|
|
63
|
+
* or the toolchain. Without it the first translation unit fails with
|
|
64
|
+
* `'string' file not found`.
|
|
65
|
+
*/
|
|
66
|
+
export function cxxCompileFlags(sdkRoot, includeFlags) {
|
|
67
|
+
return ["-std=c++17", "-O2", "-Wall", "-Wextra", ...SECTION_FLAGS, ...sysrootFlags(sdkRoot), ...includeFlags];
|
|
68
|
+
}
|
|
69
|
+
/** The same flags as CMake cache entries. */
|
|
70
|
+
export const SECTION_CMAKE_FLAGS = [
|
|
71
|
+
`-DCMAKE_C_FLAGS=${SECTION_FLAGS.join(" ")}`,
|
|
72
|
+
`-DCMAKE_CXX_FLAGS=${SECTION_FLAGS.join(" ")}`,
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* HarfBuzz APIs the engine never uses (draw/paint/color/name/style/metrics/…).
|
|
76
|
+
* `HB_NO_CFF`, `HB_NO_OPEN`, `HB_NO_VAR` and `HB_NO_HINTING` are deliberately
|
|
77
|
+
* *not* set: the shaping backend must load files and keep CFF/OTF and
|
|
78
|
+
* variable-font shaping. `HB_NO_MT` is safe because text is shaped on the main
|
|
79
|
+
* thread.
|
|
80
|
+
*
|
|
81
|
+
* `HB_NO_PRAGMA_GCC_DIAGNOSTIC_ERROR` is needed because HarfBuzz raises its
|
|
82
|
+
* "should never happen" warning set to errors inside `src/hb.hh`, *after* the
|
|
83
|
+
* command line, so a lean define that leaves a helper unreferenced becomes a
|
|
84
|
+
* hard compile error. macOS is where that bites: `HB_NO_MMAP` leaves
|
|
85
|
+
* `_open_resource_fork` unused (`hb-blob.cc`) and `HB_NO_OT_FONT_GLYPH_NAMES`
|
|
86
|
+
* leaves the CoreText glyph-name helpers unused (`hb-coretext-font.cc`). With
|
|
87
|
+
* this define they are warnings again; every other lean define still applies.
|
|
88
|
+
*/
|
|
89
|
+
export const HB_LEAN_DEFINES = [
|
|
90
|
+
"-DHB_NO_PRAGMA_GCC_DIAGNOSTIC_ERROR",
|
|
91
|
+
"-DHB_NO_DRAW",
|
|
92
|
+
"-DHB_NO_PAINT",
|
|
93
|
+
"-DHB_NO_COLOR",
|
|
94
|
+
"-DHB_NO_NAME",
|
|
95
|
+
"-DHB_NO_STYLE",
|
|
96
|
+
"-DHB_NO_METRICS",
|
|
97
|
+
"-DHB_NO_MATH",
|
|
98
|
+
"-DHB_NO_META",
|
|
99
|
+
"-DHB_NO_BITMAP",
|
|
100
|
+
"-DHB_NO_VERTICAL",
|
|
101
|
+
"-DHB_NO_BUFFER_SERIALIZE",
|
|
102
|
+
"-DHB_NO_BUFFER_VERIFY",
|
|
103
|
+
"-DHB_NO_FACE_COLLECT_UNICODES",
|
|
104
|
+
"-DHB_NO_MMAP",
|
|
105
|
+
"-DHB_NO_OT_FONT_GLYPH_NAMES",
|
|
106
|
+
"-DHB_NO_LAYOUT_FEATURE_PARAMS",
|
|
107
|
+
"-DHB_NO_LAYOUT_COLLECT_GLYPHS",
|
|
108
|
+
"-DHB_NO_ERRNO",
|
|
109
|
+
"-DHB_NO_LANGUAGE_LONG",
|
|
110
|
+
"-DHB_NO_LANGUAGE_PRIVATE_SUBTAG",
|
|
111
|
+
"-DHB_NO_MT",
|
|
112
|
+
"-DHB_NO_ATEXIT",
|
|
113
|
+
"-DHB_NO_GETENV",
|
|
114
|
+
"-DHB_NO_SETLOCALE",
|
|
115
|
+
];
|
|
116
|
+
/**
|
|
117
|
+
* SDL subsystems the GUI engine never calls. Disabling them removes whole
|
|
118
|
+
* translation units (joystick/gamepad/HIDAPI, haptics, sensors, camera, the
|
|
119
|
+
* SDL_Render software blitter and the OpenGL/offscreen video drivers) from the
|
|
120
|
+
* static archive. Audio, video, events, dialogs and SDL_GPU stay enabled.
|
|
121
|
+
*/
|
|
122
|
+
export const LEAN_SDL_OPTIONS = [
|
|
123
|
+
"-DSDL_JOYSTICK=OFF",
|
|
124
|
+
"-DSDL_HAPTIC=OFF",
|
|
125
|
+
"-DSDL_SENSOR=OFF",
|
|
126
|
+
"-DSDL_CAMERA=OFF",
|
|
127
|
+
"-DSDL_RENDER=OFF",
|
|
128
|
+
"-DSDL_OPENGL=OFF",
|
|
129
|
+
"-DSDL_OPENGLES=OFF",
|
|
130
|
+
"-DSDL_OFFSCREEN=OFF",
|
|
131
|
+
"-DSDL_HIDAPI=OFF",
|
|
132
|
+
"-DSDL_DIALOG=ON",
|
|
133
|
+
];
|
|
134
|
+
//# sourceMappingURL=gui-build-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gui-build-options.js","sourceRoot":"","sources":["../../scripts/gui-build-options.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAKlC;IACC,MAAM,SAAS,GAAG;QAChB,sBAAsB,SAAS,CAAC,KAAK,EAAE;QACvC,wBAAwB,SAAS,CAAC,OAAO,EAAE;KAC5C,CAAC;IACF,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,iCAAiC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,qBAAqB,EAAE,CAAC;QACvG,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;IAC1D,OAAO;QACL,IAAI,EAAE,OAAO;QACb,4CAA4C;QAC5C,oCAAoC;QACpC,GAAG,SAAS;QACZ,cAAc,SAAS,CAAC,MAAM,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAU,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B,EAAE,YAA+B;IAC1F,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;AAChH,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mBAAmB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC5C,qBAAqB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;CAC/C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qCAAqC;IACrC,cAAc;IACd,eAAe;IACf,eAAe;IACf,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAC1B,uBAAuB;IACvB,+BAA+B;IAC/B,cAAc;IACd,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAC/B,eAAe;IACf,uBAAuB;IACvB,iCAAiC;IACjC,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC"}
|
package/dist/src/cli/help.d.ts
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* It lives apart from the command dispatch so the executable entry point stays
|
|
5
5
|
* under the repository's per-file line budget; the text is data, not logic.
|
|
6
6
|
*/
|
|
7
|
-
export declare const HELP = "xbintsc 0.
|
|
7
|
+
export declare const HELP = "xbintsc 0.6.8 - TypeScript binary compiler\n\nUsage:\n xbintsc build <file.ts> [options] Compile to a native binary\n xbintsc run <file.ts> [-- args] Compile and execute\n xbintsc check <file.ts> Parse, bind and check without linking\n xbintsc watch <file.ts> [options] Rebuild whenever the source tree changes\n xbintsc emit <file.ts> Print LLVM IR\n xbintsc doctor Report the resolved toolchain\n xbintsc version Print the version\n xbintsc help Show this message\n\nOptions:\n -o, --output <path> Output path\n --out <dir> Output directory (default: build/)\n --emit <kind> exe | obj | ir (default: exe)\n -O0..-O3 Optimization level (default: -O2)\n --ext <names> Comma separated extensions (e.g. node,gui)\n --feature <names> Force optional link features on (media,gpu,images,shaping,webgl,all)\n --no-feature <n> Keep optional link features out even when detected\n --ext-native <m> Register a C++/Rust extension from a JSON manifest\n (comma separated for several)\n --config <path> Use a project config (default: auto-detect\n xbintsc.config.json)\n --no-config Do not read any project config\n --icon <path> Embed an application icon (PNG/ICO/ICNS)\n --bundle macOS: also produce a .app bundle\n --app-name <name> Bundle / display name\n --app-id <id> macOS bundle identifier (e.g. com.example.demo)\n --force Ignore the incremental cache\n --verbose Print progress information\n --time Print per-phase build timings\n --debug Emit debug info (DWARF/CodeView) and keep frame pointers\n --check Run the semantic checker (default)\n --no-check Skip the semantic checker; only erase type syntax\n --lto Compile program and runtime to LTO bitcode; link with lld\n --pgo-generate [dir] Build an instrumented binary writing profiles to dir\n --pgo-use [dir] Build with the profiles collected from --pgo-generate\n --json Print diagnostics as a JSON array on stdout\n --no-hints Do not append the \"hint: \u2026 see <doc>\" line to failures\n\nxbintsc compiles a subset of TypeScript to a native binary. Types are erased;\nonly inference-free facts (names, redeclarations, call arity) are checked.\nNode built-ins need --ext node, packages in node_modules are bundled at build\ntime, and clang 16+ is required to link.\n\nInstalled as a project dependency (npm):\n npx xbintsc doctor\n npx xbintsc build <entry.ts> --out build\n npx xbintsc run <entry.ts>\nThe first build compiles the C runtime; later builds reuse the cache.\n\nDocs: doc/ai/README.md (task guide) - doc/ai/language-support.md (subset) -\ndoc/ai/troubleshooting.md (failures) - llms.txt (index of every document).\nWhen installed from npm, these live under node_modules/xbintsc/doc/ and\nnode_modules/xbintsc/doc/npm-package.md is the project guide.\n";
|
package/dist/src/cli/hints.d.ts
CHANGED
|
@@ -22,8 +22,12 @@ export declare const DOC_EXTENSIONS = "doc/ai/extensions.md";
|
|
|
22
22
|
export declare const DOC_TROUBLESHOOTING = "doc/ai/troubleshooting.md";
|
|
23
23
|
export declare const DOC_CLI = "doc/ai/cli.md";
|
|
24
24
|
export declare const DOC_REQUIREMENTS = "doc/requirements.md";
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Hint for a clang failure: a missing or too-old clang has a specific answer.
|
|
27
|
+
*
|
|
28
|
+
* `platform` is a parameter so the macOS branch can be tested from any host.
|
|
29
|
+
*/
|
|
30
|
+
export declare function toolchainPointer(message: string, platform?: NodeJS.Platform): DocumentationPointer;
|
|
27
31
|
/** A thrown failure the CLI can name, in table order. */
|
|
28
32
|
export interface ThrownFailure {
|
|
29
33
|
/** Tested against the thrown message. */
|
package/dist/src/cli/hints.js
CHANGED
|
@@ -23,11 +23,25 @@ const REQUIREMENT_HINT = {
|
|
|
23
23
|
text: "xbintsc needs clang 16 or newer; run `xbintsc doctor` to see the resolved toolchain",
|
|
24
24
|
path: DOC_REQUIREMENTS,
|
|
25
25
|
};
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Hint for a clang failure: a missing or too-old clang has a specific answer.
|
|
28
|
+
*
|
|
29
|
+
* `platform` is a parameter so the macOS branch can be tested from any host.
|
|
30
|
+
*/
|
|
31
|
+
export function toolchainPointer(message, platform = process.platform) {
|
|
28
32
|
const usesTypedPointers = /defined with type '\[.*i8\]\*' but expected 'i8\*'/.test(message);
|
|
29
33
|
if (usesTypedPointers || /No C compiler found/i.test(message))
|
|
30
34
|
return REQUIREMENT_HINT;
|
|
35
|
+
/* On macOS a C standard header lives in the SDK, so "'<header>' file not
|
|
36
|
+
* found" means the driver never got a sysroot — the header itself is fine.
|
|
37
|
+
* The driver resolves the SDK with `xcrun` and passes `-isysroot`, which
|
|
38
|
+
* makes the selected Xcode the thing to check. */
|
|
39
|
+
if (platform === "darwin" && /fatal error: '.+' file not found/.test(message)) {
|
|
40
|
+
return {
|
|
41
|
+
text: "clang cannot see the macOS SDK headers; `xcrun --show-sdk-path` must resolve for the selected Xcode, or set SDKROOT yourself",
|
|
42
|
+
path: DOC_TROUBLESHOOTING,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
31
45
|
return {
|
|
32
46
|
text: "read the clang output above, then the toolchain section of the troubleshooting guide",
|
|
33
47
|
path: DOC_TROUBLESHOOTING,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../src/cli/hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAmB,MAAM,8BAA8B,CAAC;AAU/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD,MAAM,YAAY,GAAyB;IACzC,IAAI,EAAE,0FAA0F;IAChG,IAAI,EAAE,oBAAoB;CAC3B,CAAC;AAEF,MAAM,gBAAgB,GAAyB;IAC7C,IAAI,EAAE,qFAAqF;IAC3F,IAAI,EAAE,gBAAgB;CACvB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../src/cli/hints.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/main.js
CHANGED
|
@@ -19,9 +19,11 @@ import { formatDiagnostic } from "../diagnostics/diagnostic.js";
|
|
|
19
19
|
import { SourceFile } from "../diagnostics/source.js";
|
|
20
20
|
import { build, compileEntry, COMPILER_VERSION } from "../driver/compiler.js";
|
|
21
21
|
import { findRuntimeDir, platformSlug } from "../driver/paths.js";
|
|
22
|
+
import { supportFloor } from "../driver/platform-support.js";
|
|
22
23
|
import { findRuntimeLibrary, runtimeLibDir } from "../driver/runtime-lib.js";
|
|
23
24
|
import { resolveToolchain } from "../driver/toolchain-provider.js";
|
|
24
25
|
import { MINIMUM_CLANG_MAJOR, probeClang, realRunner, ToolchainError } from "../driver/toolchain.js";
|
|
26
|
+
import { macosSdkRoot } from "../driver/macos-sdk.js";
|
|
25
27
|
import { DOC_CLI, DOC_TROUBLESHOOTING, documentationHints, thrownFailure, toolchainPointer, UNEXPECTED_FAILURE_HINT, } from "./hints.js";
|
|
26
28
|
import { buildRegistry, normalizeExtensions } from "./extensions.js";
|
|
27
29
|
import { resolveResourceCompiler } from "../driver/win-icon.js";
|
|
@@ -244,6 +246,13 @@ function doctor(io) {
|
|
|
244
246
|
catch {
|
|
245
247
|
io.stdout("runtime lib: unavailable\n");
|
|
246
248
|
}
|
|
249
|
+
io.stdout(`support : ${supportFloor()} (release artifacts target this floor)\n`);
|
|
250
|
+
if (process.platform === "darwin") {
|
|
251
|
+
/* macOS keeps the C headers in the SDK; without one, no header the runtime
|
|
252
|
+
* includes resolves. Report the sysroot the driver hands to clang. */
|
|
253
|
+
const sdk = toolchain?.sdkRoot ?? process.env.SDKROOT ?? macosSdkRoot(realRunner);
|
|
254
|
+
io.stdout(`sdk : ${sdk ?? "unresolved (xcrun --show-sdk-path failed)"}\n`);
|
|
255
|
+
}
|
|
247
256
|
try {
|
|
248
257
|
if (!toolchain)
|
|
249
258
|
throw new Error("no toolchain");
|
package/dist/src/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ export interface AppArtifactRequest {
|
|
|
18
18
|
readonly app: AppConfig;
|
|
19
19
|
readonly icon: IconInfo | undefined;
|
|
20
20
|
readonly env: Record<string, string>;
|
|
21
|
+
/** macOS SDK for `-isysroot`; see `sysrootFlags`. */
|
|
22
|
+
readonly sdkRoot?: string;
|
|
21
23
|
readonly verbose: boolean | undefined;
|
|
22
24
|
}
|
|
23
25
|
export interface AppArtifacts {
|
|
@@ -20,18 +20,18 @@ import { ensureWindowsIconResource, resolveResourceCompiler } from "./win-icon.j
|
|
|
20
20
|
* no equivalent.
|
|
21
21
|
*/
|
|
22
22
|
export function ensureAppArtifacts(request) {
|
|
23
|
-
const { runner, clang, cacheDir, registry, app, icon, env, verbose } = request;
|
|
23
|
+
const { runner, clang, cacheDir, registry, app, icon, env, sdkRoot, verbose } = request;
|
|
24
24
|
const windowsSubsystem = process.platform === "win32" && registry.has("gui") && app.console !== true;
|
|
25
25
|
const linkerFlags = windowsSubsystem ? ["-Wl,/SUBSYSTEM:WINDOWS"] : [];
|
|
26
26
|
const entryObject = windowsSubsystem
|
|
27
|
-
? ensureWindowsEntryObject(runner, clang, cacheDir, env)
|
|
27
|
+
? ensureWindowsEntryObject(runner, clang, cacheDir, env, sdkRoot)
|
|
28
28
|
: undefined;
|
|
29
29
|
const iconObjects = [];
|
|
30
30
|
// The GUI extension references the icon symbols unconditionally, so a GUI
|
|
31
31
|
// program gets an (empty) icon object even with no icon configured.
|
|
32
32
|
if (icon !== undefined || registry.has("gui")) {
|
|
33
33
|
try {
|
|
34
|
-
iconObjects.push(ensureIconObject(runner, clang, cacheDir, icon ?? EMPTY_ICON, env));
|
|
34
|
+
iconObjects.push(ensureIconObject(runner, clang, cacheDir, icon ?? EMPTY_ICON, env, sdkRoot));
|
|
35
35
|
if (icon && process.platform === "win32") {
|
|
36
36
|
const resourceCompiler = resolveResourceCompiler(runner, clang);
|
|
37
37
|
if (resourceCompiler) {
|