结论:已新增 INI WASM Node smoke 验证,确认 vendored LinuxCNC inifile.cc 构建出的 WASM 模块可通过导出 C ABI 查询 INI 内容,并同步更新兼容性与漂移文档。
25 lines
796 B
Bash
Executable File
25 lines
796 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,node \
|
|
-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"]'
|