参考所有分组,完成尽量多的内容:结论为 build-wasm 显式关闭 smoke 后端

This commit is contained in:
cnc
2026-06-03 22:24:57 +08:00
parent 3d368b2564
commit f8902b3f8d
4 changed files with 9 additions and 3 deletions

View File

@@ -169,7 +169,7 @@ wasm_build_next_signature=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_wasm_build.signature
printf 'COMPILER_LAUNCHER=%s\n' "$cmake_compiler_launcher_mode"
printf 'CMAKE_LISTS='
sha256sum core/CMakeLists.txt
printf 'CONFIGURE_RULE_VERSION=1\n'
printf 'CONFIGURE_RULE_VERSION=2\n'
} > "$wasm_build_next_signature"
configure_wasm=1
if [[ ! -f "$wasm_build_signature" ]] || ! cmp -s "$wasm_build_signature" "$wasm_build_next_signature"; then
@@ -184,6 +184,7 @@ emcmake cmake -S core -B build/wasm \
-DCNC_SIM_LINUXCNC_ROOT="$linuxcnc_root" \
-DCNC_SIM_LINUXCNC_WASM_SOURCE_MANIFEST="$manifest" \
-DCNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE=ON \
-DCNC_SIM_ENABLE_SMOKE_BACKEND=OFF \
"${cmake_compiler_launcher_args[@]}"
fi
mv "$wasm_build_next_signature" "$wasm_build_signature"

View File

@@ -290,6 +290,9 @@ Build and source-link guardrails:
`rs274ngc_pre` link checks.
- `build-wasm.sh` must check `cmake`, `emcmake`, `emcc`, and `node` before the
Emscripten configure step.
- `build-wasm.sh` must explicitly configure `CNC_SIM_ENABLE_SMOKE_BACKEND=OFF`
while enabling `CNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE=ON`, so stale CMake
cache values cannot route browser artifacts through the legacy smoke backend.
- `build-wasm.sh` must reuse a persistent `build/wasm` configure signature
keyed by manifest, `core/CMakeLists.txt`, an explicit
`CONFIGURE_RULE_VERSION`, LinuxCNC root, and compiler launcher. The signature

View File

@@ -572,7 +572,7 @@ grep -F 'wasm_build_signature=build/wasm/wasm-build.signature' build-wasm.sh >/d
grep -F 'wasm_build_next_signature=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_wasm_build.signature.XXXXXX")' build-wasm.sh >/dev/null
grep -F 'sha256sum "$manifest"' build-wasm.sh >/dev/null
grep -F 'sha256sum core/CMakeLists.txt' build-wasm.sh >/dev/null
grep -F "printf 'CONFIGURE_RULE_VERSION=1\n'" build-wasm.sh >/dev/null
grep -F "printf 'CONFIGURE_RULE_VERSION=2\n'" build-wasm.sh >/dev/null
grep -F 'run_parallel_wasm_probe() {' build-wasm.sh >/dev/null
grep -F 'wait_parallel_wasm_probes() {' build-wasm.sh >/dev/null
grep -F 'parallel_probe_pids+=("$!")' build-wasm.sh >/dev/null
@@ -595,6 +595,7 @@ grep -F -- 'for required_tool in cmake emcmake emcc node; do' build-wasm.sh >/de
grep -F -- 'missing_tools+=("$required_tool")' build-wasm.sh >/dev/null
grep -F 'WASM build tools are required. Missing:' build-wasm.sh >/dev/null
grep -F -- 'emcmake cmake -S core -B build/wasm \' build-wasm.sh >/dev/null
grep -F -- '-DCNC_SIM_ENABLE_SMOKE_BACKEND=OFF' build-wasm.sh >/dev/null
grep -F 'cmake --build build/wasm --target cnc_sim_wasm_runtime_probe cnc_sim_wasm --parallel "$build_jobs"' build-wasm.sh >/dev/null
if ! awk '
index($0, "run_parallel_wasm_probe \"LinuxCNC wasm tooldata shim link probe\"") { parallel_start_line = NR }

View File

@@ -652,7 +652,7 @@ grep -F 'wasm_build_signature=build/wasm/wasm-build.signature' build-wasm.sh >/d
grep -F 'wasm_build_next_signature=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_wasm_build.signature.XXXXXX")' build-wasm.sh >/dev/null
grep -F 'sha256sum "$manifest"' build-wasm.sh >/dev/null
grep -F 'sha256sum core/CMakeLists.txt' build-wasm.sh >/dev/null
grep -F "printf 'CONFIGURE_RULE_VERSION=1\n'" build-wasm.sh >/dev/null
grep -F "printf 'CONFIGURE_RULE_VERSION=2\n'" build-wasm.sh >/dev/null
grep -F 'run_parallel_wasm_probe() {' build-wasm.sh >/dev/null
grep -F 'wait_parallel_wasm_probes() {' build-wasm.sh >/dev/null
grep -F 'parallel_probe_pids+=("$!")' build-wasm.sh >/dev/null
@@ -1475,6 +1475,7 @@ grep -F "LinuxCNC wasm source manifest has no blocked entries" core/CMakeLists.t
grep -F "WASM builds must enable CNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE so LinuxCNC rs274 sources are linked" core/CMakeLists.txt >/dev/null
grep -F "CNC_SIM_ENABLE_SMOKE_BACKEND cannot be combined with CNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE" core/CMakeLists.txt >/dev/null
grep -F -- '-DCNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE=ON' build-wasm.sh >/dev/null
grep -F -- '-DCNC_SIM_ENABLE_SMOKE_BACKEND=OFF' build-wasm.sh >/dev/null
grep -F 'if(CNC_SIM_ENABLE_LINUXCNC_WASM_SAFE_PROBE)' core/CMakeLists.txt >/dev/null
grep -F 'list(APPEND cnc_sim_core_sources ${cnc_sim_linuxcnc_rs274_backend_sources})' core/CMakeLists.txt >/dev/null
grep -F 'set(cnc_sim_linuxcnc_kinematics_c_sources' core/CMakeLists.txt >/dev/null