cpython/PC
Guido van Rossum 34b359732c No longer used. 1997-08-18 15:46:16 +00:00
..
example_nt Small changes to readme and makefile; tested for 1.5a3! 1997-08-13 23:07:44 +00:00
setup_nt Added disclaimer. 1996-10-25 14:35:24 +00:00
src *** empty log message *** 1996-09-04 18:00:09 +00:00
utils New versions of almost all files. 1996-07-30 17:38:17 +00:00
vc5x DevStudio (CV++ 5.0) Project files. 1997-08-14 23:02:29 +00:00
vc15_lib Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
vc15_w31 Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
wat_dos New project files from Jim A. 1996-09-05 01:26:59 +00:00
wat_os2 New project files from Jim A. 1996-09-05 01:26:59 +00:00
_tkinter.def More changes for NT, Guido style 1996-08-22 00:06:59 +00:00
config.c Got the new structure working with MSVC 4.2. 1997-08-07 00:11:34 +00:00
config.h Remove #define main; remove vc40 from PYTHONPATH. 1997-08-13 19:52:26 +00:00
dl_nt.c Use Python.h, not allobjects.h. 1997-05-05 22:18:50 +00:00
dllbase_nt.txt Added dllbase_nt.txt and python_nt.rc; 1996-08-23 15:48:14 +00:00
getpathp.c Much rewritten. Added Win32 registry stuff (from getpath_nt.c, which 1997-08-13 21:30:44 +00:00
import_nt.c Moved PyWin_IsWin32s() here. 1997-08-13 19:53:11 +00:00
make8x3.py use /usr/bin/env 1997-04-02 06:11:55 +00:00
makesrc.exe Added PC files from Jim Ahlstrom. 1996-06-28 19:12:06 +00:00
msvcrtmodule.c Made it real. Changed locking() to work with file descriptors instead 1997-08-13 19:57:53 +00:00
pyth_w31.def New versions of almost all files. 1996-07-30 17:38:17 +00:00
python.mk New project files from Jim A. 1996-09-05 01:26:59 +00:00
python.wpj Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
python_nt.def Renamed Py_input_hook to PyOS_InputHook. 1997-08-11 18:57:29 +00:00
python_nt.rc Use MS_DLL_ID and similar changes 1996-08-23 18:42:39 +00:00
readme.txt Updated for new situation; added VC++ 5.0 info and new path strategies. 1997-08-14 22:57:33 +00:00
testpy.py Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
vc40.mak Probably the last VC++ 4.2 makefile I'll check in. 1997-08-13 23:08:39 +00:00

readme.txt

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


This "PC" subdirectory contains complete project files to make
several 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.


Microsoft Visual C++ Version 4.x (32-bit Windows)
=================================================

(For historic reasons this uses the filename "vc40"; it has been tested
most recently with VC 4.2.  See below for VC 5.x.)

The distributed Makefile is vc40.mak.  This file is distributed with
CRLF line separators, otherwise Developer Studio won't like it.  It
will NOT work from this PC directory.  To use it, first copy it to the
Python distribution directory, e.g. with this command:
    copy vc40.mak ..
To convert the Makefile into a project file, start Developer Studio,
choose Open Workspace, change the file name pattern to *.mak, find and
select the file vc40.mak, and click OK.  Developer Studio will create
additional project files vc40.ncb and vc40.mdp when you use the
project.  The project contains six targets, which should be built in
this order:

python15    The Python core as a DLL, named python15.dll.

python      The Python main program, named python.exe.  This should
            work as a console program under Windows 95 or NT, as well
            as under Windows 3.1(1) when using win32s.  It uses
            python15.dll.

_tkinter    The optional _tkinter extension, _tkinter.dll; see below.

All end products of the compilation are placed in the subdirectory
vc40 (which Developer Studio creates); object files are placed in
vc40/tmp.  There are no separate Release and Debug project variants.
Note that the python and _tkinter projects require that the
python15.lib file exists in the vc40 subdirectory before they can be
built.

*** How to build the _tkinter extension ***

This assumes that you have installed the Tcl/Tk binary distribution for
Windows 95/NT with version numbers 7.5p1/4.1p1, in the default
installation location (C:\tcl).  (Ftp to ftp.sunlabs.com in /pub/tcl,
file win41p1.exe.)  You must also fetch and unpack the zip file
vclibs41.zip which contains the files tcl75.lib and tk41.lib, and place
those files in the PC subdirectory.  In order to use _tkinter, the
Tkinter.py module must be on PYTHONPATH.  It is found in the
Lib\tkinter subdirectory.

Microsoft Visual C++ Version 5.x (Developer Studio)
===================================================

For Visual C++ 5.x (Developer Studio) the instructions are somewhat
different again.  Three project files (*.dsp) and a workspace file
(pcbuild.dsw) are provided in the subdirectory vc5x.  (These are the
same three subprojects as discussed for VC++ 4.x.)

To use these, create a new directory (I called it "pcbuild") in the
Python source directory, and copy the files from vc5x there.  Then
simply open the pcbuild.dsw workspace file with Developer Studio.
Select the Debug configuration (use Set Active Configuration... in the
Build menu) and build the python15 and python projects (in that
order).  If you have Tcl/Tk 8.0 installed you can also try building
the _tkinter project.  After testing you can try building the Release
configuration -- you must build the Debug configuration first because
the python15.lib file created by that phase is included in the python
project.

The distributed files are text files with CRLF line terminators.  You
can rename the workspace file (pcbuild.dsw), but since it refers to
the project files by name, you can't rename the individual project
files.


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

python_nt.def  Exports definition file for python15.dll.

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.

_tkinter.def   The export definitions file for _tkinter.dll.
	       (No longer needed; the /export:init_tkinter takes care
	       of this.)

make_nt.in     Include file for nmake-based builds (unsupported).

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

setup_nt       A subdirectory containing an experimental installer
               using Python only.


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.