mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-23 06:10:02 +08:00
- CLI: the core verb becomes `scriptc build --lib --profile <p.json>` (no positional; profile names the entry); artifact renames to <name>.lib.a with .lib.ll/.lib.c/.lib.ir.json siblings - SC4xxx diagnostic text and hints say library, never core; trap-message strings likewise (LIBRARY RC AUDIT, library reset registry, library inbound bytes) - internals: compileLibrary/compileLibArchive, IrModule.lib + IrLibSection/IrLibExport, moduleLibAsyncSurface, libRoots, loadLibraryProfile/LibraryProfile under src/library/, frontend/lib-exports.ts, emitLibEntries/emitLibDefs - runtime: scr_core.c -> scr_library.c with scr_library_* symbols and the SCR_LIB macro (scr_lib_* was taken by the stdlib unit); scr_lib_session_cleanup - tests: tests/library-mode/ fixtures (entries lib.ts), library-*.test.ts harness files
22 lines
855 B
JSON
22 lines
855 B
JSON
{
|
|
"profile_format": 1,
|
|
"name": "conformance-scalars",
|
|
"entry": "lib.ts",
|
|
"emission": "llvm",
|
|
"abi": {
|
|
"prefix": "kt_",
|
|
"init_symbol": "kt_init",
|
|
"sink_register_symbol": "kt_set_panic_sink",
|
|
"collect_symbol": "kt_collect",
|
|
"result_reset_symbol": null
|
|
},
|
|
"exports": [
|
|
{ "export": "add", "symbol": "kt_add", "params": ["f64", "f64"], "returns": "f64" },
|
|
{ "export": "passthrough", "symbol": "kt_passthrough", "params": ["f64"], "returns": "f64" },
|
|
{ "export": "negZero", "symbol": "kt_neg_zero", "params": [], "returns": "f64" },
|
|
{ "export": "isNan", "symbol": "kt_is_nan", "params": ["f64"], "returns": "bool" },
|
|
{ "export": "invert", "symbol": "kt_invert", "params": ["bool"], "returns": "bool" },
|
|
{ "export": "plumb", "symbol": "kt_plumb", "params": ["u8", "u32", "i32"], "returns": "f64" }
|
|
]
|
|
}
|