按 align-linuxcnc 约束补 RS274 probe 源码依据

This commit is contained in:
cnc
2026-06-02 11:07:18 +08:00
parent e117ac8a5b
commit 082495d3ad
7 changed files with 12 additions and 2 deletions

View File

@@ -101,6 +101,7 @@ case "$mode" in
interp-base-link)
dlfcn_shim=$(./list-linuxcnc-wasm-safe-shims.sh dlfcn.cc)
interp_base_source=$(LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-source-files.sh src/emc/rs274ngc/interp_base.cc)
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc provides' core/wasm_shims/interp_base_probe_main.cc >/dev/null
sources+=(
"$dlfcn_shim"
"$interp_base_source"

View File

@@ -1,7 +1,8 @@
#include "interp_base.hh"
// LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc provides
// interp_from_shlib(), with the declaration in interp_base.hh.
int main() {
InterpBase *interp = interp_from_shlib("nonexistent-interpreter.so");
return interp == nullptr ? 0 : 1;
}

View File

@@ -1,6 +1,8 @@
#include "tooldata/tooldata.hh"
#include "rs274ngc/rs274ngc_interp.hh"
// LinuxCNC source basis: src/emc/rs274ngc/interp_find.cc implements
// find_tool_index() and find_tool_pocket() against LinuxCNC tooldata.
int main() {
if (tool_mmap_creator(nullptr, 1) != 0) {
return 7;

View File

@@ -2,6 +2,7 @@
#include <cstdarg>
// LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_interp.hh declares
// Interp::setError(), which interp_find.cc references in link probes.
void Interp::setError(const char *, ...) {
}

View File

@@ -5,6 +5,8 @@
#include <cmath>
// LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc provides
// Interp::init(), read(), execute(), and sequence_number().
int main() {
cnc_sim_init_minimal_linuxcnc_tooldata();

View File

@@ -1356,6 +1356,7 @@ done < "$required_project_sources"
grep -F "add_executable(linuxcnc_rs274_wasm_safe_probe EXCLUDE_FROM_ALL" core/CMakeLists.txt >/dev/null
grep -F "wasm_shims/rs274ngc_pre_probe_main.cc" core/CMakeLists.txt >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc provides' core/wasm_shims/rs274ngc_pre_probe_main.cc >/dev/null
grep -F "target_compile_definitions(linuxcnc_rs274_wasm_safe_probe" core/CMakeLists.txt >/dev/null
grep -F "wasm_shims/cnc_sim_wasm_runtime_probe_main.cc" core/CMakeLists.txt >/dev/null
grep -F "add_executable(cnc_sim_wasm_runtime_probe EXCLUDE_FROM_ALL" core/CMakeLists.txt >/dev/null

View File

@@ -44,6 +44,8 @@ linuxcnc_source_output=$(LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-source-f
mapfile -t linuxcnc_sources <<<"$linuxcnc_source_output"
tooldata_common_source=${linuxcnc_sources[0]}
interp_find_source=${linuxcnc_sources[1]}
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_find.cc implements' core/wasm_shims/interp_find_probe_main.cc >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_interp.hh declares' core/wasm_shims/interp_find_probe_stubs.cc >/dev/null
common_flag_output=$(LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-wasm-common-cxxflags.sh --function-sections --data-sections)
mapfile -t common_flags <<<"$common_flag_output"