cpython/PC
Mark Hammond c756bdb66c From Rene Liebscher:
This patch makes it possible to use gnu-win32 and lcc-win32
(http://www.cs.virginia.edu/~lcc-win32/) compilers to build
extension modules. It adds compiler specific sections to
PC/config.h .
It also extends the Borland compiler section. This has then two parts,
one for Win32 and the other one for the rest. The Win32 part
should be almost complete.

*** This patch is not intended to make it possible to compile
     Python with these compilers, it is intended to be able to
     use these compilers to build extension modules. ****
2000-08-15 22:33:59 +00:00
..
example_nt Miscelaneous ANSIfications. I'm assuming here 'main' should take (int, 2000-07-22 19:25:51 +00:00
os2vacpp ANSIfication: remove very-old-varargs code, fix function declarations so 2000-07-22 23:59:33 +00:00
src *** empty log message *** 1996-09-04 18:00:09 +00:00
utils Miscelaneous ANSIfications. I'm assuming here 'main' should take (int, 2000-07-22 19:25:51 +00:00
vc15_lib Avoid totally empty files. 1999-04-10 14:00:28 +00:00
vc15_w31 Avoid totally empty files. 1999-04-10 14:00:28 +00:00
wat_dos Jim A's new versions of these 1998-08-03 20:23:42 +00:00
wat_os2 Jim A's new versions of these 1998-08-03 20:23:42 +00:00
WinMain.c ANSIfication: remove very-old-varargs code, fix function declarations so 2000-07-22 23:59:33 +00:00
_winreg.c Allow any object supporting the buffer protocol to be written as a binary object. 2000-07-28 03:44:41 +00:00
config.c Miscelaneous ANSIfications. I'm assuming here 'main' should take (int, 2000-07-22 19:25:51 +00:00
config.h From Rene Liebscher: 2000-08-15 22:33:59 +00:00
dl_nt.c DLL version is now loaded from a string resource. 1997-09-29 23:37:12 +00:00
dllbase_nt.txt Mark Hammond: 2000-04-21 21:26:43 +00:00
frozen_dllmain.c Miscelaneous ANSIfications. I'm assuming here 'main' should take (int, 2000-07-22 19:25:51 +00:00
getpathp.c ANSIfication: remove very-old-varargs code, fix function declarations so 2000-07-22 23:59:33 +00:00
import_nt.c Squash signed-vs-unsigned warning. Also edits to bring into line 2000-07-03 23:51:17 +00:00
make8x3.py The target directory is now called dos-8x3, not dos_8x3. 1997-10-07 14:55:11 +00:00
makesrc.exe Added PC files from Jim Ahlstrom. 1996-06-28 19:12:06 +00:00
msvcrtmodule.c [*** Not tested as I don't have Windows running right now! ***] 2000-06-30 17:48:51 +00:00
py.ico Icons for Windows installer. 1997-11-26 05:14:14 +00:00
pyc.ico Icons for Windows installer. 1997-11-26 05:14:14 +00:00
pycon.ico Icons for Windows installer. 1997-11-26 05:14:14 +00:00
pyth_w31.def New versions of almost all files. 1996-07-30 17:38:17 +00:00
python.mk Jim A's new versions of these 1998-08-03 20:23:42 +00:00
python.wpj Jim A's new versions of these 1998-08-03 20:23:42 +00:00
python_exe.rc Add pretty icon to python.exe 1997-12-05 06:31:40 +00:00
python_nt.rc Bump version to 2.0b1. Change copyright to BeOpen, CNRI, SMC. 2000-06-29 22:30:37 +00:00
readme.txt Trivial commit to test Windows CVS capabilities. 2000-06-30 13:00:32 +00:00
testpy.py Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
w9xpopen.c Patch #101032, from David Bolen: 2000-08-14 05:04:28 +00:00
winsound.c Miscelaneous ANSIfications. I'm assuming here 'main' should take (int, 2000-07-22 19:25:51 +00:00

readme.txt

Welcome to the "PC" subdirectory of the Python distribution
***********************************************************

*** Note: the project files for MS VC++ 5.0 and 6.0 are now in the
*** PCbuild directory.  See the file readme.txt there for build
*** instructions.  There is some information below that might
*** still be relevant.

This "PC" subdirectory contains complete project files to make
several older PC ports of Python, as well as all the PC-specific
Python source files.  It should be located in the root of the
Python distribution, and there should be directories "Modules",
"Objects", "Python", etc. in the parent directory of this "PC"
subdirectory.  Be sure to read the documentation in the Python
distribution.

Python requires library files such as string.py to be available in
one or more library directories.  The search path of libraries is
set up when Python starts.  To see the current Python library search
path, start Python and enter "import sys" and "print sys.path".

All PC ports use this scheme to try to set up a module search path:

  1) The script location; the current directory without script.
  2) The PYTHONPATH variable, if set.
  3) For Win32 platforms (NT/95), paths specified in the Registry.
  4) Default directories lib, lib/win, lib/test, lib/tkinter;
     these are searched relative to the environment variable
     PYTHONHOME, if set, or relative to the executable and its
     ancestors, if a landmark file (Lib/string.py) is found ,
     or the current directory (not useful).
  5) The directory containing the executable.

