提示词:补齐 PythonPlugin C API WASM shim 符号

结论:按 LinuxCNC src/emc/pythonplugin/python_plugin.cc 的初始化、导入、配置和 callable 调用路径,把 PyConfig/PyStatus、PyImport_*、PyDict_SetItemString、Py_InitializeFromConfig、PyRun_SimpleString、Py_GetVersion、PyObject_Call 等符号纳入 inert WASM Python C API shim;真实 Python 执行仍保持禁用。

检查:./test-linuxcnc-wasm-python-c-api-symbols.sh 通过;./test-native.sh 通过;./test-linuxcnc-source-link.sh 通过。
This commit is contained in:
cnc
2026-06-05 15:51:51 +08:00
parent cb315ce1cd
commit 4887b2f64e
5 changed files with 143 additions and 10 deletions

View File

@@ -63,9 +63,10 @@ only; it must not add CNC behavior and must not expand the temporary smoke parse
`PythonPlugin` status edges for `PLUGIN_NO_SECTION`, `PLUGIN_BAD_INIFILE`,
`PLUGIN_PYTHON_NOT_INITIALIZED`, `PLUGIN_NO_CALLABLE`, and
`PLUGIN_EXCEPTION` while keeping Python execution disabled.
- The PythonPlugin shim must not execute `bp::exec`, `bp::exec_file`, or
`PyObject_Call`; those remain browser blockers until implemented as a
source-backed browser-safe LinuxCNC adaptation.
- The PythonPlugin shim must not execute `bp::exec`, `bp::exec_file`, or real
Python callable dispatch; `PyObject_Call` is an inert C API symbol only.
Browser Python execution remains blocked until implemented as a source-backed
browser-safe LinuxCNC adaptation.
## Boundaries