@scriptc/compiler 0.0.36 → 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.
Files changed (113) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +7 -5
  2. package/ambient/scriptc-overrides.d.ts +0 -7
  3. package/ambient/scriptc.d.ts +1 -1
  4. package/dist/backend/c/exprs.js +69 -45
  5. package/dist/backend/c/exprs.js.map +1 -1
  6. package/dist/backend/c/may-throw.js +3 -0
  7. package/dist/backend/c/may-throw.js.map +1 -1
  8. package/dist/backend/c/stmts.js +18 -0
  9. package/dist/backend/c/stmts.js.map +1 -1
  10. package/dist/backend/c/walkers.js +5 -7
  11. package/dist/backend/c/walkers.js.map +1 -1
  12. package/dist/backend/external-c.d.ts +33 -0
  13. package/dist/backend/external-c.js +51 -0
  14. package/dist/backend/external-c.js.map +1 -0
  15. package/dist/backend/link-plan.d.ts +37 -0
  16. package/dist/backend/link-plan.js +26 -0
  17. package/dist/backend/link-plan.js.map +1 -0
  18. package/dist/backend/linker.d.ts +22 -0
  19. package/dist/backend/linker.js +236 -0
  20. package/dist/backend/linker.js.map +1 -0
  21. package/dist/backend/llvm/dyn.js +7 -0
  22. package/dist/backend/llvm/dyn.js.map +1 -1
  23. package/dist/backend/llvm/emitter.js +34 -7
  24. package/dist/backend/llvm/emitter.js.map +1 -1
  25. package/dist/backend/llvm/expr-containers.js +68 -54
  26. package/dist/backend/llvm/expr-containers.js.map +1 -1
  27. package/dist/backend/llvm/expr-context.d.ts +1 -1
  28. package/dist/backend/llvm/expr-dispatch.js +2 -0
  29. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  30. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  31. package/dist/backend/llvm/expr-primitives.js +20 -0
  32. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  33. package/dist/backend/llvm/expr-stream-bridges.js +25 -1
  34. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  35. package/dist/backend/llvm/walkers.js +31 -4
  36. package/dist/backend/llvm/walkers.js.map +1 -1
  37. package/dist/backend/native-codegen.d.ts +8 -1
  38. package/dist/backend/native-codegen.js +39 -25
  39. package/dist/backend/native-codegen.js.map +1 -1
  40. package/dist/backend/native-codegen.test.js +42 -4
  41. package/dist/backend/native-codegen.test.js.map +1 -1
  42. package/dist/backend/native-link-info.d.ts +1 -1
  43. package/dist/backend/native-link-info.js +42 -18
  44. package/dist/backend/native-link-info.js.map +1 -1
  45. package/dist/backend/native-toolchain.test.js +5 -1
  46. package/dist/backend/native-toolchain.test.js.map +1 -1
  47. package/dist/backend/runtime-pack-targets.test.d.ts +1 -0
  48. package/dist/backend/runtime-pack-targets.test.js +54 -0
  49. package/dist/backend/runtime-pack-targets.test.js.map +1 -0
  50. package/dist/backend/runtime-pack.d.ts +5 -30
  51. package/dist/backend/runtime-pack.js +46 -141
  52. package/dist/backend/runtime-pack.js.map +1 -1
  53. package/dist/backend/runtime-pack.test.js +49 -14
  54. package/dist/backend/runtime-pack.test.js.map +1 -1
  55. package/dist/backend/targets.d.ts +63 -17
  56. package/dist/backend/targets.js +251 -35
  57. package/dist/backend/targets.js.map +1 -1
  58. package/dist/backend/targets.test.js +27 -5
  59. package/dist/backend/targets.test.js.map +1 -1
  60. package/dist/coverage/surface-manifest.js +10 -1
  61. package/dist/coverage/surface-manifest.js.map +1 -1
  62. package/dist/frontend/lowering/array-values.d.ts +8 -0
  63. package/dist/frontend/lowering/array-values.js +60 -0
  64. package/dist/frontend/lowering/array-values.js.map +1 -0
  65. package/dist/frontend/lowering/lower-array-sort.d.ts +22 -0
  66. package/dist/frontend/lowering/lower-array-sort.js +619 -0
  67. package/dist/frontend/lowering/lower-array-sort.js.map +1 -0
  68. package/dist/frontend/lowering/lower-builtins.js +164 -4
  69. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  70. package/dist/frontend/lowering/lower-calls.d.ts +3 -4
  71. package/dist/frontend/lowering/lower-calls.js +260 -27
  72. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  73. package/dist/frontend/lowering/lower-containers.js +728 -655
  74. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  75. package/dist/frontend/lowering/lower-exprs.d.ts +4 -0
  76. package/dist/frontend/lowering/lower-exprs.js +769 -101
  77. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  78. package/dist/frontend/lowering/lower-inspect.js +47 -33
  79. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  80. package/dist/frontend/lowering/lower-island.d.ts +5 -4
  81. package/dist/frontend/lowering/lower-island.js +10 -5
  82. package/dist/frontend/lowering/lower-island.js.map +1 -1
  83. package/dist/frontend/lowering/lower-server.js +10 -0
  84. package/dist/frontend/lowering/lower-server.js.map +1 -1
  85. package/dist/frontend/lowering/lower-stmts.js +302 -71
  86. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  87. package/dist/frontend/lowering/lowerer.d.ts +74 -2
  88. package/dist/frontend/lowering/lowerer.js +1087 -10
  89. package/dist/frontend/lowering/lowerer.js.map +1 -1
  90. package/dist/frontend/lowering/surfaces.d.ts +10 -2
  91. package/dist/frontend/lowering/surfaces.js +15 -3
  92. package/dist/frontend/lowering/surfaces.js.map +1 -1
  93. package/dist/index.d.ts +3 -3
  94. package/dist/index.js +45 -23
  95. package/dist/index.js.map +1 -1
  96. package/dist/ir/ir.d.ts +65 -11
  97. package/dist/ir/ir.js +25 -25
  98. package/dist/ir/ir.js.map +1 -1
  99. package/dist/ir/serialize.d.ts +1 -1
  100. package/dist/ir/serialize.js +1 -1
  101. package/dist/ir/validate.js +84 -37
  102. package/dist/ir/validate.js.map +1 -1
  103. package/dist/library/fence-eval.js +3 -1
  104. package/dist/library/fence-eval.js.map +1 -1
  105. package/dist/library/int-infer.js +12 -1
  106. package/dist/library/int-infer.js.map +1 -1
  107. package/dist/library/int-infer.test.js +4 -4
  108. package/dist/library/library-cache.test.js +5 -5
  109. package/dist/startup-cache.d.ts +9 -1
  110. package/dist/startup-cache.js +16 -1
  111. package/dist/startup-cache.js.map +1 -1
  112. package/package.json +17 -4
  113. package/surface-manifest.json +5 -5
