Files

56 lines
2.2 KiB
Markdown

# Python Win9x
A clean-room effort to build a useful Python 3 runtime for Windows 98 SE and
other Windows 9x systems, using CPython **v3.11.16** as the language/runtime
baseline and Microsoft Visual C++ 6.0 as the initial 32-bit toolchain.
## Current state
This is an experimental porting workspace, not a completed Windows 98 build.
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 public-header probe and a real `Py_BUILD_CORE` translation unit now compile
under MSVC600 through the project compatibility layer:
- `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.
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
- Do not commit Microsoft compiler binaries or proprietary runtime files.
- Keep MSVC600 outside the source distribution or obtain it separately under
the user's own license/rights.
- The project is intended for private Gitea only.
- Do not copy proprietary Windows implementation code into the compatibility
layer.
## Intended milestones
1. Build a minimal CPython core with VC6 using a project-local compatibility
header layer.
2. Replace NT-only Windows APIs with ANSI/Win9x-compatible implementations or
explicit feature gates.
3. Produce a bootable 32-bit Python executable and test it on Windows 98 SE,
first with the core interpreter and basic file I/O.
4. Add sockets and a carefully scoped standard-library subset.
5. Backport selected newer Python language/library features only after the
runtime is stable on Win9x.
## Local prerequisites
- CPython v3.11.16 source in `cpython/`
- MSVC600 tools in `MSVC600/` (external/local-only)
- Wine for exercising the Windows compiler from Linux
- A Windows 98 SE VM or physical test machine for final compatibility checks
No full build is claimed yet.