Files
cnc_wams/wasm-port/tools/build_ini_panel.sh
wangdequan 5025b0c1a1 继续把 interp_execute.cc、interp_queue.cc、interp_find.cc 等 LinuxCNC 源文件纳入直接编译/链接路径,逐步删除临时 convert_g() wrapper 行为
结论:已将核心 LinuxCNC interpreter 源接入 standalone native 编译链接路径,移除 minimal runtime 中的手写 convert_g 行为,并通过 native probe 验证。
2026-06-06 23:49:01 +08:00

25 lines
791 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
OUT_DIR="$ROOT_DIR/runtime/ui/ini-panel"
emcc \
-std=c++20 \
-O2 \
-I"$ROOT_DIR/runtime/core/shims" \
-I"$ROOT_DIR/vendor/linuxcnc/src" \
-I"$ROOT_DIR/vendor/linuxcnc/src/rtapi" \
-I"$ROOT_DIR/vendor/linuxcnc/src/emc" \
"$ROOT_DIR/vendor/linuxcnc/src/emc/ini/inifile.cc" \
"$ROOT_DIR/runtime/core/linuxcnc_wrap/linuxcnc_ini_wasm.cpp" \
-o "$OUT_DIR/linuxcnc_ini.js" \
-s MODULARIZE=1 \
-s EXPORT_ES6=1 \
-s ENVIRONMENT=web \
-s ALLOW_MEMORY_GROWTH=1 \
-s NO_EXIT_RUNTIME=1 \
-s FORCE_FILESYSTEM=1 \
-s EXPORTED_FUNCTIONS='["_malloc","_free","_lcini_get_string","_lcini_tilde_expand"]' \
-s EXPORTED_RUNTIME_METHODS='["FS","UTF8ToString","stringToUTF8","lengthBytesUTF8"]'