按提示词结论补源链接脚本依据锁

This commit is contained in:
cnc
2026-06-02 14:19:08 +08:00
parent 303b6bfa36
commit 4780dd8621
15 changed files with 60 additions and 0 deletions

View File

@@ -3,6 +3,10 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -3,6 +3,10 @@ set -euo pipefail
cd "$(dirname "$0")" 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 if [[ "$#" -lt 2 || "$#" -gt 3 ]]; then
echo "usage: $0 <set-name> <append-name> [relative-prefix]" >&2 echo "usage: $0 <set-name> <append-name> [relative-prefix]" >&2
exit 1 exit 1

View File

@@ -3,6 +3,10 @@ set -euo pipefail
cd "$(dirname "$0")" 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 if [[ "$#" -lt 1 || "$#" -gt 2 ]]; then
echo "usage: $0 <cmake-set-name> [relative-prefix]" >&2 echo "usage: $0 <cmake-set-name> [relative-prefix]" >&2
exit 1 exit 1

View File

@@ -3,6 +3,10 @@ set -euo pipefail
cd "$(dirname "$0")" 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 include_smoke=0
filter= filter=
for arg in "$@"; do for arg in "$@"; do

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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 if [[ "$#" -lt 3 ]]; then
echo "usage: $0 <filter> <missing-path-message> <missing-filter-message> [missing-path-hint]" >&2 echo "usage: $0 <filter> <missing-path-message> <missing-filter-message> [missing-path-hint]" >&2
exit 1 exit 1

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
manifest=${1:-linuxcnc-rs274-wasm-source-files.txt} manifest=${1:-linuxcnc-rs274-wasm-source-files.txt}

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
manifest=${1:-linuxcnc-rs274-wasm-source-files.txt} manifest=${1:-linuxcnc-rs274-wasm-source-files.txt}
cxx=${CXX:-g++} cxx=${CXX:-g++}

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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=$(./build-linuxcnc-wasm-standalone-probe.sh --mode tooldata-common-link)
"$probe" "$probe"

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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=$(./build-linuxcnc-wasm-standalone-probe.sh --mode tooldata-link)
"$probe" 2>"$probe.err" "$probe" 2>"$probe.err"

View File

@@ -3,6 +3,9 @@ set -euo pipefail
cd "$(dirname "$0")" 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} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
cxx=${CXX:-g++} cxx=${CXX:-g++}
if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then if [[ -z ${CXX:-} ]] && command -v ccache >/dev/null 2>&1; then

View File

@@ -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 '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 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 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: 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 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 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: 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 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: 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.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 '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 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