docs: 目标平台收窄为 macOS arm64 + Android arm64
用户决定:Linux 和 Windows 不做,不验收、不作为任何步骤的阻塞项。 - PORT-PLAN 第 1 节写明范围;2A step 3 的平台列表、2P step 1/2 措辞跟着改; 2P step 4 由「五个平台分别验证」改为「两个目标平台」,Linux/Windows 两行 划掉但保留原因备查(上游 2.7 只支持 MSVC + PC/pyconfig.h,mingw 下 posixmodule.c / dynload_win.c 与 MinGW 头文件冲突)。 - PLATFORMS.md 新增 Scope 段;THIRD-PARTY.md 的 CPython Windows 段由 "not built yet" 改为 out of scope;PYTHON-EMBED-EVAL.md 下一步两条。 - 仓库里的 mingw-w64 交叉编译只留作可移植性门禁(它抓到过 UserInterface/StdAfx.h 的真问题),不代表支持 Windows。 - iOS arm64 暂按次要目标记录:保持交叉编译干净,但不作为验收目标。 仅文档改动。port_map.py check 0 error;参考 EterPack.cpp 的 8 个 pack key 值逐个 git grep --cached -w,均未入库。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -96,13 +96,14 @@ Godot 这边只剩一个宿主 Control:把输入转发给 `CPythonWindowManage
|
||||
|
||||
## 下一步
|
||||
|
||||
1. ~~把 CPython 2.7.18 放进 `extension/third_party/`,共用源码/静态模块清单,但为 macOS、Linux、Windows、
|
||||
Android、iOS 分别生成或维护 `pyconfig.h`~~,静态链接进 `libmtgodot`;
|
||||
1. ~~把 CPython 2.7.18 放进 `extension/third_party/`,共用源码/静态模块清单,但为各平台分别生成或维护
|
||||
`pyconfig.h`~~,静态链接进 `libmtgodot`;
|
||||
源码和三平台配置已完成(2026-09-23,批次 2P step 1):`mtpython` 静态库(`-DMTGODOT_EMBED_PYTHON=ON`)、
|
||||
`tools/py_embed/gen_pyconfig.sh`、ctest `python.embed`;macOS/Android/iOS 编译通过,Linux 缺主机、
|
||||
Windows 的 MinGW 冲突见 `docs/THIRD-PARTY.md`。静态链接进 `libmtgodot` 是 step 2;
|
||||
`tools/py_embed/gen_pyconfig.sh`、ctest `python.embed`;macOS/Android/iOS 编译通过。
|
||||
Linux 和 Windows 不做(2026-09-23 定,见 `docs/PORT-PLAN.md` 第 1 节);mingw-w64 只作可移植性门禁,
|
||||
那里不建 `mtpython`,冲突原因见 `docs/THIRD-PARTY.md`。静态链接进 `libmtgodot` 是 step 2;
|
||||
2. `pack` 模块走 `asset_io`,继续负责 40250 的 root/uiscript。标准库沿用已验证的 `python27.zip + sys.path`
|
||||
方案:桌面端放在解释器可读的真实文件系统路径,移动端首次启动从应用资源复制到应用沙盒并校验 sha256;静态启用
|
||||
`zipimport`。不要依赖 `system.py` 的简单 `name + '.py'` 钩子加载带 package/dotted import 的标准库;
|
||||
3. 在 APK app 进程里跑同样的引导流程(C++ 桩模块),然后分别验证 iOS、Linux 和 Windows;
|
||||
3. 在 APK app 进程里跑同样的引导流程(C++ 桩模块);iOS 只保交叉编译干净,不作验收目标;
|
||||
4. 按 `docs/PORT-PLAN.md` 的 2V0-2V3 切片依次替换桩模块和旧运行路径。
|
||||
|
||||
Reference in New Issue
Block a user