高效率推进 LinuxCNC 源码对齐流程

说明:集中 LinuxCNC 源码清单与 wasm/native probe 的路径解析,补强 manifest、shim、source-link 检查,并保持 LinuxCNC 源码后端对齐验证流程可复用。

验证:./test-native.sh;./test-linuxcnc-source-link.sh;./test-all-native.sh;wasm source/probe 相关脚本。
This commit is contained in:
cnc
2026-05-27 11:14:06 +08:00
parent ce2f3f3769
commit 40a63c76f7
44 changed files with 3566 additions and 475 deletions

View File

@@ -36,39 +36,20 @@ common_flags=(
-I "$linuxcnc_root/include"
)
sources=(
core/wasm_shims/dlfcn.cc
core/wasm_shims/emc_status_shim.cc
core/wasm_shims/gettext_shim.cc
core/wasm_shims/linuxcnc_runtime_shim.cc
core/wasm_shims/python_c_api_shim.cc
core/wasm_shims/rtapi_compat.cc
core/wasm_shims/tooldata/tooldata_mmap_backend.cc
core/wasm_shims/tooldata/tooldata_runtime_stubs.cc
core/wasm_shims/pythonplugin/python_plugin.cc
core/src/canon_event_sink.cpp
core/src/linuxcnc_canon_bridge.cpp
core/src/linuxcnc_tooldata_fixture.cpp
core/src/rtcp_kinematics.cpp
)
shim_list="$build_dir/wasm_safe_shims.txt"
./list-linuxcnc-wasm-safe-shims.sh > "$shim_list"
mapfile -t sources < "$shim_list"
project_source_list="$build_dir/wasm_safe_project_sources.txt"
./list-linuxcnc-wasm-safe-project-sources.sh > "$project_source_list"
mapfile -t project_sources < "$project_source_list"
sources+=("${project_sources[@]}")
while IFS=: read -r group path note; do
case "$group" in
core)
if [[ ! -f "$linuxcnc_root/$path" ]]; then
echo "missing manifest source: $path" >&2
exit 1
fi
sources+=("$linuxcnc_root/$path")
;;
""|\#*|blocked)
;;
*)
echo "unknown manifest group: $group" >&2
exit 1
;;
esac
done < "$manifest"
source_list="$build_dir/wasm_core_sources.txt"
LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-wasm-manifest-sources.sh "$manifest" core full > "$source_list"
mapfile -t linuxcnc_sources < "$source_list"
for source in "${linuxcnc_sources[@]}"; do
sources+=("$source")
done
sources+=(core/wasm_shims/rs274ngc_pre_probe_main.cc)