74 lines
2.4 KiB
Bash
Executable File
74 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
LINUXCNC_ROOT="${LINUXCNC_ROOT:-$ROOT_DIR/../linuxcnc}"
|
|
UPSTREAM="$LINUXCNC_ROOT/src/emc/task/taskintf.cc"
|
|
SUBSET_SRC="$ROOT_DIR/vendor/linuxcnc/src/emc/task/taskintf_wasm_subset.cc"
|
|
SUBSET_HDR="$ROOT_DIR/vendor/linuxcnc/src/emc/task/taskintf_wasm_subset.hh"
|
|
BUILD_SCRIPT="$ROOT_DIR/tools/build_task_hal_wasm.sh"
|
|
|
|
print_kv() {
|
|
printf '%s=%s\n' "$1" "$2"
|
|
}
|
|
|
|
require_file() {
|
|
local key="$1"
|
|
local path="$2"
|
|
if [[ ! -f "$path" ]]; then
|
|
print_kv "$key" missing
|
|
print_kv "${key}_path" "$path"
|
|
exit 1
|
|
fi
|
|
print_kv "$key" ok
|
|
print_kv "${key}_path" "$path"
|
|
}
|
|
|
|
require_pattern() {
|
|
local key="$1"
|
|
local pattern="$2"
|
|
local path="$3"
|
|
if ! rg -q "$pattern" "$path"; then
|
|
print_kv "$key" missing
|
|
print_kv "${key}_pattern" "$pattern"
|
|
print_kv "${key}_path" "$path"
|
|
exit 1
|
|
fi
|
|
print_kv "$key" ok
|
|
}
|
|
|
|
require_file task_taskintf_subset_upstream "$UPSTREAM"
|
|
require_file task_taskintf_subset_source "$SUBSET_SRC"
|
|
require_file task_taskintf_subset_header "$SUBSET_HDR"
|
|
|
|
for fn in \
|
|
emcMotionInit \
|
|
emcMotionUpdate \
|
|
emcMotionAbort \
|
|
emcTrajSetMotionId \
|
|
emcTrajEnable \
|
|
emcTrajDisable \
|
|
emcTrajAbort \
|
|
emcTrajPause \
|
|
emcTrajStep \
|
|
emcTrajResume \
|
|
emcTrajLinearMove \
|
|
emcJogIncr \
|
|
emcJointHome \
|
|
emcJointUnhome \
|
|
emcMotionSetAout
|
|
do
|
|
require_pattern "task_taskintf_subset_upstream_$fn" "int $fn\\(" "$UPSTREAM"
|
|
require_pattern "task_taskintf_subset_origin_$fn" "$fn" "$SUBSET_SRC"
|
|
done
|
|
|
|
require_pattern task_taskintf_subset_origin_path "src/emc/task/taskintf.cc" "$SUBSET_SRC"
|
|
require_pattern task_taskintf_subset_build_included "taskintf_wasm_subset.cc" "$BUILD_SCRIPT"
|
|
require_pattern task_taskintf_subset_motion_bridge_anchors "emcMotionInit,emcMotionUpdate,emcMotionAbort" "$SUBSET_SRC"
|
|
require_pattern task_taskintf_subset_traj_control_anchors "emcTrajSetMotionId,emcTrajEnable,emcTrajDisable,emcTrajAbort,emcTrajPause,emcTrajStep,emcTrajResume" "$SUBSET_SRC"
|
|
require_pattern task_taskintf_subset_linear_move_ex "lc_taskintf_subset_linear_move_ex" "$SUBSET_HDR"
|
|
require_pattern task_taskintf_subset_linear_move_anchors "emcTrajLinearMove,EMCMOT_SET_LINE,usrmotWriteEmcmotCommand" "$SUBSET_SRC"
|
|
require_pattern task_taskintf_subset_jog_home_switchkins_anchors "emcJogIncr,emcJointHome,emcJointUnhome,emcMotionSetAout" "$SUBSET_SRC"
|
|
|
|
print_kv task_taskintf_subset_source_reuse ok
|