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:
shenlei
2026-09-23 09:53:28 +09:00
co-authored by Claude Opus 5
parent ffbb5d48d6
commit 19a9b18554
5 changed files with 36 additions and 23 deletions
+7 -5
View File
@@ -132,11 +132,13 @@ one via a 1-line shim header, see below).
(2.7's configure refuses a darwin cross build) and drops process control plus
`<sys/random.h>`/`getentropy`, but keeps `HAVE_GETGROUPS` because
`posixmodule.c` defines `MAX_GROUPS` — which its `setgroups` path needs — only
inside that `#ifdef`. **Windows is not built yet**: upstream supports MSVC +
`PC/pyconfig.h`, while our Windows gate cross-compiles with MinGW, where
`PC/pyconfig.h`'s gnu-win32 branch leaves `HAVE_UNISTD_H` unset and
`posixmodule.c` / `dynload_win.c` then collide with the MinGW headers. Decided
in 批次 2P step 4 (PORT-PLAN).
inside that `#ifdef`. **Windows is out of scope** (decided 2026-09-23, PORT-PLAN §1: the
targets are macOS arm64 and Android arm64). It is also not buildable as-is:
upstream supports MSVC + `PC/pyconfig.h`, while the mingw-w64 portability gate
cross-compiles with MinGW, where `PC/pyconfig.h`'s gnu-win32 branch leaves
`HAVE_UNISTD_H` unset and `posixmodule.c` / `dynload_win.c` then collide with
the MinGW headers. So that gate simply builds no `mtpython`, and `port_logic` /
`port_platform` drop ScriptLib there.
* **License:** PSF License Agreement (`cpython-2.7.18/LICENSE`). Ship-safe; the
only obligation is keeping the license and a change notice, which this section
and the patched files' comments serve.