port: add MSVC600 CPython compatibility layer

This commit is contained in:
RayPals
2026-08-17 17:35:32 +00:00
parent 3f15bfa5f7
commit a7a9560e5c
13 changed files with 2652 additions and 35 deletions
+10 -9
View File
@@ -11,17 +11,18 @@ The CPython baseline is kept in `cpython/` at tag `v3.11.16`. The MSVC600
bundle is kept in `MSVC600/` as a local external prerequisite and is not part of
the distributable project source.
The first VC6 compiler probe succeeds under Wine. A direct compile of
`cpython/Programs/python.c` currently fails in CPython headers because VC6
lacks or does not understand several facilities used by CPython 3.11:
The public-header probe and a real `Py_BUILD_CORE` translation unit now compile
under MSVC600 through the project compatibility layer:
- C99 `inttypes.h` and related integer-format definitions
- C99 `inline` syntax in C mode
- newer `__declspec(deprecated)` annotations
- modern pointer-width/type configuration expected by `pyport.h`
- the CPython 3.11 Visual Studio/MSBuild project model
- `cpython/Programs/python.c` compiles successfully.
- `cpython/Modules/main.c` compiles successfully.
- `cpython/Python/pylifecycle.c` is the current larger-core probe and remains
blocked by CPython 3.11 C99 initializers, mixed declarations, and additional
legacy-compiler/platform differences.
These are expected porting blockers and are recorded in `PORT_STATUS.md`.
This is still an experimental porting workspace, not a completed Windows 98
build. Exact verified milestones and blockers are recorded in
`PORT_STATUS.md`.
## Toolchain policy