@@ -114,7 +114,8 @@ export interface IslandFnEntry {
114
114
  export declare const boundaryIntoIslandMsg: (typeName: string) => string;
115
115
  export declare const boundaryOutOfIslandMsg: (typeName: string) => string;
116
116
  /** The island-backed surface — standard-library APIs with no static
117
- * runtime implementation (Math.*, number/string methods beyond the
117
+ * runtime implementation (Math methods/properties beyond the compile-time
118
+ * constants, number/string methods beyond the
118
119
  * intrinsic set, parseFloat, ...). ONE table drives both sides of the
119
120
  * gate: under --dynamic each entry lowers to marshal → engine execution →
120
121
  * validated exit to the declared return type; without the flag each use
@@ -129,7 +130,8 @@ export declare const boundaryOutOfIslandMsg: (typeName: string) => string;
129
130
  * user. */
130
131
  export declare const ISLAND_SURFACE: {
131
132
  /** `Math.<fn>(...)` lowers to callMethod(globalGet("Math"), fn, args);
132
- * the readonly number props (`Math.PI`) to getProp(globalGet("Math")).
133
+ * Math.PI and Math.E are compile-time numeric literals in STATIC_MATH_PROPS;
134
+ * remaining Math properties retain island/fence behavior.
133
135
  * min/max/atan2/hypot/pow are declared with exactly two parameters
134
136
  * (rest/optional parameters aren't representable). */
135
137
  math: {
@@ -156,6 +158,12 @@ export declare const ISLAND_SURFACE: {
156
158
  * coercions stay engine territory. */
157
159
  globals: Record<string, IslandFnEntry | undefined>;
158
160
  };
161
+ /** Math properties with a STATIC lowering: each read becomes the exact
162
+ * JavaScript numeric constant in the typed IR. No runtime Math object read or
163
+ * dynamic-engine dependency is involved. Remaining Math properties retain
164
+ * their island/fence behavior through ISLAND_SURFACE.math.props and the
165
+ * generic standard-library member fence. */
166
+ export declare const STATIC_MATH_PROPS: Record<string, number | undefined>;
159
167
  /** Math members with a STATIC lowering — each is one C call that IS the
160
168
  * JS operation, at the tabled arity (floor: libm's floor; min/max: the
161
169
  * NaN-poisoning ±0-ordered scalar folds; random: arc4random-backed
@@ -383,7 +383,8 @@ export const boundaryOutOfIslandMsg = (typeName) => `using an 'any' value where
383
383
  `(an 'any' value can only exit to numbers, strings, booleans, JSON-safe records/arrays/unions, ` +
384
384
  `and 'T | undefined' over those)`;
385
385
  /** The island-backed surface — standard-library APIs with no static
386
- * runtime implementation (Math.*, number/string methods beyond the
386
+ * runtime implementation (Math methods/properties beyond the compile-time
387
+ * constants, number/string methods beyond the
387
388
  * intrinsic set, parseFloat, ...). ONE table drives both sides of the
388
389
  * gate: under --dynamic each entry lowers to marshal → engine execution →
389
390
  * validated exit to the declared return type; without the flag each use
@@ -398,7 +399,8 @@ export const boundaryOutOfIslandMsg = (typeName) => `using an 'any' value where
398
399
  * user. */
399
400
  export const ISLAND_SURFACE = {
400
401
  /** `Math.<fn>(...)` lowers to callMethod(globalGet("Math"), fn, args);
401
- * the readonly number props (`Math.PI`) to getProp(globalGet("Math")).
402
+ * Math.PI and Math.E are compile-time numeric literals in STATIC_MATH_PROPS;
403
+ * remaining Math properties retain island/fence behavior.
402
404
  * min/max/atan2/hypot/pow are declared with exactly two parameters
403
405
  * (rest/optional parameters aren't representable). */
404
406
  math: {
@@ -411,7 +413,8 @@ export const ISLAND_SURFACE = {
411
413
  round: ISL_N1,
412
414
  sign: ISL_N1, sin: ISL_N1, sqrt: ISL_N1, tan: ISL_N1, trunc: ISL_N1,
413
415
  },
414
- props: { PI: F64, E: F64 },
416
+ // Math constants are compile-time literals, not island properties.
417
+ props: {},
415
418
  },
416
419
  /** Methods on `number` receivers. The receiver marshals by value; the
417
420
  * engine auto-boxes primitives on method calls, so `this` binds the
@@ -444,6 +447,15 @@ export const ISLAND_SURFACE = {
444
447
  isFinite: { args: [F64], ret: BOOL },
445
448
  },
446
449
  };
450
+ /** Math properties with a STATIC lowering: each read becomes the exact
451
+ * JavaScript numeric constant in the typed IR. No runtime Math object read or
452
+ * dynamic-engine dependency is involved. Remaining Math properties retain
453
+ * their island/fence behavior through ISLAND_SURFACE.math.props and the
454
+ * generic standard-library member fence. */
455
+ export const STATIC_MATH_PROPS = {
456
+ PI: 3.141592653589793,
457
+ E: 2.718281828459045,
458
+ };
447
459
  /** Math members with a STATIC lowering — each is one C call that IS the
448
460
  * JS operation, at the tabled arity (floor: libm's floor; min/max: the
449
461
  * NaN-poisoning ±0-ordered scalar folds; random: arc4random-backed
@@ -1 +1 @@
1
- {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/surfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/surfaces.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,8 +5,8 @@ export declare const VERSION = "0.0.1";
5
5
  export { EXTERNAL_OBJECT_ABI_STABILITY, RUNTIME_ABI_MARKER, RUNTIME_ABI_VERSION, } from "./backend/runtime-abi.js";
6
6
  export type { NativeLinkInfo, NativeLinkFeatures } from "./backend/native-link-info.js";
7
7
  export { InternalCompilerError } from "./errors.js";
8
- export { compileC, runtimeSrcDir, warmNativeCaches, type CcOptions, type NativeCacheWarmProfile, type WarmNativeCachesOptions, type WarmNativeCachesResult, } from "./backend/native-toolchain.js";
9
- export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal } from "./backend/native-toolchain.js";
8
+ export { compileExternalC as compileC, compileExternalC, runtimeSrcDir, warmNativeCaches, type CcOptions, type NativeCacheWarmProfile, type WarmNativeCachesOptions, type WarmNativeCachesResult, } from "./backend/external-c.js";
9
+ export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal } from "./backend/external-c.js";
10
10
  export { emitCModule, emitCModule as emitModule, type CEmitOptions, } from "./backend/c/c-emitter.js";
11
11
  export type { ScrDiagnostic } from "./diagnostics/diagnostic.js";
12
12
  export { renderDiagnostics, renderDiagnostics as renderAll, renderDiagnostic, } from "./diagnostics/render.js";
@@ -22,7 +22,7 @@ export { assembleTrapTeaching, TRAP_TEACHING_MARKER, TRAP_TEACHING_SEP, } from "
22
22
  export { abiExportSuffixes, buildSidecar, canonicalModuleGraph, canonicalPath, compilerReleaseVersion, libraryIdentityHashes, SIDECAR_FORMAT, type SidecarDoc, type SidecarBuildInput, type SidecarBuildResult, type TypeRef, type PayloadDescriptor, } from "./library/sidecar.js";
23
23
  export { validateSidecar } from "./library/sidecar-validate.js";
24
24
  export { BUILD_ID_SEED, SOURCE_HASH_SEED, hex16, lengthPrefixedStream, wyhash64 } from "./library/wyhash.js";
25
- export { ISLAND_SURFACE, type IslandFnEntry } from "./frontend/lowering/surfaces.js";
25
+ export { ISLAND_SURFACE, STATIC_MATH_PROPS, type IslandFnEntry } from "./frontend/lowering/surfaces.js";
26
26
  export { ambientDtsPath, isExactExternalTypeSpecifier, overridesDtsPath } from "./frontend/program.js";
27
27
  export { resolveProvenanceSources } from "./frontend/provenance.js";
28
28
  export { wasiGuestPath, type HostPathFlavor } from "./wasi-paths.js";
package/dist/index.js CHANGED
@@ -2,14 +2,18 @@ import { InternalCompilerError } from "./errors.js";
2
2
  import { mkdir, mkdtemp, readFile, rename, rm, writeFile } from "node:fs/promises";
3
3
  import { tmpdir } from "node:os";
4
4
  import { basename, dirname, join, resolve } from "node:path";
5
- import { buildCacheRoot, CcCompileError, clearCcCaches, compileC, compileLibArchive, compilerDriverSupportsPersistentCache, configuredTargetPlatform, executableNativeEnvironmentFingerprint, mobileLibraryTarget, mobileTargetRefusal, prepareBuildCacheRoot, pruneBuildCache, resolveCc, targetPlatform, toolchainEnvironmentCachePolicy, toolchainEnvironmentFingerprint } from "./backend/native-toolchain.js";
5
+ import { clearCcCaches, configuredTargetPlatform } from "./backend/native-toolchain.js";
6
+ import { buildCacheRoot, prepareBuildCacheRoot, pruneBuildCache } from "./backend/build-cache.js";
7
+ import { assertLegacyCExecutablePipelineEnabled, CcCompileError, compileExternalC, compileExternalCLibrary, executableNativeEnvironmentFingerprint, legacyCExecutablePathRequested, mobileLibraryTarget, mobileTargetRefusal, resolveCc, targetPlatform, } from "./backend/external-c.js";
6
8
  import { emitCModule } from "./backend/c/c-emitter.js";
7
9
  import { emitLlvmModule, LlvmUnsupportedError } from "./backend/llvm/emitter.js";
8
10
  import { emitNativeArtifact, NativeCodegenError } from "./backend/native-codegen.js";
9
11
  import { privateSiblingPath } from "./backend/build-cache.js";
10
12
  import { nativeCodegenTarget, nativeCodegenTargetRefusal } from "./backend/targets.js";
11
13
  import { createNativeLinkInfo } from "./backend/native-link-info.js";
12
- import { createRuntimeLinkPlan, linkRuntimePackExecutable, RuntimePackError } from "./backend/runtime-pack.js";
14
+ import { RuntimePackError } from "./backend/runtime-pack.js";
15
+ import { createNativeLinkPlan } from "./backend/link-plan.js";
16
+ import { executableLinkerEnvironmentFingerprint, linkNativeExecutable, platformLinkerSupportsPersistentCache, resolvePlatformLinker, } from "./backend/linker.js";
13
17
  import { splitLlvmLibraryProgram, splitLlvmProgram } from "./backend/llvm/split.js";
14
18
  import { rebaseLibrarySourceComments, replaceLibraryIdentity, stripLibraryIdentity, stripLibrarySourceComments } from "./backend/library-identity-markers.js";
15
19
  import { checkerPanicDiag, ffiNativeBuildDiag, libAsyncExportDiag, libAsyncSurfaceDiag, libExportUnresolvedDiag, libGenericExportDiag, libIntBoundaryDiag, libNpmIneligibleDiag, libSidecarDiag, libUnmappableSignatureDiag, iceDiag, isCheckerPanic, LIB_INBOUND_BYTES_TRAP_CODE, LIB_RUNTIME_TRAP_CODES, nativeCodegenDiag } from "./diagnostics/diagnostic.js";
@@ -41,8 +45,8 @@ import { compilerImplementationIdentity } from "./library/compiler-self-identity
41
45
  export const VERSION = "0.0.1";
42
46
  export { EXTERNAL_OBJECT_ABI_STABILITY, RUNTIME_ABI_MARKER, RUNTIME_ABI_VERSION, } from "./backend/runtime-abi.js";
43
47
  export { InternalCompilerError } from "./errors.js";
44
- export { compileC, runtimeSrcDir, warmNativeCaches, } from "./backend/native-toolchain.js";
45
- export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal } from "./backend/native-toolchain.js";
48
+ export { compileExternalC as compileC, compileExternalC, runtimeSrcDir, warmNativeCaches, } from "./backend/external-c.js";
49
+ export { ANDROID_MIN_API, IPHONEOS_MIN_VERSION, isAndroidTarget, isIosTarget, isMobileTarget, mobileLibraryTarget, mobileTargetRefusal } from "./backend/external-c.js";
46
50
  export { emitCModule, emitCModule as emitModule, } from "./backend/c/c-emitter.js";
47
51
  export { renderDiagnostics, renderDiagnostics as renderAll, renderDiagnostic, } from "./diagnostics/render.js";
48
52
  export { renderCoverage } from "./coverage/report.js";
@@ -57,7 +61,7 @@ export { assembleTrapTeaching, TRAP_TEACHING_MARKER, TRAP_TEACHING_SEP, } from "
57
61
  export { abiExportSuffixes, buildSidecar, canonicalModuleGraph, canonicalPath, compilerReleaseVersion, libraryIdentityHashes, SIDECAR_FORMAT, } from "./library/sidecar.js";
58
62
  export { validateSidecar } from "./library/sidecar-validate.js";
59
63
  export { BUILD_ID_SEED, SOURCE_HASH_SEED, hex16, lengthPrefixedStream, wyhash64 } from "./library/wyhash.js";
60
- export { ISLAND_SURFACE } from "./frontend/lowering/surfaces.js";
64
+ export { ISLAND_SURFACE, STATIC_MATH_PROPS } from "./frontend/lowering/surfaces.js";
61
65
  export { ambientDtsPath, isExactExternalTypeSpecifier, overridesDtsPath } from "./frontend/program.js";
62
66
  export { resolveProvenanceSources } from "./frontend/provenance.js";
63
67
  export { wasiGuestPath } from "./wasi-paths.js";
@@ -714,7 +718,7 @@ async function compileExecutableNative(features, cPath, outPath, sanitize, ffi,
714
718
  ? nativeCodegenTarget()
715
719
  : null;
716
720
  if (runtimePackTarget !== null) {
717
- const plan = await createRuntimeLinkPlan({
721
+ const plan = await createNativeLinkPlan({
718
722
  target: runtimePackTarget,
719
723
  programObject: cPath,
720
724
  outPath,
@@ -723,10 +727,8 @@ async function compileExecutableNative(features, cPath, outPath, sanitize, ffi,
723
727
  optimization: features.optimization ?? "release",
724
728
  programObjectDependencies,
725
729
  });
726
- const cacheableLinker = onArtifactReady !== undefined && process.env["SCRIPTC_LINKER"] === undefined && ffi === null &&
727
- toolchainEnvironmentCachePolicy().completeArtifacts &&
728
- await compilerDriverSupportsPersistentCache(resolveCc(), toolchainEnvironmentFingerprint());
729
- await linkRuntimePackExecutable(plan, {
730
+ const cacheableLinker = onArtifactReady !== undefined && ffi === null && platformLinkerSupportsPersistentCache(process.env, runtimePackTarget);
731
+ await linkNativeExecutable(plan, {
730
732
  // A caller-selected linker can be a mutable wrapper with hidden inputs,
731
733
  // and a PATH-selected `clang` can be one too. FFI profiles and mutable
732
734
  // linker search environments likewise name transitive files that the
@@ -749,7 +751,8 @@ async function compileExecutableNative(features, cPath, outPath, sanitize, ffi,
749
751
  if (objectLinkDir !== null)
750
752
  await writeFile(linkDriverSource, "/* scriptc object link driver */\n");
751
753
  try {
752
- await compileC({
754
+ assertLegacyCExecutablePipelineEnabled();
755
+ await compileExternalC({
753
756
  cPath: linkDriverSource,
754
757
  outPath,
755
758
  cacheIdentity: "scriptc-generated-v1",
@@ -834,10 +837,9 @@ async function emitNativeProgramObject(entryPath, opts, llvm) {
834
837
  function usesPrecompiledRuntimePack(opts, backend) {
835
838
  if (backend !== "llvm" || opts.sanitize === true ||
836
839
  process.env["SCRIPTC_RUNTIME_PACK"] === "0" ||
837
- process.env["SCRIPTC_FETCH_CURL"] === "1")
840
+ process.env["SCRIPTC_FETCH_CURL"] === "1" || legacyCExecutablePathRequested())
838
841
  return false;
839
- const cc = process.env["SCRIPTC_CC"] ?? "";
840
- return (cc === "" || cc === "clang") && nativeCodegenTarget() !== null;
842
+ return nativeCodegenTarget() !== null;
841
843
  }
842
844
  function runtimePackDiagnostic(error, entryPath) {
843
845
  return nativeCodegenDiag(error.code === "unsupported" ? "SC3002" : "SC3003", error.message, entryPath);
@@ -873,7 +875,23 @@ async function compileTracked(entryPath, opts, frontendInputs) {
873
875
  }
874
876
  let buildPlatform;
875
877
  if (outputKind === "exe") {
876
- buildPlatform = buildTargetPlatform();
878
+ // Target semantics are needed before choosing the helper/runtime-pack
879
+ // path. Do not make them contingent on the legacy C-driver resolver:
880
+ // an LLVM-owned WASI build deliberately needs no SCRIPTC_CC.
881
+ try {
882
+ buildPlatform = sourceTargetPlatform();
883
+ }
884
+ catch (err) {
885
+ return {
886
+ ok: false,
887
+ diagnostics: [{
888
+ code: "SC3002",
889
+ message: err instanceof Error ? err.message : String(err),
890
+ loc: { file: entryPath, start: 0, end: 0 },
891
+ }],
892
+ sourceTexts: new Map(),
893
+ };
894
+ }
877
895
  }
878
896
  else {
879
897
  try {
@@ -940,6 +958,8 @@ async function compileTracked(entryPath, opts, frontendInputs) {
940
958
  let earlyCacheOptions = null;
941
959
  if (outputKind === "exe") {
942
960
  const implementation = await compilerImplementationIdentity();
961
+ const helperObjectRoute = opts.nativeProgramObject === true ||
962
+ (opts.backend !== "c" && usesPrecompiledRuntimePack(opts, "llvm"));
943
963
  earlyCacheOptions = {
944
964
  entryPath,
945
965
  outDir: opts.outDir,
@@ -955,13 +975,15 @@ async function compileTracked(entryPath, opts, frontendInputs) {
955
975
  : { path: opts.ffiProfilePath, bytes: ffiProfileBytes },
956
976
  target: `${process.env["SCRIPTC_TARGET"] ?? "native"}:${buildPlatform}:${process.arch}:${opts.nativeProgramObject === true
957
977
  ? "helper-object"
958
- : (opts.backend !== "c" && opts.sanitize !== true &&
959
- process.env["SCRIPTC_RUNTIME_PACK"] !== "0" &&
960
- process.env["SCRIPTC_FETCH_CURL"] !== "1" &&
961
- ((process.env["SCRIPTC_CC"] ?? "") === "" || process.env["SCRIPTC_CC"] === "clang") &&
962
- nativeCodegenTarget() !== null) ? "runtime-pack" : "driver-tu"}`,
963
- compiler: [process.env["SCRIPTC_LINKER"] ?? process.env["SCRIPTC_CC"] ?? "clang"],
964
- nativeEnvironment: await executableNativeEnvironmentFingerprint(),
978
+ : helperObjectRoute ? "runtime-pack" : "driver-tu"}`,
979
+ compiler: [
980
+ helperObjectRoute
981
+ ? resolvePlatformLinker(process.env, nativeCodegenTarget()?.defaultLinker)
982
+ : (process.env["SCRIPTC_CC"] ?? "clang"),
983
+ ],
984
+ nativeEnvironment: helperObjectRoute
985
+ ? await executableLinkerEnvironmentFingerprint(process.env, nativeCodegenTarget()?.defaultLinker)
986
+ : await executableNativeEnvironmentFingerprint(),
965
987
  nodeVersion: process.version,
966
988
  implementation: implementation.digest,
967
989
  implementationDependencies: implementation.dependencies,
@@ -1765,7 +1787,7 @@ async function compileLibraryNative(profile, cPath, archivePath, sanitize, featu
1765
1787
  const llvmSplit = profile.emission === "llvm" && profile.optimization === "dev" && !sanitize && programSource !== undefined
1766
1788
  ? splitLlvmLibraryProgram(programSource)
1767
1789
  : null;
1768
- await compileLibArchive({
1790
+ await compileExternalCLibrary({
1769
1791
  cPath,
1770
1792
  ...(programSource !== undefined ? { programSource } : {}),
1771
1793
  ...(identityCSource !== undefined ? { identityCSource } : {}),