29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# ngspice-interactive WASM provenance
|
|
|
|
These files were copied verbatim from the `dist/` directory of
|
|
[`ejkreboot/ngspice-xspice-wasm`](https://github.com/ejkreboot/ngspice-xspice-wasm)
|
|
(MIT-licensed) on **2026-05-15**.
|
|
|
|
| File | Source | License |
|
|
|---|---|---|
|
|
| `ngspice-lib.wasm` | Built from ngspice (BSD-3-Clause-like) | BSD-style |
|
|
| `ngspice-lib.js` | Emscripten glue (MIT) | MIT |
|
|
| `*.cm` (XSpice code models) | ngspice source (BSD-3-Clause-like) | BSD-style |
|
|
| `spinit` | ngspice source | BSD-style |
|
|
|
|
The WASM build was produced with `emscripten/emsdk:3.1.50` against
|
|
ngspice with these configure flags:
|
|
```
|
|
--disable-debug --with-readline=no --disable-openmp
|
|
--enable-xspice --with-ngshared --without-x
|
|
```
|
|
|
|
The ngspice C-level shared callable API (`ngSpice_Init`, `ngSpice_Command`,
|
|
`ngSpice_AllVecs`, `ngSpice_Reset`, etc.) is exposed natively via
|
|
emscripten's `Module.cwrap`. See
|
|
`../../src/simulation/spice/wasm/NgSpiceInteractive.ts` for the
|
|
JavaScript surface that drives the mixed-mode simulator.
|
|
|
|
To rebuild from source (not required — these prebuilt artifacts are
|
|
sufficient), see ejkreboot's repo for the Dockerfile + `build-ngspice.sh`.
|