chore: initialize Python Win9x port workspace
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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.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
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user