2.2 KiB
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 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:
- C99
inttypes.hand related integer-format definitions - C99
inlinesyntax 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
These are expected porting blockers and 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
- Build a minimal CPython core with VC6 using a project-local compatibility header layer.
- Replace NT-only Windows APIs with ANSI/Win9x-compatible implementations or explicit feature gates.
- Produce a bootable 32-bit Python executable and test it on Windows 98 SE, first with the core interpreter and basic file I/O.
- Add sockets and a carefully scoped standard-library subset.
- 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.