Build fixes: - Enable C++ exceptions in wxWidgets (--enable-exceptions, -fexceptions) Required for KiCad's OnExceptionInMainLoop override in debug builds - Add -matomics -mbulk-memory to all dependency builds for shared memory Required for pthreads support with Emscripten - Fix docker/build.sh output copy path (pcbnew/ not bin/) - Make workspace mount read-only in docker-compose.yml Updated dependency scripts: - build-freetype.sh, build-harfbuzz.sh, build-protobuf.sh - build-zstd.sh, build-opencascade.sh, build-boost.sh - build-pixman.sh, build-cairo.sh (meson cross-file) - build-wxuniversal-wasm.sh, build-pcbnew.sh 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
28 lines
729 B
YAML
28 lines
729 B
YAML
services:
|
|
kicad-wasm-builder:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
container_name: kicad-wasm-builder
|
|
|
|
# Resource limits (adjust based on your machine)
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '10'
|
|
memory: 32G
|
|
|
|
volumes:
|
|
# Source code (read-only - all modifications happen in build-wasm volume)
|
|
- ..:/workspace:ro
|
|
# Named volume for build cache (faster than bind mount on macOS)
|
|
- kicad-build-cache:/workspace/build-wasm
|
|
# Output directory for easy access to final WASM files
|
|
- ../output:/workspace/output
|
|
|
|
# Keep container running for interactive use
|
|
stdin_open: true
|
|
tty: true
|
|
|
|
volumes:
|
|
kicad-build-cache:
|