From 4780dd8621fdad8f1b2f5290d3c311c54122e969 Mon Sep 17 00:00:00 2001 From: cnc Date: Tue, 2 Jun 2026 14:19:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E6=8F=90=E7=A4=BA=E8=AF=8D=E7=BB=93?= =?UTF-8?q?=E8=AE=BA=E8=A1=A5=E6=BA=90=E9=93=BE=E6=8E=A5=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E4=BE=9D=E6=8D=AE=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-linuxcnc-native-bridge-objects.sh | 4 ++++ list-cmake-set-plus-append-sources.sh | 4 ++++ list-cmake-set-sources.sh | 4 ++++ list-cnc-sim-core-sources.sh | 4 ++++ list-filtered-existing-paths.sh | 3 +++ test-linuxcnc-api-native.sh | 3 +++ test-linuxcnc-bridge-native.sh | 3 +++ test-linuxcnc-rs274-native.sh | 3 +++ test-linuxcnc-source-link.sh | 3 +++ test-linuxcnc-wasm-source-objects.sh | 3 +++ test-linuxcnc-wasm-source-syntax.sh | 3 +++ test-linuxcnc-wasm-tooldata-common-link.sh | 3 +++ test-linuxcnc-wasm-tooldata-link.sh | 3 +++ test-linuxcnc-wasm-tooldata-mmap-symbols.sh | 3 +++ test-native.sh | 14 ++++++++++++++ 15 files changed, 60 insertions(+) diff --git a/build-linuxcnc-native-bridge-objects.sh b/build-linuxcnc-native-bridge-objects.sh index 179ad24..7a8744e 100755 --- a/build-linuxcnc-native-bridge-objects.sh +++ b/build-linuxcnc-native-bridge-objects.sh @@ -3,6 +3,10 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: native bridge object caches compile only project +# canon/kinematics bridge sources that wrap LinuxCNC src/emc/nml_intf/canon.hh +# and src/emc/kinematics implementations; G-code behavior remains in +# LinuxCNC RS274 objects linked by the caller. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/list-cmake-set-plus-append-sources.sh b/list-cmake-set-plus-append-sources.sh index 8d8d298..84cce5a 100755 --- a/list-cmake-set-plus-append-sources.sh +++ b/list-cmake-set-plus-append-sources.sh @@ -3,6 +3,10 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: combined CMake source-set listers expose project +# bridge/shim/adapter sources declared in core/CMakeLists.txt so LinuxCNC +# source-linked probes can verify their thin wrapper objects without inventing +# G-code, canon, or kinematics behavior. if [[ "$#" -lt 2 || "$#" -gt 3 ]]; then echo "usage: $0 [relative-prefix]" >&2 exit 1 diff --git a/list-cmake-set-sources.sh b/list-cmake-set-sources.sh index da03b6f..90b9b8e 100755 --- a/list-cmake-set-sources.sh +++ b/list-cmake-set-sources.sh @@ -3,6 +3,10 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: CMake source-set listers expose only project bridge, +# shim, and adapter files declared in core/CMakeLists.txt for source-backed +# LinuxCNC probe builds; functional CNC behavior still comes from LinuxCNC +# manifests or wrapped LinuxCNC kinematics/canon/RS274 sources. if [[ "$#" -lt 1 || "$#" -gt 2 ]]; then echo "usage: $0 [relative-prefix]" >&2 exit 1 diff --git a/list-cnc-sim-core-sources.sh b/list-cnc-sim-core-sources.sh index 411d132..7a38532 100755 --- a/list-cnc-sim-core-sources.sh +++ b/list-cnc-sim-core-sources.sh @@ -3,6 +3,10 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: native core smoke builds enumerate CMake-listed bridge +# and kinematics adapter sources that wrap LinuxCNC canon.hh and +# src/emc/kinematics behavior; the legacy smoke backend is included only when +# explicitly requested for API harness coverage. include_smoke=0 filter= for arg in "$@"; do diff --git a/list-filtered-existing-paths.sh b/list-filtered-existing-paths.sh index 96357aa..11d5839 100755 --- a/list-filtered-existing-paths.sh +++ b/list-filtered-existing-paths.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: source-list filters validate project bridge/shim +# paths before native and wasm probes link them with LinuxCNC source objects, +# keeping missing adapter files from silently dropping LinuxCNC-backed checks. if [[ "$#" -lt 3 ]]; then echo "usage: $0 [missing-path-hint]" >&2 exit 1 diff --git a/test-linuxcnc-api-native.sh b/test-linuxcnc-api-native.sh index 0fc6e12..a07d02b 100755 --- a/test-linuxcnc-api-native.sh +++ b/test-linuxcnc-api-native.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: the native API smoke links the thin cnc_sim API bridge +# with LinuxCNC RS274 headers, native support libraries, and source-backed +# canon/kinematics adapters selected from core/CMakeLists.txt. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/test-linuxcnc-bridge-native.sh b/test-linuxcnc-bridge-native.sh index 6380138..ea7fd03 100755 --- a/test-linuxcnc-bridge-native.sh +++ b/test-linuxcnc-bridge-native.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: the native bridge smoke links project canon/kinematics +# adapters against LinuxCNC headers and native support libraries to verify the +# wrapper ABI without adding independent RS274 or kinematics behavior. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/test-linuxcnc-rs274-native.sh b/test-linuxcnc-rs274-native.sh index c1f0500..e529b10 100755 --- a/test-linuxcnc-rs274-native.sh +++ b/test-linuxcnc-rs274-native.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: the native RS274 smoke exercises the LinuxCNC-backed +# rs274 dump bridge built from project adapters and LinuxCNC RS274 headers; +# interpreter behavior is provided by LinuxCNC source-linked objects. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/test-linuxcnc-source-link.sh b/test-linuxcnc-source-link.sh index 277e3f6..63e567f 100755 --- a/test-linuxcnc-source-link.sh +++ b/test-linuxcnc-source-link.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: this source-link test compiles the manifest-selected +# src/emc/rs274ngc objects directly and links only project dump/canon/kinematics +# bridge code around them for event comparison. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/test-linuxcnc-wasm-source-objects.sh b/test-linuxcnc-wasm-source-objects.sh index 4e48259..3ac143b 100755 --- a/test-linuxcnc-wasm-source-objects.sh +++ b/test-linuxcnc-wasm-source-objects.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: wasm-safe object probes compile manifest-selected +# LinuxCNC RS274/tooldata sources plus narrow shims tracked in +# linuxcnc-rs274-wasm-source-files.txt. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} manifest=${1:-linuxcnc-rs274-wasm-source-files.txt} diff --git a/test-linuxcnc-wasm-source-syntax.sh b/test-linuxcnc-wasm-source-syntax.sh index 157f498..be0a074 100755 --- a/test-linuxcnc-wasm-source-syntax.sh +++ b/test-linuxcnc-wasm-source-syntax.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: the wasm syntax probe compiles the +# linuxcnc-rs274-wasm-source-files.txt core entries with wasm-safe flags to +# catch browser-hostile LinuxCNC dependencies before link-time shimming. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} manifest=${1:-linuxcnc-rs274-wasm-source-files.txt} cxx=${CXX:-g++} diff --git a/test-linuxcnc-wasm-tooldata-common-link.sh b/test-linuxcnc-wasm-tooldata-common-link.sh index c24a5a0..01708a6 100755 --- a/test-linuxcnc-wasm-tooldata-common-link.sh +++ b/test-linuxcnc-wasm-tooldata-common-link.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: this link probe runs tooldata_common through the +# standalone wasm probe compiled from src/emc/tooldata/tooldata_common.cc and +# the source-basis-checked wasm-safe shims. probe=$(./build-linuxcnc-wasm-standalone-probe.sh --mode tooldata-common-link) "$probe" diff --git a/test-linuxcnc-wasm-tooldata-link.sh b/test-linuxcnc-wasm-tooldata-link.sh index 7ea926d..9c1feb4 100755 --- a/test-linuxcnc-wasm-tooldata-link.sh +++ b/test-linuxcnc-wasm-tooldata-link.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: this link probe runs the wasm-safe tooldata shim +# against LinuxCNC tooldata_mmap/tooldata_nml expectations recorded from +# src/emc/tooldata/Submakefile and tooldata runtime sources. probe=$(./build-linuxcnc-wasm-standalone-probe.sh --mode tooldata-link) "$probe" 2>"$probe.err" diff --git a/test-linuxcnc-wasm-tooldata-mmap-symbols.sh b/test-linuxcnc-wasm-tooldata-mmap-symbols.sh index 3a03c3c..e61c6c2 100755 --- a/test-linuxcnc-wasm-tooldata-mmap-symbols.sh +++ b/test-linuxcnc-wasm-tooldata-mmap-symbols.sh @@ -3,6 +3,9 @@ set -euo pipefail cd "$(dirname "$0")" +# LinuxCNC source basis: this symbol probe compares the wasm mmap backend shim +# with src/emc/tooldata/tooldata_mmap.cc exports selected by LinuxCNC +# tooldata/Submakefile. linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} cxx=${CXX:-g++} if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then diff --git a/test-native.sh b/test-native.sh index 85d7d7a..9247e3b 100755 --- a/test-native.sh +++ b/test-native.sh @@ -74,6 +74,10 @@ grep -F 'grep -F '\''LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc pro grep -F 'core:src/emc/rs274ngc/rs274ngc_pre.cc:Interp implementation covered by rs274ngc_pre link probe' build-linuxcnc-wasm-standalone-probe.sh >/dev/null grep -F 'LinuxCNC source basis: fixed-source probes resolve explicit LinuxCNC-root' list-linuxcnc-source-files.sh >/dev/null grep -F 'LinuxCNC source path must be root-relative: $source' list-linuxcnc-source-files.sh >/dev/null +grep -F 'LinuxCNC source basis: CMake source-set listers expose only project bridge' list-cmake-set-sources.sh >/dev/null +grep -F 'LinuxCNC source basis: combined CMake source-set listers expose project' list-cmake-set-plus-append-sources.sh >/dev/null +grep -F 'LinuxCNC source basis: source-list filters validate project bridge/shim' list-filtered-existing-paths.sh >/dev/null +grep -F 'LinuxCNC source basis: native core smoke builds enumerate CMake-listed bridge' list-cnc-sim-core-sources.sh >/dev/null grep -F 'LinuxCNC source basis: these project source sets are thin bridge/adaptor' list-project-source-set.sh >/dev/null grep -F 'LinuxCNC source basis: the RS274 dump probe pairs LinuxCNC interpreter' list-linuxcnc-rs274-dump-project-sources.sh >/dev/null grep -F 'LinuxCNC source basis: the bridge smoke source list is limited to the' list-linuxcnc-bridge-smoke-project-sources.sh >/dev/null @@ -88,6 +92,16 @@ grep -F 'LinuxCNC source basis: wasm-safe probes compile the manifest-selected' grep -F 'LinuxCNC source basis: native source-link probes link against the built' list-linuxcnc-native-linkflags.sh >/dev/null grep -F 'LinuxCNC source basis: this probe compiles the core RS274 interpreter sources' test-linuxcnc-source-objects.sh >/dev/null grep -F 'LinuxCNC source basis: this syntax probe checks the native RS274 manifest' test-linuxcnc-source-syntax.sh >/dev/null +grep -F 'LinuxCNC source basis: native bridge object caches compile only project' build-linuxcnc-native-bridge-objects.sh >/dev/null +grep -F 'LinuxCNC source basis: the native bridge smoke links project' test-linuxcnc-bridge-native.sh >/dev/null +grep -F 'LinuxCNC source basis: the native API smoke links the thin cnc_sim API bridge' test-linuxcnc-api-native.sh >/dev/null +grep -F 'LinuxCNC source basis: the native RS274 smoke exercises the LinuxCNC-backed' test-linuxcnc-rs274-native.sh >/dev/null +grep -F 'LinuxCNC source basis: this source-link test compiles the manifest-selected' test-linuxcnc-source-link.sh >/dev/null +grep -F 'LinuxCNC source basis: wasm-safe object probes compile manifest-selected' test-linuxcnc-wasm-source-objects.sh >/dev/null +grep -F 'LinuxCNC source basis: the wasm syntax probe compiles the' test-linuxcnc-wasm-source-syntax.sh >/dev/null +grep -F 'LinuxCNC source basis: this link probe runs the wasm-safe tooldata shim' test-linuxcnc-wasm-tooldata-link.sh >/dev/null +grep -F 'LinuxCNC source basis: this link probe runs tooldata_common through the' test-linuxcnc-wasm-tooldata-common-link.sh >/dev/null +grep -F 'LinuxCNC source basis: this symbol probe compares the wasm mmap backend shim' test-linuxcnc-wasm-tooldata-mmap-symbols.sh >/dev/null grep -F 'header:src/emc/ini/inifile.h:LinuxCNC C INI reader declarations exported by ini Submakefile' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'header:src/emc/ini/inifile.hh:LinuxCNC C++ INI reader declarations used by inifile.cc' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'metadata:src/emc/ini/Submakefile:LinuxCNC ini build metadata defining liblinuxcncini source and exported headers' linuxcnc-rs274-wasm-source-files.txt >/dev/null