The best installation strategy is to put the Python executable (and
DLL, for Win32 platforms) in some convenient directory such as
C:/python, and copy all library files and subdirectories (using XCOPY)
to C:/python/lib.  Then you don't need to set PYTHONPATH.  Otherwise,
set the environment variable PYTHONPATH to your Python search path.
For example,
   set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3

There are several add-in modules to build Python programs which use
the native Windows operating environment.  The ports here just make
"QuickWin" and DOS Python versions which support a character-mode
(console) environment.  Look in www.python.org for Tkinter, PythonWin,
WPY and wxPython.

To make a Python port, start the Integrated Development Environment
(IDE) of your compiler, and read in the native "project file"
(or makefile) provided.  This will enable you to change any source
files or build settings so you can make custom builds.

config.h    An important configuration file specific to PC's.

config.c    The list of C modules to include in the Python PC
            version.  Manually edit this file to add or
            remove Python modules.

testpy.py   A Python test program.  Run this to test your
            Python port.  It should produce copious output,
	    ending in a report on how many tests were OK, how many
	    failed, and how many were skipped.  Don't worry about
	    skipped tests (these test unavailable optional features).

src         A subdirectory used only for VC++ version 1.5 Python
            source files.  See below.  The other compilers do not
            use it.  They reference the actual distribution
            directories instead.


Additional files and subdirectories for 32-bit Windows
======================================================

python_nt.rc   Resource compiler input for python15.dll.

dl_nt.c, import_nt.c
               Additional sources used for 32-bit Windows features.

getpathp.c     Default sys.path calculations (for all PC platforms).

dllbase_nt.txt A (manually maintained) list of base addresses for
               various DLLs, to avoid run-time relocation.

example_nt     A subdirectory showing how to build an extension as a
               DLL.


Microsoft Visual C++ Version 1.5 (16-bit Windows)
=================================================

Since VC++1.5 does not handle long file names, it is necessary
to run the "makesrc.exe" program in this directory to copy
Python files from the distribution to the directory "src"
with shortened names.  Included file names are shortened too.
Do this before you attempt to build Python.

The "makesrc.exe" program is a native NT program, and you must
have NT, Windows 95 or Win32s to run it.  Otherwise you will need
to copy distribution files to src yourself.

The makefiles are named *.mak and are located in directories
starting with "vc15_".  NOTE:  When dependencies are scanned
VC++ will create dependencies for directories which are not
used because it fails to evaluate "#define" properly.  You
must manaully edit makefiles (*.mak) to remove references to
"sys/" and other bad directories.

vc15_lib    A static Python library.  Create this first because is
            is required for vc15_w31.

vc15_w31    A Windows 3.1x Python QuickWin (console-mode)
            Python including sockets.  Requires vc15_lib.


Watcom C++ Version 10.6
=======================

The project file for the Watcom compiler is ./python.wpj.
It will build Watcom versions in the directories wat_*.

wat_dos     A 32-bit extended DOS Python (console-mode) using the
            dos4gw DOS extender.  Sockets are not included.

wat_os2     A 32-bit OS/2 Python (console-mode).
            Sockets are not included.


IBM VisualAge C/C++ for OS/2
============================

See os2vacpp/readme.txt.  This platform is supported by Jeff Rush.