按 align-linuxcnc 约束补 runtime shim 源码依据

This commit is contained in:
cnc
2026-06-02 10:10:56 +08:00
parent e1708c96ee
commit 8826f2ee73
4 changed files with 17 additions and 0 deletions

View File

@@ -7,8 +7,12 @@
#include <string> #include <string>
#include <wordexp.h> #include <wordexp.h>
// LinuxCNC source basis: src/emc/rs274ngc/gcodemodule.cc defines _task=0 for
// preview, while src/emc/task/emctaskmain.cc defines _task=1 for milltask.
int _task = 0; int _task = 0;
// LinuxCNC source basis: src/emc/task/taskclass.cc and
// src/emc/rs274ngc/gcodemodule.cc register builtin interpreter/emccanon modules.
extern "C" PyObject *PyInit_interpreter(void) { extern "C" PyObject *PyInit_interpreter(void) {
return nullptr; return nullptr;
} }
@@ -29,6 +33,9 @@ struct _inittab builtin_modules[] = {
}; };
} }
// LinuxCNC source basis: src/emc/rs274ngc/interp_namedparams.cc fetch_hal_param()
// uses these HAL entry points; include/hal.h declares them and src/hal/hal_lib.c
// provides the native backend.
extern "C" int hal_init(const char *) { extern "C" int hal_init(const char *) {
return 1; return 1;
} }
@@ -159,6 +166,8 @@ std::string expand_path_word(const char *words) {
} // namespace } // namespace
// LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc uses wordexp() and
// wordfree() while resolving program/subroutine paths.
extern "C" int wordexp(const char *words, wordexp_t *pwordexp, int) { extern "C" int wordexp(const char *words, wordexp_t *pwordexp, int) {
if (!words || !pwordexp) { if (!words || !pwordexp) {
return WRDE_BADVAL; return WRDE_BADVAL;

View File

@@ -55,6 +55,7 @@ header:src/emc/ini/inifile.h:LinuxCNC C INI reader declarations exported by ini
header:src/emc/ini/inifile.hh:LinuxCNC C++ INI reader declarations used by inifile.cc header:src/emc/ini/inifile.hh:LinuxCNC C++ INI reader declarations used by inifile.cc
header:src/emc/nml_intf/emc.hh:LinuxCNC EMC status declarations used by wasm-safe EMC status shim header:src/emc/nml_intf/emc.hh:LinuxCNC EMC status declarations used by wasm-safe EMC status shim
header:src/emc/nml_intf/emc_nml.hh:LinuxCNC EMC NML aggregate declarations used by wasm-safe EMC status shim header:src/emc/nml_intf/emc_nml.hh:LinuxCNC EMC NML aggregate declarations used by wasm-safe EMC status shim
header:include/hal.h:LinuxCNC HAL declarations used by wasm-safe runtime HAL lookup shim
header:src/libnml/nml/nmlmsg.hh:LinuxCNC NML message declarations used by wasm-safe NMLmsg constructor shim header:src/libnml/nml/nmlmsg.hh:LinuxCNC NML message declarations used by wasm-safe NMLmsg constructor shim
header:src/libnml/nml/stat_msg.hh:LinuxCNC status message declarations used by wasm-safe RCS_STAT_MSG constructor shim header:src/libnml/nml/stat_msg.hh:LinuxCNC status message declarations used by wasm-safe RCS_STAT_MSG constructor shim
header:src/libnml/rcs/rcs_print.hh:LinuxCNC RCS print declarations used by wasm-safe NML status diagnostics header:src/libnml/rcs/rcs_print.hh:LinuxCNC RCS print declarations used by wasm-safe NML status diagnostics
@@ -67,5 +68,6 @@ metadata:src/libnml/nml/stat_msg.cc:source basis for wasm-safe RCS_STAT_MSG cons
metadata:src/libnml/nml/nmlmsg.cc:source basis for wasm-safe NMLmsg constructor shim metadata:src/libnml/nml/nmlmsg.cc:source basis for wasm-safe NMLmsg constructor shim
metadata:src/libnml/rcs/rcs_print.cc:source basis for wasm-safe RCS print diagnostic shim metadata:src/libnml/rcs/rcs_print.cc:source basis for wasm-safe RCS print diagnostic shim
metadata:src/rtapi/uspace_common.h:source basis for wasm-safe RTAPI snprintf compatibility shim metadata:src/rtapi/uspace_common.h:source basis for wasm-safe RTAPI snprintf compatibility shim
metadata:src/hal/hal_lib.c:source basis for wasm-safe runtime HAL lookup shim
metadata:src/emc/tooldata/tooldata_db.cc:source basis for wasm-safe tooldata runtime export shim metadata:src/emc/tooldata/tooldata_db.cc:source basis for wasm-safe tooldata runtime export shim
metadata:src/emc/tooldata/tooldata_nml.cc:source basis for wasm-safe tooldata runtime NML export shim metadata:src/emc/tooldata/tooldata_nml.cc:source basis for wasm-safe tooldata runtime NML export shim

View File

@@ -1411,6 +1411,10 @@ grep -F 'inline char *basename(const char *path)' core/wasm_shims/libgen.h >/dev
grep -F 'return basename(const_cast<char *>(path));' core/wasm_shims/libgen.h >/dev/null grep -F 'return basename(const_cast<char *>(path));' core/wasm_shims/libgen.h >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc uses dlopen(),' core/wasm_shims/dlfcn.cc >/dev/null grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc uses dlopen(),' core/wasm_shims/dlfcn.cc >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc native loader flags.' core/wasm_shims/dlfcn.h >/dev/null grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc native loader flags.' core/wasm_shims/dlfcn.h >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/gcodemodule.cc defines _task=0' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'LinuxCNC source basis: src/emc/task/taskclass.cc and' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_namedparams.cc fetch_hal_param()' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'LinuxCNC source basis: src/emc/rs274ngc/rs274ngc_pre.cc uses wordexp()' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'extern "C" int wordexp(const char *words, wordexp_t *pwordexp, int)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null grep -F 'extern "C" int wordexp(const char *words, wordexp_t *pwordexp, int)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'extern "C" void wordfree(wordexp_t *pwordexp)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null grep -F 'extern "C" void wordfree(wordexp_t *pwordexp)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null
grep -F 'EMC_STAT *emcStatus = new EMC_STAT;' core/wasm_shims/emc_status_shim.cc >/dev/null grep -F 'EMC_STAT *emcStatus = new EMC_STAT;' core/wasm_shims/emc_status_shim.cc >/dev/null

View File

@@ -63,6 +63,8 @@ grep -F 'metadata:src/libnml/rcs/rcs_print.cc:source basis for wasm-safe RCS pri
grep -F 'header:src/rtapi/rtapi.h:LinuxCNC RTAPI snprintf declarations used by wasm-safe RTAPI compatibility shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'header:src/rtapi/rtapi.h:LinuxCNC RTAPI snprintf declarations used by wasm-safe RTAPI compatibility shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null
grep -F 'header:src/rtapi/rtapi_string.h:LinuxCNC RTAPI string helpers used by RS274 and RCS print sources' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'header:src/rtapi/rtapi_string.h:LinuxCNC RTAPI string helpers used by RS274 and RCS print sources' linuxcnc-rs274-wasm-source-files.txt >/dev/null
grep -F 'metadata:src/rtapi/uspace_common.h:source basis for wasm-safe RTAPI snprintf compatibility shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'metadata:src/rtapi/uspace_common.h:source basis for wasm-safe RTAPI snprintf compatibility shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null
grep -F 'header:include/hal.h:LinuxCNC HAL declarations used by wasm-safe runtime HAL lookup shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null
grep -F 'metadata:src/hal/hal_lib.c:source basis for wasm-safe runtime HAL lookup shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null
grep -F 'metadata:src/emc/nml_intf/emcops.cc:source basis for native source-link EMC status constructor support object' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/nml_intf/emcops.cc:source basis for native source-link EMC status constructor support object' linuxcnc-rs274-source-files.txt >/dev/null
grep -F 'metadata:src/emc/sai/dummyemcstat.cc:source basis for native source-link emcStatus singleton support object' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/sai/dummyemcstat.cc:source basis for native source-link emcStatus singleton support object' linuxcnc-rs274-source-files.txt >/dev/null
grep -F 'metadata:src/emc/sai/Submakefile:LinuxCNC SAI build metadata defining dummyemcstat support object' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/sai/Submakefile:LinuxCNC SAI build metadata defining dummyemcstat support object' linuxcnc-rs274-source-files.txt >/dev/null