xbintsc 0.3.14 → 0.3.15
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 +22 -22
- package/README.zh-CN.md +20 -19
- package/bin/xbintsc.js +1 -2
- package/dist/src/cli/main.js +4 -1
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/codegen/generator/tables.d.ts +5 -6
- package/dist/src/codegen/generator/tables.js +5 -6
- package/dist/src/codegen/generator/tables.js.map +1 -1
- package/dist/src/driver/index.d.ts +1 -2
- package/dist/src/driver/index.js +1 -2
- package/dist/src/driver/index.js.map +1 -1
- package/dist/src/driver/paths.d.ts +0 -9
- package/dist/src/driver/paths.js +0 -31
- package/dist/src/driver/paths.js.map +1 -1
- package/dist/src/driver/toolchain-provider.d.ts +10 -10
- package/dist/src/driver/toolchain-provider.js +9 -38
- package/dist/src/driver/toolchain-provider.js.map +1 -1
- package/dist/src/driver/toolchain.js +8 -2
- package/dist/src/driver/toolchain.js.map +1 -1
- package/dist/src/extensions/native.d.ts +2 -3
- package/dist/src/extensions/native.js +2 -3
- package/dist/src/extensions/native.js.map +1 -1
- package/dist/tests/driver/paths.test.js +1 -9
- package/dist/tests/driver/paths.test.js.map +1 -1
- package/dist/tests/driver/toolchain-provider.test.js +12 -79
- package/dist/tests/driver/toolchain-provider.test.js.map +1 -1
- package/dist/tests/e2e/native-extensions.test.d.ts +4 -5
- package/dist/tests/e2e/native-extensions.test.js +6 -7
- package/dist/tests/e2e/native-extensions.test.js.map +1 -1
- package/package.json +1 -2
- package/runtime/ext_node/fs/meta_ops.c +3 -3
- package/runtime/rt.h +3 -4
- package/runtime/rt_internal.h +10 -23
- package/runtime/xt_ext.h +0 -1
- package/runtime/xt_io.c +3 -3
- package/runtime/xt_stdlib2/helpers.inc +2 -4
- package/scripts/build-runtime.ts +7 -8
- package/scripts/coverage-runtime.ts +4 -4
- package/scripts/package-release.ts +12 -84
- package/src/cli/main.ts +4 -1
- package/src/codegen/generator/tables.ts +5 -6
- package/src/driver/index.ts +1 -9
- package/src/driver/paths.ts +0 -31
- package/src/driver/toolchain-provider.ts +12 -45
- package/src/driver/toolchain.ts +7 -2
- package/src/extensions/native.ts +2 -3
- package/dist/src/driver/toolchain-download.d.ts +0 -50
- package/dist/src/driver/toolchain-download.js +0 -102
- package/dist/src/driver/toolchain-download.js.map +0 -1
- package/dist/tests/driver/toolchain-download.test.d.ts +0 -1
- package/dist/tests/driver/toolchain-download.test.js +0 -53
- package/dist/tests/driver/toolchain-download.test.js.map +0 -1
- package/scripts/fetch-toolchain.ts +0 -101
- package/src/driver/toolchain-download.ts +0 -135
package/README.md
CHANGED
|
@@ -69,15 +69,15 @@ be replaced without touching the compiler.
|
|
|
69
69
|
## Usage
|
|
70
70
|
|
|
71
71
|
> **Before you start:** check the per-platform prerequisites in
|
|
72
|
-
> [Requirements](./doc/requirements.md).
|
|
73
|
-
>
|
|
74
|
-
>
|
|
75
|
-
>
|
|
72
|
+
> [Requirements](./doc/requirements.md). xbintsc does not bundle a compiler, so
|
|
73
|
+
> every platform needs a clang-compatible toolchain installed (macOS: Xcode
|
|
74
|
+
> Command Line Tools; Linux: clang+lld; Windows: LLVM + Visual Studio C++ build
|
|
75
|
+
> tools).
|
|
76
76
|
|
|
77
77
|
### Prebuilt standalone archives
|
|
78
78
|
|
|
79
79
|
Every [GitHub Release](https://github.com/zy445566/xbintsc/releases/latest) attaches a
|
|
80
|
-
|
|
80
|
+
release archive per platform, plus a `.sha256` checksum next to it:
|
|
81
81
|
|
|
82
82
|
| Platform | Archive |
|
|
83
83
|
| --- | --- |
|
|
@@ -90,10 +90,11 @@ self-contained archive per platform, plus a `.sha256` checksum next to it:
|
|
|
90
90
|
`<version>` is the release version (for example `0.3.8`), embedded in the asset
|
|
91
91
|
name so downloads from different releases do not collide.
|
|
92
92
|
|
|
93
|
-
Each archive unpacks to a `xbintsc-<os>-<arch>/` folder
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
`bin/xbintsc` directly) — there is no
|
|
93
|
+
Each archive unpacks to a `xbintsc-<os>-<arch>/` folder containing the compiler
|
|
94
|
+
(`bin/xbintsc[.exe]`) and the C runtime. It needs **no Node.js**, but you must
|
|
95
|
+
have the platform toolchain installed (see [Requirements](./doc/requirements.md)).
|
|
96
|
+
Unpack it and put `bin/` on `PATH` (or call `bin/xbintsc` directly) — there is no
|
|
97
|
+
install step for xbintsc itself.
|
|
97
98
|
|
|
98
99
|
**macOS / Linux example** — here using `xbintsc-<version>-darwin-arm64.tar.zst` (swap in
|
|
99
100
|
`-linux-x64`, etc. for your platform):
|
|
@@ -113,10 +114,12 @@ tar -xf xbintsc-<version>-darwin-arm64.tar.zst
|
|
|
113
114
|
./build/hello
|
|
114
115
|
```
|
|
115
116
|
|
|
116
|
-
**Windows example** —
|
|
117
|
+
**Windows example** — install LLVM and the Visual Studio C++ build tools (see
|
|
118
|
+
[Requirements](./doc/requirements.md)), then download an archive from the
|
|
117
119
|
[Releases page](https://github.com/zy445566/xbintsc/releases/latest) (here
|
|
118
|
-
`xbintsc-<version>-win32-x64.tar.zst`; use `-arm64` on Windows on ARM)
|
|
119
|
-
(Windows
|
|
120
|
+
`xbintsc-<version>-win32-x64.tar.zst`; use `-arm64` on Windows on ARM) and run the
|
|
121
|
+
commands below in an **x64 Native Tools Command Prompt for VS 2022** (Windows on
|
|
122
|
+
ARM: **ARM64 Native Tools**) — Windows 10+ ships `tar`:
|
|
120
123
|
|
|
121
124
|
```powershell
|
|
122
125
|
# 1. Verify the checksum (optional but recommended)
|
|
@@ -259,8 +262,8 @@ xbintsc run examples/extensions/cpp/demo.ts \
|
|
|
259
262
|
```jsonc
|
|
260
263
|
{
|
|
261
264
|
"name": "mathx-cpp",
|
|
262
|
-
"objects": ["build/
|
|
263
|
-
"linkerFlagsByPlatform": { "linux": ["-lstdc++"], "darwin": ["-lc++"], "win32": ["-
|
|
265
|
+
"objects": ["build/mathx.o"],
|
|
266
|
+
"linkerFlagsByPlatform": { "linux": ["-lstdc++", "-lm"], "darwin": ["-lc++"], "win32": ["-lmsvcprt"] },
|
|
264
267
|
"builtins": { "cppClamp": { "symbol": "mathx_clamp" } },
|
|
265
268
|
"modules": { "mathx": { "exports": { "add": { "symbol": "mathx_add" } } } }
|
|
266
269
|
}
|
|
@@ -291,26 +294,23 @@ covers the C runtime with clang's source instrumentation instead: it exports
|
|
|
291
294
|
the collected profiles against `runtime/` with `llvm-cov`. Pass
|
|
292
295
|
`-- --report-only` to only re-report profiles from an earlier instrumented run,
|
|
293
296
|
or `-- --threshold 60` to fail below a coverage bar. CI runs the report with
|
|
294
|
-
`--threshold
|
|
297
|
+
`--threshold 80`, so a runtime-coverage regression fails the job. The instrumented objects
|
|
295
298
|
live in `xbintsc_CACHE_DIR`, a separate cache from `.xbintsc`, because the
|
|
296
299
|
object cache key does not include compiler flags: sharing one cache would
|
|
297
300
|
silently reuse un-instrumented objects. It also sets `xbintsc_PREFER_PREBUILT=0`
|
|
298
301
|
so the runtime is compiled from source rather than linked from an
|
|
299
302
|
un-instrumented `runtime/lib` archive. Requires `llvm-profdata`/`llvm-cov`
|
|
300
|
-
matching the resolved clang
|
|
303
|
+
matching the resolved clang; the script
|
|
301
304
|
skips with a warning when they are missing.
|
|
302
305
|
|
|
303
306
|
## Requirements
|
|
304
307
|
|
|
305
|
-
See [Requirements](./doc/requirements.md) for the full, per-platform list.
|
|
306
|
-
only use the prebuilt standalone binaries, the relevant part is
|
|
307
|
-
[Requirements → Prebuilt releases](./doc/requirements.md#prebuilt-releases-recommended)
|
|
308
|
-
(Windows/Linux bundle their toolchain; macOS needs the Xcode Command Line Tools).
|
|
308
|
+
See [Requirements](./doc/requirements.md) for the full, per-platform list.
|
|
309
309
|
|
|
310
310
|
- Node.js 22+ — only to run/build from source; released binaries are standalone
|
|
311
311
|
- macOS: the Xcode Command Line Tools (`xcode-select --install`)
|
|
312
|
-
- Windows:
|
|
313
|
-
- Linux:
|
|
312
|
+
- Windows: LLVM + the Visual Studio C++ build tools (MSVC ABI)
|
|
313
|
+
- Linux: `clang` and `lld` from your distribution
|
|
314
314
|
- To build a binary yourself: a `clang`-compatible compiler on `PATH`
|
|
315
315
|
(override with `xbintsc_CLANG`)
|
|
316
316
|
|
package/README.zh-CN.md
CHANGED
|
@@ -64,15 +64,14 @@ xt_value fn(xt_value env, int32_t argc, xt_value *argv);
|
|
|
64
64
|
## 使用方法
|
|
65
65
|
|
|
66
66
|
> **使用前请先确认:** 各平台的运行前置条件见
|
|
67
|
-
> [使用前置要求](./doc/zh-CN/requirements.md)
|
|
68
|
-
>
|
|
69
|
-
>
|
|
70
|
-
> (Windows/Linux 自带工具链;macOS 需要 Xcode Command Line Tools)。
|
|
67
|
+
> [使用前置要求](./doc/zh-CN/requirements.md)。xbintsc 不再自带编译器,每个平台
|
|
68
|
+
> 都需要安装兼容 clang 的工具链(macOS:Xcode Command Line Tools;Linux:
|
|
69
|
+
> clang+lld;Windows:LLVM + Visual Studio C++ 生成工具)。
|
|
71
70
|
|
|
72
71
|
### 预编译独立发布包
|
|
73
72
|
|
|
74
73
|
每个 [GitHub Release](https://github.com/zy445566/xbintsc/releases/latest) 都会附上
|
|
75
|
-
|
|
74
|
+
各平台的发布归档,并在旁边附 `.sha256` 校验文件:
|
|
76
75
|
|
|
77
76
|
| 平台 | 归档 |
|
|
78
77
|
| --- | --- |
|
|
@@ -84,9 +83,10 @@ xt_value fn(xt_value env, int32_t argc, xt_value *argv);
|
|
|
84
83
|
|
|
85
84
|
`<version>` 是发布版本号(例如 `0.3.8`),会写入归档文件名,避免不同版本的下载文件相互覆盖。
|
|
86
85
|
|
|
87
|
-
每个归档解压后都是一个 `xbintsc-<os>-<arch>/`
|
|
88
|
-
(`bin/xbintsc[.exe]
|
|
89
|
-
|
|
86
|
+
每个归档解压后都是一个 `xbintsc-<os>-<arch>/` 目录,其中包含编译器
|
|
87
|
+
(`bin/xbintsc[.exe]`)与 C 运行时。它**无需 Node.js**,但你需要先安装对应平台
|
|
88
|
+
的工具链(见 [使用前置要求](./doc/zh-CN/requirements.md))。解压后把 `bin/` 加入
|
|
89
|
+
`PATH`(或直接调用 `bin/xbintsc`)即可,xbintsc 本身无需安装步骤。
|
|
90
90
|
|
|
91
91
|
**macOS / Linux 示例** —— 此处以 `xbintsc-<version>-darwin-arm64.tar.zst` 为例(请按你的平台
|
|
92
92
|
换成 `-linux-x64` 等):
|
|
@@ -106,10 +106,12 @@ tar -xf xbintsc-<version>-darwin-arm64.tar.zst
|
|
|
106
106
|
./build/hello
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
**Windows 示例** ——
|
|
109
|
+
**Windows 示例** —— 先安装 LLVM 与 Visual Studio C++ 生成工具(见
|
|
110
|
+
[使用前置要求](./doc/zh-CN/requirements.md)),再从
|
|
110
111
|
[Releases 页面](https://github.com/zy445566/xbintsc/releases/latest) 下载对应归档
|
|
111
112
|
(此处为 `xbintsc-<version>-win32-x64.tar.zst`;Windows on ARM 请用 `-arm64`),
|
|
112
|
-
然后在
|
|
113
|
+
然后在 **x64 Native Tools Command Prompt for VS 2022**(Windows on ARM 用
|
|
114
|
+
**ARM64 Native Tools**)中执行以下命令 —— Windows 10+ 自带 `tar`:
|
|
113
115
|
|
|
114
116
|
```powershell
|
|
115
117
|
# 1. 校验哈希(可选,但推荐)
|
|
@@ -247,8 +249,8 @@ xbintsc run examples/extensions/cpp/demo.ts \
|
|
|
247
249
|
```jsonc
|
|
248
250
|
{
|
|
249
251
|
"name": "mathx-cpp",
|
|
250
|
-
"objects": ["build/
|
|
251
|
-
"linkerFlagsByPlatform": { "linux": ["-lstdc++"], "darwin": ["-lc++"], "win32": ["-
|
|
252
|
+
"objects": ["build/mathx.o"],
|
|
253
|
+
"linkerFlagsByPlatform": { "linux": ["-lstdc++", "-lm"], "darwin": ["-lc++"], "win32": ["-lmsvcprt"] },
|
|
252
254
|
"builtins": { "cppClamp": { "symbol": "mathx_clamp" } },
|
|
253
255
|
"modules": { "mathx": { "exports": { "add": { "symbol": "mathx_add" } } } }
|
|
254
256
|
}
|
|
@@ -276,25 +278,24 @@ V8 只能看到编译器自身的源码,因此 `npm run coverage:runtime` 改
|
|
|
276
278
|
都会带上 `-fprofile-instr-generate -fcoverage-mapping`),运行测试后用
|
|
277
279
|
`llvm-cov` 把采集到的 profile 映射回 `runtime/`。加 `-- --report-only`
|
|
278
280
|
可只对上一次插桩运行留下的 profile 重新出报告,加 `-- --threshold 60`
|
|
279
|
-
可在低于覆盖率门槛时失败;CI 固定以 `--threshold
|
|
281
|
+
可在低于覆盖率门槛时失败;CI 固定以 `--threshold 80` 运行,runtime 覆盖率回退会直接
|
|
280
282
|
让 job 失败。插桩产物存放在 `xbintsc_CACHE_DIR` 指向的独立缓存,
|
|
281
283
|
因为对象缓存的 key 不包含编译参数:与普通缓存共用会静默复用未插桩的对象。
|
|
282
284
|
脚本还会设置 `xbintsc_PREFER_PREBUILT=0`,强制从源码编译 runtime,而不是链接
|
|
283
285
|
未插桩的 `runtime/lib` 预编译归档。
|
|
284
|
-
需要与解析到的 clang 版本匹配的 `llvm-profdata`/`llvm-cov
|
|
286
|
+
需要与解析到的 clang 版本匹配的 `llvm-profdata`/`llvm-cov`;
|
|
285
287
|
缺失时脚本会打印警告并跳过。
|
|
286
288
|
|
|
287
289
|
## 运行要求
|
|
288
290
|
|
|
289
291
|
完整的分平台要求见 [使用前置要求](./doc/zh-CN/requirements.md)。若只使用预编译的
|
|
290
|
-
|
|
291
|
-
[使用前置要求
|
|
292
|
-
(Windows/Linux 自带工具链;macOS 需要 Xcode Command Line Tools)。
|
|
292
|
+
独立二进制,见
|
|
293
|
+
[使用前置要求](./doc/zh-CN/requirements.md)。
|
|
293
294
|
|
|
294
295
|
- Node.js 22+ —— 仅从源码运行/构建时需要;发布版二进制是独立的
|
|
295
296
|
- macOS:Xcode Command Line Tools(`xcode-select --install`)
|
|
296
|
-
- Windows
|
|
297
|
-
- Linux
|
|
297
|
+
- Windows:LLVM + Visual Studio C++ 生成工具(MSVC ABI)
|
|
298
|
+
- Linux:发行版提供的 `clang` 与 `lld`
|
|
298
299
|
- 若要自行编译二进制:`PATH` 中有兼容 `clang` 的 C 编译器(可用 `xbintsc_CLANG` 覆盖)
|
|
299
300
|
|
|
300
301
|
用 `xbintsc doctor` 检查环境。
|
package/bin/xbintsc.js
CHANGED
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
* Resolution order:
|
|
6
6
|
* 1. a native compiler for this platform — an `xbintsc_BINARY` override, an
|
|
7
7
|
* installed `@xbintsc/<os>-<arch>` package, or a co-located `bin/xbintsc`.
|
|
8
|
-
* This is what a
|
|
9
|
-
* toolchain at runtime.
|
|
8
|
+
* This is what a packaged install provides; it needs no Node at runtime.
|
|
10
9
|
* 2. the compiled CLI in `dist/` (a checkout that ran `npm run build`).
|
|
11
10
|
* 3. the TypeScript sources through `tsx` (a plain checkout).
|
|
12
11
|
*/
|
package/dist/src/cli/main.js
CHANGED
|
@@ -162,7 +162,10 @@ function doctor(io) {
|
|
|
162
162
|
io.stdout(`compiler : ${firstLine(version) || "unknown"}\n`);
|
|
163
163
|
}
|
|
164
164
|
catch {
|
|
165
|
-
io.stdout("toolchain : not found
|
|
165
|
+
io.stdout("toolchain : not found\n");
|
|
166
|
+
io.stdout(" install one of: Xcode Command Line Tools (`xcode-select --install`) on macOS,\n");
|
|
167
|
+
io.stdout(" clang+lld (apt/dnf/pacman) on Linux, or LLVM + Visual Studio C++ build tools on Windows,\n");
|
|
168
|
+
io.stdout(" then re-run; or set xbintsc_CLANG to a clang binary. See doc/requirements.md.\n");
|
|
166
169
|
}
|
|
167
170
|
try {
|
|
168
171
|
io.stdout(`runtime : ${findRuntimeDir()}\n`);
|
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":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAA0B,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAOtE,MAAM,SAAS,GAAU;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;CAC7C,CAAC;AASF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAExF,SAAS,SAAS,CAAC,IAAuB;IACxC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAClD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,IAAK,EAAE,WAAW,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,KAAK,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;oBACvB,KAAK,EAAE,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC1B,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,aAAa,CAAC,KAAoC;IACzD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,KAAK,MAAM;gBAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;;gBACjD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9E,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAkC,EAAE,QAAgB,EAAE,EAAS;IACvF,IAAI,MAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG,WAAW,gBAAgB;;;;;;;;;;;;;;;;;;;;CAoBvC,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,2DAA2D;AAC3D,SAAS,MAAM,CAAC,EAAS;IACvB,EAAE,CAAC,MAAM,CAAC,WAAW,gBAAgB,IAAI,CAAC,CAAC;IAC3C,EAAE,CAAC,MAAM,CAAC,gBAAgB,YAAY,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9F,EAAE,CAAC,MAAM,CAAC,gBAAgB,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QACrE,EAAE,CAAC,MAAM,CAAC,gBAAgB,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtC,EAAE,CAAC,MAAM,CAAC,mFAAmF,CAAC,CAAC;QAC/F,EAAE,CAAC,MAAM,CAAC,8FAA8F,CAAC,CAAC;QAC1G,EAAE,CAAC,MAAM,CAAC,mFAAmF,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,gBAAgB,cAAc,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,gBAAgB,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAE,KAAY,SAAS;IAChE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,WAAW,gBAAgB,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YACpD,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,MAAM,CAAC,YAAY,OAAO,2BAA2B,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAA0B,IAAI,KAAK,CAAC;QACvE,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAwB,IAAI,GAAG,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE;YAC1B,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,SAAS;YACvG,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAY,CAAC,CAAC,CAAC,SAAS;YACjG,IAAI;YACJ,QAAQ,EAAE,QAAiC;YAC3C,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YAC3D,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,kBAAkB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,6BAA6B,OAAO,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -5,12 +5,11 @@ import { AssignmentOperator, BinaryOperator, type Node } from "../../ast/nodes.j
|
|
|
5
5
|
/**
|
|
6
6
|
* True when a `try` frame must be saved with `_setjmpex` rather than `_setjmp`.
|
|
7
7
|
*
|
|
8
|
-
* 64-bit Windows on ARM has no `_setjmp`:
|
|
9
|
-
* `
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* its own host.
|
|
8
|
+
* 64-bit Windows on ARM has no `_setjmp`: the UCRT declares `setjmp` as
|
|
9
|
+
* `_setjmpex(buf, sponentry)` there, so the linker expects `_setjmpex` (with the
|
|
10
|
+
* caller's stack pointer at entry, `llvm.sponentry`, instead of its frame
|
|
11
|
+
* pointer). clang lowers a C `setjmp` on this target to exactly that pair.
|
|
12
|
+
* Checked at code-generation time because xbintsc builds for its own host.
|
|
14
13
|
*/
|
|
15
14
|
export declare function requiresSetjmpex(platform: string, arch: string): boolean;
|
|
16
15
|
export declare const BINARY_RUNTIME: Record<string, string | undefined>;
|
|
@@ -5,12 +5,11 @@ import { BinaryOperator, SyntaxKind, } from "../../ast/nodes.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* True when a `try` frame must be saved with `_setjmpex` rather than `_setjmp`.
|
|
7
7
|
*
|
|
8
|
-
* 64-bit Windows on ARM has no `_setjmp`:
|
|
9
|
-
* `
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* its own host.
|
|
8
|
+
* 64-bit Windows on ARM has no `_setjmp`: the UCRT declares `setjmp` as
|
|
9
|
+
* `_setjmpex(buf, sponentry)` there, so the linker expects `_setjmpex` (with the
|
|
10
|
+
* caller's stack pointer at entry, `llvm.sponentry`, instead of its frame
|
|
11
|
+
* pointer). clang lowers a C `setjmp` on this target to exactly that pair.
|
|
12
|
+
* Checked at code-generation time because xbintsc builds for its own host.
|
|
14
13
|
*/
|
|
15
14
|
export function requiresSetjmpex(platform, arch) {
|
|
16
15
|
return platform === "win32" && arch === "arm64";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/codegen/generator/tables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,cAAc,EACd,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/codegen/generator/tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { build, compileString, COMPILER_VERSION, type BuildOptions, type BuildResult, type EmitKind } from "./compiler.js";
|
|
2
2
|
export { BuildCache, hashParts, hashString } from "./cache.js";
|
|
3
|
-
export { findRuntimeDir,
|
|
4
|
-
export { toolchainDownload, toolchainSupportLibraries, LLVM_VERSION, LLVM_MINGW_VERSION, type ToolchainDownload, type SupportLibrary, } from "./toolchain-download.js";
|
|
3
|
+
export { findRuntimeDir, platformSlug, releaseArchiveBase, releaseArchiveFileName, releaseArchiveExtension } from "./paths.js";
|
|
5
4
|
export { findRuntimeLibrary, runtimeLibDir } from "./runtime-lib.js";
|
|
6
5
|
export { findClang, realRunner, ToolchainError, type Runner, } from "./toolchain.js";
|
|
7
6
|
export { resolveToolchain, type ResolvedToolchain, type ToolchainSource } from "./toolchain-provider.js";
|
package/dist/src/driver/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { build, compileString, COMPILER_VERSION } from "./compiler.js";
|
|
2
2
|
export { BuildCache, hashParts, hashString } from "./cache.js";
|
|
3
|
-
export { findRuntimeDir,
|
|
4
|
-
export { toolchainDownload, toolchainSupportLibraries, LLVM_VERSION, LLVM_MINGW_VERSION, } from "./toolchain-download.js";
|
|
3
|
+
export { findRuntimeDir, platformSlug, releaseArchiveBase, releaseArchiveFileName, releaseArchiveExtension } from "./paths.js";
|
|
5
4
|
export { findRuntimeLibrary, runtimeLibDir } from "./runtime-lib.js";
|
|
6
5
|
export { findClang, realRunner, ToolchainError, } from "./toolchain.js";
|
|
7
6
|
export { resolveToolchain } from "./toolchain-provider.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/driver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAsD,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/driver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAsD,MAAM,eAAe,CAAC;AAC3H,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC/H,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAgD,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
/** Filesystem locations owned by the compiler package. */
|
|
2
2
|
/** Directory containing `rt.h` and the runtime/ext C sources. */
|
|
3
3
|
export declare function findRuntimeDir(): string;
|
|
4
|
-
export declare function findPackageRoot(): string;
|
|
5
|
-
/** `<package>/vendor` — where a bundled toolchain is assembled (may not exist). */
|
|
6
|
-
export declare function vendorRootDir(): string;
|
|
7
4
|
/** Platform-architecture slug, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`. */
|
|
8
5
|
export declare function platformSlug(): string;
|
|
9
6
|
/**
|
|
@@ -23,9 +20,3 @@ export declare function releaseArchiveFileName(version: string, platform?: strin
|
|
|
23
20
|
* (smaller, faster), otherwise the universally supported `.tar.gz`.
|
|
24
21
|
*/
|
|
25
22
|
export declare function releaseArchiveExtension(useZstd: boolean): string;
|
|
26
|
-
/**
|
|
27
|
-
* Directory that may hold a toolchain shipped next to the package:
|
|
28
|
-
* `<package>/vendor/<os>-<arch>` (or a generic `vendor/`). Undefined when none
|
|
29
|
-
* is present, in which case the driver falls back to the system PATH.
|
|
30
|
-
*/
|
|
31
|
-
export declare function findVendorDir(): string | undefined;
|
package/dist/src/driver/paths.js
CHANGED
|
@@ -19,13 +19,6 @@ export function findRuntimeDir() {
|
|
|
19
19
|
}
|
|
20
20
|
throw new Error("Unable to locate the xbintsc runtime directory (missing runtime/rt.h)");
|
|
21
21
|
}
|
|
22
|
-
export function findPackageRoot() {
|
|
23
|
-
return resolve(findRuntimeDir(), "..");
|
|
24
|
-
}
|
|
25
|
-
/** `<package>/vendor` — where a bundled toolchain is assembled (may not exist). */
|
|
26
|
-
export function vendorRootDir() {
|
|
27
|
-
return resolve(findPackageRoot(), "vendor");
|
|
28
|
-
}
|
|
29
22
|
/** Platform-architecture slug, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`. */
|
|
30
23
|
export function platformSlug() {
|
|
31
24
|
return `${process.platform}-${process.arch}`;
|
|
@@ -53,28 +46,4 @@ export function releaseArchiveFileName(version, platform = process.platform, arc
|
|
|
53
46
|
export function releaseArchiveExtension(useZstd) {
|
|
54
47
|
return useZstd ? ".tar.zst" : ".tar.gz";
|
|
55
48
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Directory that may hold a toolchain shipped next to the package:
|
|
58
|
-
* `<package>/vendor/<os>-<arch>` (or a generic `vendor/`). Undefined when none
|
|
59
|
-
* is present, in which case the driver falls back to the system PATH.
|
|
60
|
-
*/
|
|
61
|
-
export function findVendorDir() {
|
|
62
|
-
const roots = [];
|
|
63
|
-
try {
|
|
64
|
-
roots.push(findPackageRoot());
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
// `runtime/` may be absent (e.g. a bare `emit` install); vendor is optional.
|
|
68
|
-
}
|
|
69
|
-
roots.push(resolve(here, "../../.."), resolve(here, "../.."), process.cwd());
|
|
70
|
-
for (const root of roots) {
|
|
71
|
-
const specific = join(root, "vendor", platformSlug());
|
|
72
|
-
if (existsSync(specific))
|
|
73
|
-
return specific;
|
|
74
|
-
const generic = join(root, "vendor");
|
|
75
|
-
if (existsSync(generic))
|
|
76
|
-
return generic;
|
|
77
|
-
}
|
|
78
|
-
return undefined;
|
|
79
|
-
}
|
|
80
49
|
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/driver/paths.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,iEAAiE;AACjE,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACjC,0EAA0E;QAC1E,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;KAClC,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC3F,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/driver/paths.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,iEAAiE;AACjE,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACjC,0EAA0E;QAC1E,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;KAClC,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC3F,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,OAAO,CAAC,QAAQ,EACnC,OAAe,OAAO,CAAC,IAAI;IAE3B,OAAO,WAAW,QAAQ,IAAI,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,WAAmB,OAAO,CAAC,QAAQ,EACnC,OAAe,OAAO,CAAC,IAAI;IAE3B,OAAO,WAAW,OAAO,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC"}
|
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
*
|
|
4
4
|
* xbintsc shells out to a clang-compatible driver for three jobs: lowering LLVM
|
|
5
5
|
* IR to an object, compiling the C runtime, and linking. This module decides
|
|
6
|
-
* *which* driver to use, in a fixed priority order
|
|
7
|
-
* shadow the system one without touching the driver code:
|
|
6
|
+
* *which* driver to use, in a fixed priority order:
|
|
8
7
|
*
|
|
9
8
|
* 1. an explicit `xbintsc_CLANG` / `xbintsc_TOOLCHAIN`
|
|
10
|
-
* 2.
|
|
11
|
-
*
|
|
9
|
+
* 2. the system `PATH` (`findClang`)
|
|
10
|
+
*
|
|
11
|
+
* xbintsc does not ship a compiler. Every host must provide a clang-compatible
|
|
12
|
+
* toolchain (see `doc/requirements.md`): the Xcode Command Line Tools on macOS,
|
|
13
|
+
* the distribution's clang/lld on Linux, and LLVM plus the Visual Studio C++
|
|
14
|
+
* build tools (the MSVC ABI) on Windows.
|
|
12
15
|
*
|
|
13
16
|
* Extra linker arguments (for example `-fuse-ld=lld`) can be supplied through
|
|
14
17
|
* `xbintsc_LINKER_ARGS`.
|
|
15
18
|
*/
|
|
16
19
|
import { type Runner } from "./toolchain.js";
|
|
17
|
-
export type ToolchainSource = "env" | "
|
|
20
|
+
export type ToolchainSource = "env" | "system";
|
|
18
21
|
export interface ResolvedToolchain {
|
|
19
22
|
/** Path or name of the clang-compatible driver to invoke. */
|
|
20
23
|
readonly clang: string;
|
|
@@ -22,11 +25,8 @@ export interface ResolvedToolchain {
|
|
|
22
25
|
readonly source: ToolchainSource;
|
|
23
26
|
/** Extra arguments to pass to the link step. */
|
|
24
27
|
readonly linkerArgs: readonly string[];
|
|
25
|
-
/**
|
|
26
|
-
*
|
|
27
|
-
* environment. Used to point `LD_LIBRARY_PATH` at bundled shared libraries
|
|
28
|
-
* (for example the legacy `libtinfo.so.5` the official Linux build needs).
|
|
29
|
-
*/
|
|
28
|
+
/** Extra environment for the toolchain subprocesses, merged over the current
|
|
29
|
+
* environment. */
|
|
30
30
|
readonly env: Record<string, string>;
|
|
31
31
|
}
|
|
32
32
|
/** Resolve the toolchain that `build` should use. See the module docblock. */
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
*
|
|
4
4
|
* xbintsc shells out to a clang-compatible driver for three jobs: lowering LLVM
|
|
5
5
|
* IR to an object, compiling the C runtime, and linking. This module decides
|
|
6
|
-
* *which* driver to use, in a fixed priority order
|
|
7
|
-
* shadow the system one without touching the driver code:
|
|
6
|
+
* *which* driver to use, in a fixed priority order:
|
|
8
7
|
*
|
|
9
8
|
* 1. an explicit `xbintsc_CLANG` / `xbintsc_TOOLCHAIN`
|
|
10
|
-
* 2.
|
|
11
|
-
*
|
|
9
|
+
* 2. the system `PATH` (`findClang`)
|
|
10
|
+
*
|
|
11
|
+
* xbintsc does not ship a compiler. Every host must provide a clang-compatible
|
|
12
|
+
* toolchain (see `doc/requirements.md`): the Xcode Command Line Tools on macOS,
|
|
13
|
+
* the distribution's clang/lld on Linux, and LLVM plus the Visual Studio C++
|
|
14
|
+
* build tools (the MSVC ABI) on Windows.
|
|
12
15
|
*
|
|
13
16
|
* Extra linker arguments (for example `-fuse-ld=lld`) can be supplied through
|
|
14
17
|
* `xbintsc_LINKER_ARGS`.
|
|
15
18
|
*/
|
|
16
|
-
import { existsSync } from "node:fs";
|
|
17
|
-
import { join } from "node:path";
|
|
18
|
-
import { findVendorDir } from "./paths.js";
|
|
19
19
|
import { findClang, realRunner } from "./toolchain.js";
|
|
20
|
-
function works(runner, command
|
|
20
|
+
function works(runner, command) {
|
|
21
21
|
try {
|
|
22
|
-
return runner.run(command, ["--version"]
|
|
22
|
+
return runner.run(command, ["--version"]).status === 0;
|
|
23
23
|
}
|
|
24
24
|
catch {
|
|
25
25
|
return false;
|
|
@@ -31,41 +31,12 @@ function linkerArgs(fallback) {
|
|
|
31
31
|
return raw.split(" ").filter((part) => part.length > 0);
|
|
32
32
|
return [...fallback];
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Environment overrides for a bundled toolchain. The official Linux build links
|
|
36
|
-
* the removed `libtinfo.so.5` soname, so when we ship it under `vendor/lib/` we
|
|
37
|
-
* prepend that directory to the dynamic linker search path.
|
|
38
|
-
*/
|
|
39
|
-
function vendorEnv(vendor) {
|
|
40
|
-
const libDir = join(vendor, "lib");
|
|
41
|
-
if (process.platform !== "linux" || !existsSync(libDir))
|
|
42
|
-
return {};
|
|
43
|
-
const existing = process.env.LD_LIBRARY_PATH;
|
|
44
|
-
return { LD_LIBRARY_PATH: existing ? libDir + ":" + existing : libDir };
|
|
45
|
-
}
|
|
46
34
|
/** Resolve the toolchain that `build` should use. See the module docblock. */
|
|
47
35
|
export function resolveToolchain(runner = realRunner) {
|
|
48
36
|
const explicit = process.env.xbintsc_CLANG ?? process.env.xbintsc_TOOLCHAIN;
|
|
49
37
|
if (explicit && works(runner, explicit)) {
|
|
50
38
|
return { clang: explicit, source: "env", linkerArgs: linkerArgs([]), env: {} };
|
|
51
39
|
}
|
|
52
|
-
const vendor = findVendorDir();
|
|
53
|
-
if (vendor) {
|
|
54
|
-
const env = vendorEnv(vendor);
|
|
55
|
-
const names = process.platform === "win32" ? ["clang.exe", "clang"] : ["clang"];
|
|
56
|
-
for (const name of names) {
|
|
57
|
-
const candidate = join(vendor, "bin", name);
|
|
58
|
-
if (existsSync(candidate) && works(runner, candidate, env)) {
|
|
59
|
-
// A bundled toolchain ships `ld.lld`, so prefer lld over any system linker.
|
|
60
|
-
return {
|
|
61
|
-
clang: candidate,
|
|
62
|
-
source: "vendor",
|
|
63
|
-
linkerArgs: linkerArgs(["-fuse-ld=lld"]),
|
|
64
|
-
env,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
40
|
return { clang: findClang(runner), source: "system", linkerArgs: linkerArgs([]), env: {} };
|
|
70
41
|
}
|
|
71
42
|
//# sourceMappingURL=toolchain-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain-provider.js","sourceRoot":"","sources":["../../../src/driver/toolchain-provider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"toolchain-provider.js","sourceRoot":"","sources":["../../../src/driver/toolchain-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAgBpE,SAAS,KAAK,CAAC,MAAc,EAAE,OAAe;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,QAA2B;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,SAAiB,UAAU;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC5E,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -45,8 +45,14 @@ export function findClang(runner = realRunner) {
|
|
|
45
45
|
"cc",
|
|
46
46
|
].filter((candidate) => Boolean(candidate));
|
|
47
47
|
for (const candidate of candidates) {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
let status;
|
|
49
|
+
try {
|
|
50
|
+
status = runner.run(candidate, ["--version"]).status;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (status === 0)
|
|
50
56
|
return candidate;
|
|
51
57
|
}
|
|
52
58
|
throw new ToolchainError("clang --version", 1, "No C compiler found. Set xbintsc_CLANG to a clang binary.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../src/driver/toolchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAkBtE,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE;QAC7B,MAAM,YAAY,GAAqB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC;QACF,IAAI,OAAO,CAAC,GAAG;YAAE,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,MAAM,CAAS;IACxB,YAAY,OAAe,EAAE,MAAc,EAAE,MAAc;QACzD,KAAK,CAAC,mBAAmB,MAAM,MAAM,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,SAAiB,UAAU;IACnD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,GAAG,CAAC,aAAa;QACzB,OAAO;QACP,UAAU;QACV,UAAU;QACV,UAAU;QACV,IAAI;KACL,CAAC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,
|
|
1
|
+
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../src/driver/toolchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,8 @@
|
|
|
18
18
|
* {
|
|
19
19
|
* "name": "mathx",
|
|
20
20
|
* "description": "C++ math helpers",
|
|
21
|
-
* "objects": ["build/
|
|
22
|
-
* "
|
|
23
|
-
* "linkerFlagsByPlatform": { "linux": ["-lstdc++"], "darwin": ["-lc++"] },
|
|
21
|
+
* "objects": ["build/mathx.o"],
|
|
22
|
+
* "linkerFlagsByPlatform": { "linux": ["-lstdc++", "-lm"], "darwin": ["-lc++"], "win32": ["-lmsvcprt"] },
|
|
24
23
|
* "builtins": { "fastAdd": { "symbol": "mathx_add" } },
|
|
25
24
|
* "modules": {
|
|
26
25
|
* "mathx": {
|