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:
+7
-5
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user