@scriptc/compiler 0.0.35 → 0.1.1
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/ambient/scriptc-node-fallback.d.ts +14 -11
- package/ambient/scriptc-overrides.d.ts +0 -7
- package/ambient/scriptc.d.ts +1 -1
- package/dist/backend/build-cache.d.ts +44 -0
- package/dist/backend/build-cache.js +241 -0
- package/dist/backend/build-cache.js.map +1 -0
- package/dist/backend/{emission/emit-async.d.ts → c/async.d.ts} +21 -30
- package/dist/backend/{emission/emit-async.js → c/async.js} +270 -286
- package/dist/backend/c/async.js.map +1 -0
- package/dist/backend/{emission/emitter.d.ts → c/c-emitter.d.ts} +6 -23
- package/dist/backend/{emission/emitter.js → c/c-emitter.js} +53 -107
- package/dist/backend/c/c-emitter.js.map +1 -0
- package/dist/backend/c/exprs.d.ts +8 -0
- package/dist/backend/c/exprs.js +7937 -0
- package/dist/backend/c/exprs.js.map +1 -0
- package/dist/backend/{emission/emit-island.d.ts → c/island.d.ts} +5 -5
- package/dist/backend/{emission/emit-island.js → c/island.js} +24 -22
- package/dist/backend/c/island.js.map +1 -0
- package/dist/backend/{emission → c}/may-throw.d.ts +1 -1
- package/dist/backend/{emission → c}/may-throw.js +4 -1
- package/dist/backend/c/may-throw.js.map +1 -0
- package/dist/backend/{emission/emit-shapes.d.ts → c/shapes.d.ts} +19 -19
- package/dist/backend/{emission/emit-shapes.js → c/shapes.js} +78 -87
- package/dist/backend/c/shapes.js.map +1 -0
- package/dist/backend/{emission/emit-stmts.d.ts → c/stmts.d.ts} +12 -12
- package/dist/backend/{emission/emit-stmts.js → c/stmts.js} +395 -343
- package/dist/backend/c/stmts.js.map +1 -0
- package/dist/backend/{emission/emit-types.d.ts → c/types.d.ts} +1 -1
- package/dist/backend/{emission/emit-types.js → c/types.js} +42 -286
- package/dist/backend/c/types.js.map +1 -0
- package/dist/backend/c/types.test.js +25 -0
- package/dist/backend/c/types.test.js.map +1 -0
- package/dist/backend/{emission/emit-walkers.d.ts → c/walkers.d.ts} +19 -41
- package/dist/backend/{emission/emit-walkers.js → c/walkers.js} +242 -304
- package/dist/backend/c/walkers.js.map +1 -0
- package/dist/backend/external-c.d.ts +33 -0
- package/dist/backend/external-c.js +51 -0
- package/dist/backend/external-c.js.map +1 -0
- package/dist/backend/ffi-callbacks.d.ts +1 -1
- package/dist/backend/ffi-callbacks.js +4 -3
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/{library-identity.d.ts → library-identity-markers.d.ts} +0 -4
- package/dist/backend/{library-identity.js → library-identity-markers.js} +10 -9
- package/dist/backend/library-identity-markers.js.map +1 -0
- package/dist/backend/link-plan.d.ts +37 -0
- package/dist/backend/link-plan.js +26 -0
- package/dist/backend/link-plan.js.map +1 -0
- package/dist/backend/linker.d.ts +22 -0
- package/dist/backend/linker.js +236 -0
- package/dist/backend/linker.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +4 -0
- package/dist/backend/llvm/blocks.js +29 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +2 -19
- package/dist/backend/llvm/classes.js +20 -52
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +4 -0
- package/dist/backend/llvm/common.js +27 -0
- package/dist/backend/llvm/common.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +3 -8
- package/dist/backend/llvm/dyn.js +159 -224
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +4 -1
- package/dist/backend/llvm/emitter.js +548 -9988
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-async.d.ts +4 -0
- package/dist/backend/llvm/expr-async.js +726 -0
- package/dist/backend/llvm/expr-async.js.map +1 -0
- package/dist/backend/llvm/expr-bytes.d.ts +13 -0
- package/dist/backend/llvm/expr-bytes.js +456 -0
- package/dist/backend/llvm/expr-bytes.js.map +1 -0
- package/dist/backend/llvm/expr-callbacks.d.ts +22 -0
- package/dist/backend/llvm/expr-callbacks.js +520 -0
- package/dist/backend/llvm/expr-callbacks.js.map +1 -0
- package/dist/backend/llvm/expr-calls.d.ts +2 -0
- package/dist/backend/llvm/expr-calls.js +618 -0
- package/dist/backend/llvm/expr-calls.js.map +1 -0
- package/dist/backend/llvm/expr-containers.d.ts +25 -0
- package/dist/backend/llvm/expr-containers.js +637 -0
- package/dist/backend/llvm/expr-containers.js.map +1 -0
- package/dist/backend/llvm/expr-context.d.ts +255 -0
- package/dist/backend/llvm/expr-context.js +2 -0
- package/dist/backend/llvm/expr-context.js.map +1 -0
- package/dist/backend/llvm/expr-control.d.ts +2 -0
- package/dist/backend/llvm/expr-control.js +473 -0
- package/dist/backend/llvm/expr-control.js.map +1 -0
- package/dist/backend/llvm/expr-dispatch.d.ts +4 -0
- package/dist/backend/llvm/expr-dispatch.js +153 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -0
- package/dist/backend/llvm/expr-dynamic.d.ts +2 -0
- package/dist/backend/llvm/expr-dynamic.js +810 -0
- package/dist/backend/llvm/expr-dynamic.js.map +1 -0
- package/dist/backend/llvm/expr-island.d.ts +15 -0
- package/dist/backend/llvm/expr-island.js +690 -0
- package/dist/backend/llvm/expr-island.js.map +1 -0
- package/dist/backend/llvm/expr-primitives.d.ts +6 -0
- package/dist/backend/llvm/expr-primitives.js +642 -0
- package/dist/backend/llvm/expr-primitives.js.map +1 -0
- package/dist/backend/llvm/expr-records.d.ts +9 -0
- package/dist/backend/llvm/expr-records.js +299 -0
- package/dist/backend/llvm/expr-records.js.map +1 -0
- package/dist/backend/llvm/expr-stream-bridges.d.ts +13 -0
- package/dist/backend/llvm/expr-stream-bridges.js +420 -0
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -0
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +12 -0
- package/dist/backend/llvm/expr-stream-callbacks.js +360 -0
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -0
- package/dist/backend/llvm/lib-dispatch.d.ts +5 -0
- package/dist/backend/llvm/lib-dispatch.js +267 -0
- package/dist/backend/llvm/lib-dispatch.js.map +1 -0
- package/dist/backend/llvm/lib-filesystem.d.ts +6 -0
- package/dist/backend/llvm/lib-filesystem.js +594 -0
- package/dist/backend/llvm/lib-filesystem.js.map +1 -0
- package/dist/backend/llvm/lib-network.d.ts +2 -0
- package/dist/backend/llvm/lib-network.js +429 -0
- package/dist/backend/llvm/lib-network.js.map +1 -0
- package/dist/backend/llvm/lib-process.d.ts +5 -0
- package/dist/backend/llvm/lib-process.js +585 -0
- package/dist/backend/llvm/lib-process.js.map +1 -0
- package/dist/backend/llvm/lib-shared.d.ts +6 -0
- package/dist/backend/llvm/lib-shared.js +687 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -0
- package/dist/backend/llvm/lib-stream.d.ts +2 -0
- package/dist/backend/llvm/lib-stream.js +470 -0
- package/dist/backend/llvm/lib-stream.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +12 -2
- package/dist/backend/llvm/shapes.js +66 -307
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +52 -0
- package/dist/backend/llvm/shapes.test.js.map +1 -0
- package/dist/backend/llvm/unsupported.d.ts +1 -1
- package/dist/backend/llvm/walkers.d.ts +2 -3
- package/dist/backend/llvm/walkers.js +195 -222
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +45 -0
- package/dist/backend/native-codegen.js +275 -0
- package/dist/backend/native-codegen.js.map +1 -0
- package/dist/backend/native-codegen.test.js +226 -0
- package/dist/backend/native-codegen.test.js.map +1 -0
- package/dist/backend/native-link-info.d.ts +96 -0
- package/dist/backend/native-link-info.js +243 -0
- package/dist/backend/native-link-info.js.map +1 -0
- package/dist/backend/native-link-info.test.d.ts +1 -0
- package/dist/backend/native-link-info.test.js +134 -0
- package/dist/backend/native-link-info.test.js.map +1 -0
- package/dist/backend/{cc.d.ts → native-toolchain.d.ts} +54 -34
- package/dist/backend/{cc.js → native-toolchain.js} +231 -810
- package/dist/backend/native-toolchain.js.map +1 -0
- package/dist/backend/native-toolchain.test.d.ts +1 -0
- package/dist/backend/{cc-cache.test.js → native-toolchain.test.js} +219 -7
- package/dist/backend/native-toolchain.test.js.map +1 -0
- package/dist/backend/object-localize.js +1 -1
- package/dist/backend/runtime-abi.d.ts +10 -0
- package/dist/backend/runtime-abi.js +11 -0
- package/dist/backend/runtime-abi.js.map +1 -0
- package/dist/backend/runtime-pack-targets.test.d.ts +1 -0
- package/dist/backend/runtime-pack-targets.test.js +54 -0
- package/dist/backend/runtime-pack-targets.test.js.map +1 -0
- package/dist/backend/runtime-pack.d.ts +112 -0
- package/dist/backend/runtime-pack.js +305 -0
- package/dist/backend/runtime-pack.js.map +1 -0
- package/dist/backend/runtime-pack.test.d.ts +1 -0
- package/dist/backend/runtime-pack.test.js +473 -0
- package/dist/backend/runtime-pack.test.js.map +1 -0
- package/dist/backend/targets.d.ts +76 -0
- package/dist/backend/targets.js +262 -0
- package/dist/backend/targets.js.map +1 -0
- package/dist/backend/targets.test.d.ts +1 -0
- package/dist/backend/targets.test.js +41 -0
- package/dist/backend/targets.test.js.map +1 -0
- package/dist/backend/vendor-archives.d.ts +41 -0
- package/dist/backend/vendor-archives.js +462 -0
- package/dist/backend/vendor-archives.js.map +1 -0
- package/dist/compat/fetch-profile.d.ts +0 -1
- package/dist/compat/fetch-profile.js +0 -1
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js +3 -3
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +35 -33
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +11 -12
- package/dist/diagnostics/diagnostic.js +19 -17
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/render.d.ts +1 -1
- package/dist/diagnostics/render.js +1 -1
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -0
- package/dist/executable/{early-cache.d.ts → executable-cache.d.ts} +2 -2
- package/dist/executable/{early-cache.js → executable-cache.js} +36 -98
- package/dist/executable/executable-cache.js.map +1 -0
- package/dist/executable/executable-cache.test.d.ts +1 -0
- package/dist/executable/{early-cache.test.js → executable-cache.test.js} +3 -3
- package/dist/executable/executable-cache.test.js.map +1 -0
- package/dist/ffi/{profile.js → ffi-manifest.js} +1 -1
- package/dist/ffi/ffi-manifest.js.map +1 -0
- package/dist/frontend/builtin-modules.d.ts +21 -0
- package/dist/frontend/builtin-modules.js +82 -0
- package/dist/frontend/builtin-modules.js.map +1 -0
- package/dist/frontend/cjs-lexer.d.ts +7 -0
- package/dist/frontend/cjs-lexer.js +15 -17
- package/dist/frontend/cjs-lexer.js.map +1 -1
- package/dist/frontend/dts-paths.d.ts +26 -0
- package/dist/frontend/dts-paths.js +41 -0
- package/dist/frontend/dts-paths.js.map +1 -0
- package/dist/frontend/input-tracker.d.ts +0 -2
- package/dist/frontend/input-tracker.js +1 -4
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/lib-contract.d.ts +1 -5
- package/dist/frontend/lib-contract.js +1 -1
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/lib-exports.d.ts +1 -1
- package/dist/frontend/lowering/array-values.d.ts +8 -0
- package/dist/frontend/lowering/array-values.js +60 -0
- package/dist/frontend/lowering/array-values.js.map +1 -0
- package/dist/frontend/lowering/call-position.d.ts +4 -0
- package/dist/frontend/lowering/call-position.js +7 -0
- package/dist/frontend/lowering/call-position.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.d.ts +20 -0
- package/dist/frontend/lowering/callback-arg.js +44 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.d.ts +1 -1
- package/dist/frontend/lowering/lib-boundary.js +34 -34
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +22 -0
- package/dist/frontend/lowering/lower-array-sort.js +619 -0
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -0
- package/dist/frontend/lowering/lower-assert.d.ts +3 -3
- package/dist/frontend/lowering/lower-assert.js +214 -241
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +74 -146
- package/dist/frontend/lowering/lower-builtins.js +1285 -1233
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +59 -192
- package/dist/frontend/lowering/lower-calls.js +1644 -1506
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +62 -125
- package/dist/frontend/lowering/lower-classes.js +832 -866
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +5 -12
- package/dist/frontend/lowering/lower-comptime.js +32 -31
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +35 -135
- package/dist/frontend/lowering/lower-containers.js +1984 -2227
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.d.ts +3 -7
- package/dist/frontend/lowering/lower-dgram.js +97 -111
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.d.ts +4 -4
- package/dist/frontend/lowering/lower-enums.js +30 -30
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/{lower-emitter.d.ts → lower-event-emitter.d.ts} +7 -18
- package/dist/frontend/lowering/{lower-emitter.js → lower-event-emitter.js} +172 -174
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -0
- package/dist/frontend/lowering/lower-expando.d.ts +5 -5
- package/dist/frontend/lowering/lower-expando.js +40 -40
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +60 -264
- package/dist/frontend/lowering/lower-exprs.js +2361 -1765
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +6 -6
- package/dist/frontend/lowering/lower-generators.js +73 -72
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +5 -17
- package/dist/frontend/lowering/lower-inspect.js +273 -261
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +39 -49
- package/dist/frontend/lowering/lower-island.js +447 -513
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.d.ts +7 -10
- package/dist/frontend/lowering/lower-mixins.js +85 -85
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +12 -18
- package/dist/frontend/lowering/lower-modules.js +284 -283
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +23 -49
- package/dist/frontend/lowering/lower-namespaces.js +123 -115
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +18 -25
- package/dist/frontend/lowering/lower-server.js +909 -899
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +30 -149
- package/dist/frontend/lowering/lower-stmts.js +1463 -1285
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +12 -12
- package/dist/frontend/lowering/lower-stream.js +300 -301
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.d.ts +5 -5
- package/dist/frontend/lowering/lower-test.js +82 -82
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +134 -22
- package/dist/frontend/lowering/lowerer.js +1277 -126
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.d.ts +11 -0
- package/dist/frontend/lowering/pairs-snapshot.js +85 -0
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -0
- package/dist/frontend/lowering/static-this.d.ts +6 -0
- package/dist/frontend/lowering/static-this.js +24 -0
- package/dist/frontend/lowering/static-this.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +24 -35
- package/dist/frontend/lowering/surfaces.js +78 -66
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js +6 -28
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +0 -10
- package/dist/frontend/npm-static.js +4 -7
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +0 -24
- package/dist/frontend/npm.js +11 -85
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/program.d.ts +3 -1
- package/dist/frontend/program.js +9 -4
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/provenance-registry.d.ts +0 -2
- package/dist/frontend/provenance-registry.js +0 -10
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/provenance.js +4 -7
- package/dist/frontend/provenance.js.map +1 -1
- package/dist/frontend/resolve.d.ts +7 -2
- package/dist/frontend/resolve.js +12 -17
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.d.ts +1 -0
- package/dist/frontend/resolve.test.js +29 -0
- package/dist/frontend/resolve.test.js.map +1 -0
- package/dist/frontend/ts7/adapter.d.ts +2 -2
- package/dist/frontend/ts7/adapter.js +1 -1
- package/dist/frontend/ts7/adapter.js.map +1 -1
- package/dist/frontend/ts7/checker.js +2 -36
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/enums.js +2 -1
- package/dist/frontend/ts7/enums.js.map +1 -1
- package/dist/frontend/ts7/{program.js → program-adapter.js} +7 -6
- package/dist/frontend/ts7/program-adapter.js.map +1 -0
- package/dist/frontend/ts7/world-check.d.ts +1 -3
- package/dist/frontend/ts7/world-check.js +3 -1
- package/dist/frontend/ts7/world-check.js.map +1 -1
- package/dist/frontend/tsc-codes.d.ts +8 -0
- package/dist/frontend/tsc-codes.js +109 -0
- package/dist/frontend/tsc-codes.js.map +1 -0
- package/dist/frontend/{types.d.ts → type-mapper.d.ts} +2 -25
- package/dist/frontend/{types.js → type-mapper.js} +12 -11
- package/dist/frontend/type-mapper.js.map +1 -0
- package/dist/frontend/workspace-registry.d.ts +26 -0
- package/dist/frontend/workspace-registry.js +71 -0
- package/dist/frontend/workspace-registry.js.map +1 -0
- package/dist/index.d.ts +113 -31
- package/dist/index.js +536 -128
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.d.ts +37 -0
- package/dist/ir/analysis.js +118 -0
- package/dist/ir/analysis.js.map +1 -0
- package/dist/ir/analysis.test.d.ts +1 -0
- package/dist/ir/analysis.test.js +21 -0
- package/dist/ir/analysis.test.js.map +1 -0
- package/dist/ir/build.d.ts +9 -0
- package/dist/ir/build.js +33 -0
- package/dist/ir/build.js.map +1 -0
- package/dist/ir/integer-loops.d.ts +1 -1
- package/dist/ir/{nodes.d.ts → ir.d.ts} +119 -37
- package/dist/ir/{nodes.js → ir.js} +170 -166
- package/dist/ir/ir.js.map +1 -0
- package/dist/ir/ir.test.d.ts +1 -0
- package/dist/ir/ir.test.js +17 -0
- package/dist/ir/ir.test.js.map +1 -0
- package/dist/ir/serialize.d.ts +2 -2
- package/dist/ir/serialize.js +3 -2
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/validate.d.ts +1 -1
- package/dist/ir/validate.js +93 -41
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/cache-primitives.d.ts +24 -0
- package/dist/library/cache-primitives.js +83 -0
- package/dist/library/cache-primitives.js.map +1 -0
- package/dist/library/cache-reset.test.d.ts +1 -0
- package/dist/library/cache-reset.test.js +47 -0
- package/dist/library/cache-reset.test.js.map +1 -0
- package/dist/library/{implementation-identity.js → compiler-self-identity.js} +1 -1
- package/dist/library/compiler-self-identity.js.map +1 -0
- package/dist/library/fence-eval.d.ts +3 -1
- package/dist/library/fence-eval.js +8 -2
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/int-infer.d.ts +1 -36
- package/dist/library/int-infer.js +29 -18
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/{early-cache.d.ts → library-cache.d.ts} +1 -1
- package/dist/library/{early-cache.js → library-cache.js} +34 -89
- package/dist/library/library-cache.js.map +1 -0
- package/dist/library/library-cache.test.d.ts +1 -0
- package/dist/library/{early-cache.test.js → library-cache.test.js} +7 -7
- package/dist/library/library-cache.test.js.map +1 -0
- package/dist/library/{profile.d.ts → library-profile.d.ts} +4 -7
- package/dist/library/{profile.js → library-profile.js} +18 -11
- package/dist/library/library-profile.js.map +1 -0
- package/dist/library/semantic-source.js +2 -1
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/sidecar.d.ts +5 -2
- package/dist/library/sidecar.js +11 -5
- package/dist/library/sidecar.js.map +1 -1
- package/dist/startup-cache.d.ts +11 -3
- package/dist/startup-cache.js +17 -2
- package/dist/startup-cache.js.map +1 -1
- package/package.json +19 -2
- package/surface-manifest.json +5 -5
- package/dist/backend/cc-cache.test.js.map +0 -1
- package/dist/backend/cc.js.map +0 -1
- package/dist/backend/emission/emit-async.js.map +0 -1
- package/dist/backend/emission/emit-exprs.d.ts +0 -13
- package/dist/backend/emission/emit-exprs.js +0 -7407
- package/dist/backend/emission/emit-exprs.js.map +0 -1
- package/dist/backend/emission/emit-island.js.map +0 -1
- package/dist/backend/emission/emit-shapes.js.map +0 -1
- package/dist/backend/emission/emit-stmts.js.map +0 -1
- package/dist/backend/emission/emit-types.js.map +0 -1
- package/dist/backend/emission/emit-walkers.js.map +0 -1
- package/dist/backend/emission/emitter.js.map +0 -1
- package/dist/backend/emission/may-throw.js.map +0 -1
- package/dist/backend/library-identity.js.map +0 -1
- package/dist/executable/early-cache.js.map +0 -1
- package/dist/executable/early-cache.test.js.map +0 -1
- package/dist/ffi/profile.js.map +0 -1
- package/dist/frontend/lowering/lower-emitter.js.map +0 -1
- package/dist/frontend/shared.d.ts +0 -82
- package/dist/frontend/shared.js +0 -308
- package/dist/frontend/shared.js.map +0 -1
- package/dist/frontend/ts7/program.js.map +0 -1
- package/dist/frontend/types.js.map +0 -1
- package/dist/ir/nodes.js.map +0 -1
- package/dist/library/early-cache.js.map +0 -1
- package/dist/library/early-cache.test.js.map +0 -1
- package/dist/library/implementation-identity.js.map +0 -1
- package/dist/library/profile.js.map +0 -1
- /package/dist/backend/{cc-cache.test.d.ts → c/types.test.d.ts} +0 -0
- /package/dist/{executable/early-cache.test.d.ts → backend/llvm/shapes.test.d.ts} +0 -0
- /package/dist/{library/early-cache.test.d.ts → backend/native-codegen.test.d.ts} +0 -0
- /package/dist/ffi/{profile.d.ts → ffi-manifest.d.ts} +0 -0
- /package/dist/frontend/ts7/{program.d.ts → program-adapter.d.ts} +0 -0
- /package/dist/library/{implementation-identity.d.ts → compiler-self-identity.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walkers.js","sourceRoot":"","sources":["../../../src/backend/c/walkers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The explicitly external C toolchain path.
|
|
3
|
+
*
|
|
4
|
+
* This module is deliberately narrow at the executable boundary: normal
|
|
5
|
+
* macOS arm64 LLVM builds emit a program object through the bundled helper
|
|
6
|
+
* and hand it to `linker.ts`. Generated C, `--from-c`, sanitizer builds,
|
|
7
|
+
* cross targets, and the temporary LLVM fallback continue to use this path.
|
|
8
|
+
* Keeping that distinction here prevents a platform linker driver from
|
|
9
|
+
* accidentally becoming the abstraction that compiles scriptc programs.
|
|
10
|
+
*/
|
|
11
|
+
import { type CcOptions, type LibArchiveOptions } from "./native-toolchain.js";
|
|
12
|
+
export { CcCompileError, compileC, compileLibArchive, compilerDriverSupportsPersistentCache, configuredTargetPlatform, executableNativeEnvironmentFingerprint, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal, prepareBuildCacheRoot, resolveCc, resolveBuildCacheRoot, runtimeSrcDir, subprocessFailureDetail, toolchainEnvironmentCachePolicy, toolchainEnvironmentFingerprint, targetPlatform, type CcDriver, type CcOptions, type LibArchiveOptions, type NativeCacheWarmProfile, type WarmNativeCachesOptions, type WarmNativeCachesResult, warmNativeCaches, } from "./native-toolchain.js";
|
|
13
|
+
export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, } from "./native-toolchain.js";
|
|
14
|
+
/** Compile a caller-provided C or LLVM source file through an external C
|
|
15
|
+
* toolchain. The CLI uses this only for its explicit `--from-c` escape
|
|
16
|
+
* hatch; generated program C uses the same implementation only on the
|
|
17
|
+
* documented legacy/fallback routes. */
|
|
18
|
+
export declare function compileExternalC(options: CcOptions): Promise<void>;
|
|
19
|
+
/** Build a library archive through the external C toolchain. Library packs
|
|
20
|
+
* are intentionally out of scope for the first executable-linking split. */
|
|
21
|
+
export declare function compileExternalCLibrary(options: LibArchiveOptions): Promise<void>;
|
|
22
|
+
/** Internal migration guard used by CI to ensure an LLVM-tier executable did
|
|
23
|
+
* not regress from helper-object linking to compiling its generated .ll.
|
|
24
|
+
* Explicit `--backend=c` and `--from-c` remain deliberate developer paths. */
|
|
25
|
+
export declare function legacyCExecutablePipelineEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
26
|
+
/** `SCRIPTC_CC` selects the external C compiler route during the migration.
|
|
27
|
+
* An unset value lets every supported LLVM-tier target use its helper plus
|
|
28
|
+
* runtime pack and reserve `SCRIPTC_LINKER` for the platform-linker driver. */
|
|
29
|
+
export declare function legacyCExecutablePathRequested(env?: NodeJS.ProcessEnv): boolean;
|
|
30
|
+
export declare class LegacyCExecutablePipelineDisabledError extends Error {
|
|
31
|
+
constructor();
|
|
32
|
+
}
|
|
33
|
+
export declare function assertLegacyCExecutablePipelineEnabled(env?: NodeJS.ProcessEnv): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The explicitly external C toolchain path.
|
|
3
|
+
*
|
|
4
|
+
* This module is deliberately narrow at the executable boundary: normal
|
|
5
|
+
* macOS arm64 LLVM builds emit a program object through the bundled helper
|
|
6
|
+
* and hand it to `linker.ts`. Generated C, `--from-c`, sanitizer builds,
|
|
7
|
+
* cross targets, and the temporary LLVM fallback continue to use this path.
|
|
8
|
+
* Keeping that distinction here prevents a platform linker driver from
|
|
9
|
+
* accidentally becoming the abstraction that compiles scriptc programs.
|
|
10
|
+
*/
|
|
11
|
+
import { compileC, compileLibArchive, } from "./native-toolchain.js";
|
|
12
|
+
export { CcCompileError, compileC, compileLibArchive, compilerDriverSupportsPersistentCache, configuredTargetPlatform, executableNativeEnvironmentFingerprint, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal, prepareBuildCacheRoot, resolveCc, resolveBuildCacheRoot, runtimeSrcDir, subprocessFailureDetail, toolchainEnvironmentCachePolicy, toolchainEnvironmentFingerprint, targetPlatform, warmNativeCaches, } from "./native-toolchain.js";
|
|
13
|
+
export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, } from "./native-toolchain.js";
|
|
14
|
+
/** Compile a caller-provided C or LLVM source file through an external C
|
|
15
|
+
* toolchain. The CLI uses this only for its explicit `--from-c` escape
|
|
16
|
+
* hatch; generated program C uses the same implementation only on the
|
|
17
|
+
* documented legacy/fallback routes. */
|
|
18
|
+
export async function compileExternalC(options) {
|
|
19
|
+
await compileC(options);
|
|
20
|
+
}
|
|
21
|
+
/** Build a library archive through the external C toolchain. Library packs
|
|
22
|
+
* are intentionally out of scope for the first executable-linking split. */
|
|
23
|
+
export async function compileExternalCLibrary(options) {
|
|
24
|
+
await compileLibArchive(options);
|
|
25
|
+
}
|
|
26
|
+
/** Internal migration guard used by CI to ensure an LLVM-tier executable did
|
|
27
|
+
* not regress from helper-object linking to compiling its generated .ll.
|
|
28
|
+
* Explicit `--backend=c` and `--from-c` remain deliberate developer paths. */
|
|
29
|
+
export function legacyCExecutablePipelineEnabled(env = process.env) {
|
|
30
|
+
return env["SCRIPTC_LEGACY_C_PIPELINE"] !== "0";
|
|
31
|
+
}
|
|
32
|
+
/** `SCRIPTC_CC` selects the external C compiler route during the migration.
|
|
33
|
+
* An unset value lets every supported LLVM-tier target use its helper plus
|
|
34
|
+
* runtime pack and reserve `SCRIPTC_LINKER` for the platform-linker driver. */
|
|
35
|
+
export function legacyCExecutablePathRequested(env = process.env) {
|
|
36
|
+
const configured = env["SCRIPTC_CC"];
|
|
37
|
+
return configured !== undefined && configured !== "";
|
|
38
|
+
}
|
|
39
|
+
export class LegacyCExecutablePipelineDisabledError extends Error {
|
|
40
|
+
constructor() {
|
|
41
|
+
super("the legacy generated-C executable pipeline is disabled (SCRIPTC_LEGACY_C_PIPELINE=0); " +
|
|
42
|
+
"use the supported LLVM helper/runtime-pack route or remove the internal comparison switch");
|
|
43
|
+
this.name = "LegacyCExecutablePipelineDisabledError";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export function assertLegacyCExecutablePipelineEnabled(env = process.env) {
|
|
47
|
+
if (!legacyCExecutablePipelineEnabled(env)) {
|
|
48
|
+
throw new LegacyCExecutablePipelineDisabledError();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=external-c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-c.js","sourceRoot":"","sources":["../../src/backend/external-c.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,QAAQ,EACR,iBAAiB,GAIlB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,qCAAqC,EACrC,wBAAwB,EACxB,sCAAsC,EACtC,eAAe,EACf,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,EAOd,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B;;;wCAGwC;AACxC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAkB;IACvD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED;4EAC4E;AAC5E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAA0B;IACtE,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;8EAE8E;AAC9E,MAAM,UAAU,gCAAgC,CAC9C,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAC;AAClD,CAAC;AAED;;+EAE+E;AAC/E,MAAM,UAAU,8BAA8B,CAC5C,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,sCAAuC,SAAQ,KAAK;IAC/D;QACE,KAAK,CACH,wFAAwF;YACxF,2FAA2F,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,sCAAsC,EAAE,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InternalCompilerError } from "../errors.js";
|
|
2
|
+
import { isFfiCallbackParam, isFfiContextParam, isFfiReleaseParam } from "../ir/ir.js";
|
|
2
3
|
/** Allocate internal callback symbols outside the manifest's external
|
|
3
4
|
* symbol set. C and LLVM share this table so a valid native symbol can
|
|
4
5
|
* never collide with a generated trampoline or raw-callback TLS slot. */
|
|
@@ -80,7 +81,7 @@ export function collectFfiRetainedOps(entry, callbackArgs, adapterFor) {
|
|
|
80
81
|
if (isFfiCallbackParam(param) && param.callback.lifetime === "retained") {
|
|
81
82
|
const adapter = adapterFor(entry.name, param.callback.id);
|
|
82
83
|
if (adapter.table === null)
|
|
83
|
-
throw new
|
|
84
|
+
throw new InternalCompilerError("emitter bug: retained callback has no table");
|
|
84
85
|
registrations.push({
|
|
85
86
|
table: adapter.table,
|
|
86
87
|
global: adapter.global,
|
|
@@ -92,7 +93,7 @@ export function collectFfiRetainedOps(entry, callbackArgs, adapterFor) {
|
|
|
92
93
|
const { binding, id } = parseFfiCallbackKey(param.callback.release);
|
|
93
94
|
const adapter = adapterFor(binding, id);
|
|
94
95
|
if (adapter.table === null)
|
|
95
|
-
throw new
|
|
96
|
+
throw new InternalCompilerError("emitter bug: retained release has no table");
|
|
96
97
|
releases.push({
|
|
97
98
|
table: adapter.table,
|
|
98
99
|
global: adapter.global,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffi-callbacks.js","sourceRoot":"","sources":["../../src/backend/ffi-callbacks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ffi-callbacks.js","sourceRoot":"","sources":["../../src/backend/ffi-callbacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export type LibraryEmission = "c" | "llvm";
|
|
2
|
-
export declare const C_LIBRARY_IDENTITY_BEGIN = "/* scriptc-library-identity: begin */";
|
|
3
|
-
export declare const C_LIBRARY_IDENTITY_END = "/* scriptc-library-identity: end */";
|
|
4
|
-
export declare const LLVM_LIBRARY_IDENTITY_BEGIN = "; scriptc-library-identity: begin";
|
|
5
|
-
export declare const LLVM_LIBRARY_IDENTITY_END = "; scriptc-library-identity: end";
|
|
6
2
|
export interface LibraryIdentityValues {
|
|
7
3
|
buildIdSymbol: string;
|
|
8
4
|
abiVersionSymbol: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { InternalCompilerError } from "../errors.js";
|
|
2
|
+
const C_LIBRARY_IDENTITY_BEGIN = "/* scriptc-library-identity: begin */";
|
|
3
|
+
const C_LIBRARY_IDENTITY_END = "/* scriptc-library-identity: end */";
|
|
4
|
+
const LLVM_LIBRARY_IDENTITY_BEGIN = "; scriptc-library-identity: begin";
|
|
5
|
+
const LLVM_LIBRARY_IDENTITY_END = "; scriptc-library-identity: end";
|
|
5
6
|
function identityMarkers(emission) {
|
|
6
7
|
return emission === "c"
|
|
7
8
|
? { begin: C_LIBRARY_IDENTITY_BEGIN, end: C_LIBRARY_IDENTITY_END }
|
|
@@ -9,7 +10,7 @@ function identityMarkers(emission) {
|
|
|
9
10
|
}
|
|
10
11
|
export function emitLibraryIdentityLines(emission, identity, llvmFunctionAttrs = "#0") {
|
|
11
12
|
if (!/^[0-9a-f]{16}$/.test(identity.buildId)) {
|
|
12
|
-
throw new
|
|
13
|
+
throw new InternalCompilerError("library build id must be exactly 16 lowercase hex digits");
|
|
13
14
|
}
|
|
14
15
|
if (emission === "c") {
|
|
15
16
|
return [
|
|
@@ -47,18 +48,18 @@ function identityOffsets(source, emission) {
|
|
|
47
48
|
if (start < 0)
|
|
48
49
|
return null;
|
|
49
50
|
if (source.indexOf(begin, start + begin.length) >= 0) {
|
|
50
|
-
throw new
|
|
51
|
+
throw new InternalCompilerError("generated library TU contains multiple identity regions");
|
|
51
52
|
}
|
|
52
53
|
const endStart = source.indexOf(end, start + begin.length);
|
|
53
54
|
if (endStart < 0)
|
|
54
|
-
throw new
|
|
55
|
+
throw new InternalCompilerError("generated library TU has an unterminated identity region");
|
|
55
56
|
return { start, end: endStart + end.length };
|
|
56
57
|
}
|
|
57
58
|
/** Refresh only the volatile identity block in a cached public TU. */
|
|
58
59
|
export function replaceLibraryIdentity(source, emission, identity) {
|
|
59
60
|
const offsets = identityOffsets(source, emission);
|
|
60
61
|
if (offsets === null)
|
|
61
|
-
throw new
|
|
62
|
+
throw new InternalCompilerError("generated public library TU has no identity region");
|
|
62
63
|
const replacement = emitLibraryIdentityLines(emission, identity).join("\n");
|
|
63
64
|
return source.slice(0, offsets.start) + replacement + source.slice(offsets.end);
|
|
64
65
|
}
|
|
@@ -100,4 +101,4 @@ export function stripLibraryIdentity(source, emission) {
|
|
|
100
101
|
}
|
|
101
102
|
return prefix + source.slice(suffix);
|
|
102
103
|
}
|
|
103
|
-
//# sourceMappingURL=library-identity.js.map
|
|
104
|
+
//# sourceMappingURL=library-identity-markers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library-identity-markers.js","sourceRoot":"","sources":["../../src/backend/library-identity-markers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Ordered executable link plans for scriptc-owned program objects.
|
|
2
|
+
*
|
|
3
|
+
* The plan is data, not a compiler-driver command line. Runtime-pack
|
|
4
|
+
* selection owns which objects exist, target specifications own mandatory
|
|
5
|
+
* driver arguments, and this module owns the observable order in which the
|
|
6
|
+
* program, FFI inputs, runtime objects/archives, and system libraries meet
|
|
7
|
+
* the platform linker.
|
|
8
|
+
*/
|
|
9
|
+
import type { FfiProfile } from "../ffi/ffi-manifest.js";
|
|
10
|
+
import type { NativeLinkFeatures } from "./native-link-info.js";
|
|
11
|
+
import type { NativeArtifactDependency } from "./native-toolchain.js";
|
|
12
|
+
import { type RuntimePackSelection } from "./runtime-pack.js";
|
|
13
|
+
import type { NativeTargetSpec } from "./targets.js";
|
|
14
|
+
export interface NativeLinkPlan {
|
|
15
|
+
target: NativeTargetSpec;
|
|
16
|
+
outputPath: string;
|
|
17
|
+
/** Object/archive order is intentional. In particular FFI archives must
|
|
18
|
+
* follow the generated program object and precede runtime archives. */
|
|
19
|
+
inputs: string[];
|
|
20
|
+
systemLibraries: string[];
|
|
21
|
+
driverFlags: string[];
|
|
22
|
+
dependencyPaths: string[];
|
|
23
|
+
/** Inputs already snapshotted by the program-object emitter. */
|
|
24
|
+
programObjectDependencies: NativeArtifactDependency[];
|
|
25
|
+
runtimePack: RuntimePackSelection;
|
|
26
|
+
}
|
|
27
|
+
export declare function createNativeLinkPlan(options: {
|
|
28
|
+
target: NativeTargetSpec;
|
|
29
|
+
programObject: string;
|
|
30
|
+
outPath: string;
|
|
31
|
+
features: NativeLinkFeatures;
|
|
32
|
+
ffi: FfiProfile | null;
|
|
33
|
+
optimization: "release" | "dev";
|
|
34
|
+
programObjectDependencies?: readonly NativeArtifactDependency[];
|
|
35
|
+
env?: NodeJS.ProcessEnv;
|
|
36
|
+
resolver?: (specifier: string) => string;
|
|
37
|
+
}): Promise<NativeLinkPlan>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { loadRuntimePack } from "./runtime-pack.js";
|
|
2
|
+
export async function createNativeLinkPlan(options) {
|
|
3
|
+
const runtimePack = await loadRuntimePack(options);
|
|
4
|
+
return {
|
|
5
|
+
target: options.target,
|
|
6
|
+
outputPath: options.outPath,
|
|
7
|
+
inputs: [
|
|
8
|
+
options.programObject,
|
|
9
|
+
...(options.ffi?.libraries ?? []),
|
|
10
|
+
...runtimePack.runtimeObjects,
|
|
11
|
+
...runtimePack.archives,
|
|
12
|
+
],
|
|
13
|
+
systemLibraries: [...new Set([
|
|
14
|
+
...(options.ffi?.systemLibraries ?? []),
|
|
15
|
+
...runtimePack.systemLibraries,
|
|
16
|
+
])],
|
|
17
|
+
driverFlags: options.target.executableLinkerArgs.map((arg, index, args) => index > 0 && args[index - 1] === "-target" ? options.target.linkerTargetTriple : arg),
|
|
18
|
+
dependencyPaths: [
|
|
19
|
+
...runtimePack.dependencyPaths,
|
|
20
|
+
...(options.ffi?.libraries ?? []),
|
|
21
|
+
],
|
|
22
|
+
programObjectDependencies: [...(options.programObjectDependencies ?? [])],
|
|
23
|
+
runtimePack,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=link-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-plan.js","sourceRoot":"","sources":["../../src/backend/link-plan.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAiB/E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAU1C;IACC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,OAAO;QAC3B,MAAM,EAAE;YACN,OAAO,CAAC,aAAa;YACrB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;YACjC,GAAG,WAAW,CAAC,cAAc;YAC7B,GAAG,WAAW,CAAC,QAAQ;SACxB;QACD,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;gBAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC;gBACvC,GAAG,WAAW,CAAC,eAAe;aAC/B,CAAC,CAAC;QACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACxE,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CACrF;QACD,eAAe,EAAE;YACf,GAAG,WAAW,CAAC,eAAe;YAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;SAClC;QACD,yBAAyB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACzE,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type NativeArtifactDependency } from "./native-toolchain.js";
|
|
2
|
+
import type { NativeLinkPlan } from "./link-plan.js";
|
|
3
|
+
/** The linker (or linker driver) is independent from SCRIPTC_CC. A plain
|
|
4
|
+
* `clang` is the initial macOS driver because it locates the selected SDK and
|
|
5
|
+
* CRT inputs; it receives only objects and archives on this route. */
|
|
6
|
+
export declare function resolvePlatformLinker(env?: NodeJS.ProcessEnv, defaultLinker?: string): string;
|
|
7
|
+
/** Cache-route identity for an object-only platform-link invocation. The
|
|
8
|
+
* complete executable cache additionally records and revalidates the
|
|
9
|
+
* linker's resolved SDK/CRT inputs before it restores an executable. This
|
|
10
|
+
* deliberately performs no synthetic C compilation: the linker receives
|
|
11
|
+
* only the helper-produced program object and runtime-pack artifacts. */
|
|
12
|
+
export declare function executableLinkerEnvironmentFingerprint(env?: NodeJS.ProcessEnv, defaultLinker?: string): Promise<string>;
|
|
13
|
+
/** Whether the object-only linker route can publish a whole executable cache
|
|
14
|
+
* entry. The current proof machinery trusts only the direct default driver;
|
|
15
|
+
* a caller-selected SCRIPTC_LINKER may be a wrapper with hidden inputs. */
|
|
16
|
+
export declare function platformLinkerSupportsPersistentCache(env?: NodeJS.ProcessEnv, target?: Pick<NativeLinkPlan["target"], "platform" | "defaultLinker">): boolean;
|
|
17
|
+
export declare function linkNativeExecutable(plan: NativeLinkPlan, options?: {
|
|
18
|
+
linker?: string;
|
|
19
|
+
onArtifactReady?: (artifact: {
|
|
20
|
+
dependencies: NativeArtifactDependency[];
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
}): Promise<void>;
|