按推荐建议,继续执行

结论:已为 LinuxCNC genserkins 增加 native runtime baseline,并保持 Go math 通过窄 C++ wrapper 复用 vendored gomath.c,完整 native 验证通过。
This commit is contained in:
2026-06-07 20:55:31 +08:00
parent 1665cccb02
commit 3faaa8e7a2
6 changed files with 179 additions and 6 deletions

View File

@@ -451,6 +451,18 @@ PUMA_KINEMATICS_PROBE_SOURCES=(
"$WRAP_DIR/linuxcnc_puma_kinematics_probe.cpp"
)
GENSER_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/kins_util.c"
"$VENDOR_DIR/src/emc/kinematics/switchkins.c"
"$VENDOR_DIR/src/emc/kinematics/userkfuncs.c"
"$VENDOR_DIR/src/emc/kinematics/genserfuncs.c"
"$VENDOR_DIR/src/emc/kinematics/genserkins.c"
"$WRAP_DIR/linuxcnc_gomath_cxx.cpp"
"$VENDOR_DIR/src/libnml/posemath/sincos.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_genser_kinematics_probe.cpp"
)
TP_CORE_SOURCES=(
"$VENDOR_DIR/src/emc/tp/tp.c"
"$VENDOR_DIR/src/emc/tp/tc.c"
@@ -722,6 +734,13 @@ build_binary_target \
PUMA_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_genser_kinematics_probe \
"$BUILD_DIR/linuxcnc_genser_kinematics_probe" \
TP_FLAGS \
GENSER_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_kinematics_probe" \
@@ -932,6 +951,21 @@ else
"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_genser_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_genser_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.stderr.log"
GENSER_KINEMATICS_RUN_RC=$?
set -e
echo "$GENSER_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_genser_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_tp_api_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_tp_api_probe" \