按推荐建议,继续执行

结论:新增 source-probes.tsv 映射并在 native 验证中比对 source-manifest,确保每个 vendored LinuxCNC .c/.cc 源文件都有显式 standalone 源码编译探针。
This commit is contained in:
2026-06-07 18:28:35 +08:00
parent 1729e4a5c9
commit e776020b08
3 changed files with 59 additions and 0 deletions

View File

@@ -7,12 +7,14 @@ BUILD_DIR="$ROOT_DIR/build/native"
WRAP_DIR="$ROOT_DIR/runtime/core/linuxcnc_wrap"
SHIM_DIR="$ROOT_DIR/runtime/core/shims"
INCLUDE_DIR="$ROOT_DIR/runtime/core/include"
SOURCE_PROBE_MAP="$BUILD_DIR/source-probes.tsv"
MINIMAL_GCODE_FIXTURE="$ROOT_DIR/tests/fixtures/gcode/minimal_linear.ngc"
NAMEDPARAM_INI_FIXTURE="$ROOT_DIR/tests/fixtures/ini/namedparams.ini"
CXX="${CXX:-g++}"
CC="${CC:-gcc}"
mkdir -p "$BUILD_DIR"
: > "$SOURCE_PROBE_MAP"
COMMON_FLAGS=(
-std=c++20
@@ -179,6 +181,15 @@ compile_c_object() {
return 1
}
record_source_probe() {
local target="$1"
local source="$2"
[[ "$target" == *_source_probe ]] || return 0
[[ "$source" == "$VENDOR_DIR/"* ]] || return 0
printf '%s\t%s\n' "${source#"$VENDOR_DIR"/}" "$target" >> "$SOURCE_PROBE_MAP"
}
link_needs_rebuild() {
local output="$1"
local cmdfile="$2"
@@ -293,6 +304,7 @@ build_object_target() {
status=1
fi
record_source_probe "$target" "$source"
echo "$status" > "$BUILD_DIR/$target.exitcode"
return "$status"
}
@@ -314,6 +326,7 @@ build_c_object_target() {
status=1
fi
record_source_probe "$target" "$source"
echo "$status" > "$BUILD_DIR/$target.exitcode"
return "$status"
}