Fix KiCad WASM build and runtime errors
Build improvements: - Change -O0 to -O1 to fix "local count too large" asyncify error - Add wasm-emscripten-finalize to host (Docker OOMs on large WASM) - Use -gseparate-dwarf for smaller main binary with debug info - Build native protoc for code generation - Add more functions to asyncify removelist Runtime fixes: - Add inject-dyncall-shims.sh to fix "dynCall_* is not defined" in Emscripten 4.x - Update wxwidgets with browserInfo.name fix New stubs and bindings: - Add Embind bindings for JavaScript interop - Add stubs for scripting, API plugin, PCB frame, navlib 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
898e079ef2
commit
9c271996c2
17 changed files with 699 additions and 13 deletions
34
wasm/stubs/wasm-emscripten-finalize-stub.sh
Executable file
34
wasm/stubs/wasm-emscripten-finalize-stub.sh
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
# Stub wasm-emscripten-finalize that just copies input to output
|
||||
# The real finalize runs on the host where more RAM is available
|
||||
|
||||
# Handle --version query
|
||||
if [[ "$1" == "--version" ]]; then
|
||||
echo "wasm-emscripten-finalize version 121"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Parse arguments to find input/output files
|
||||
# wasm-emscripten-finalize <input.wasm> -o <output.wasm> [options]
|
||||
INPUT=""
|
||||
OUTPUT=""
|
||||
PREV_ARG=""
|
||||
|
||||
for arg in "$@"; do
|
||||
if [ "$PREV_ARG" = "-o" ]; then
|
||||
OUTPUT="$arg"
|
||||
elif [[ "$arg" != -* ]] && [[ "$arg" == *.wasm ]]; then
|
||||
INPUT="$arg"
|
||||
fi
|
||||
PREV_ARG="$arg"
|
||||
done
|
||||
|
||||
# Copy input to output (no transformation)
|
||||
if [ -n "$INPUT" ] && [ -n "$OUTPUT" ]; then
|
||||
cp "$INPUT" "$OUTPUT"
|
||||
elif [ -n "$INPUT" ]; then
|
||||
# In-place mode: nothing to do
|
||||
:
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Loading…
Reference in a new issue