Files
cpython/PC
Guido van Rossum 7a337c1c79 Removed Py_SuppressPrintingFlag flag; added new
PyEval_{Acquire,Release}Thread() calls.
1997-07-19 19:59:06 +00:00
..
1997-05-16 16:17:20 +00:00
1996-10-25 14:35:24 +00:00
1996-09-04 18:00:09 +00:00
1996-07-30 17:38:17 +00:00
1996-09-05 01:26:59 +00:00
1996-09-05 01:26:59 +00:00
1996-08-22 00:06:59 +00:00
1997-05-06 16:00:32 +00:00
1997-05-05 22:18:50 +00:00
1997-05-08 23:43:52 +00:00
1997-04-02 06:11:55 +00:00
1996-06-28 19:12:06 +00:00
1996-07-30 17:38:17 +00:00
1996-08-23 18:42:39 +00:00
1996-09-05 01:26:59 +00:00
1997-05-19 20:01:57 +00:00

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 except Windows 95/NT use this scheme to try to set up

a search path:

  1) If the Python executable (for example, py_dos.exe) is located

     in a subdirectory of the Python root (..), then those library

     files are used (../Lib) to generate the path.

  2) Otherwise the environment variable PYTHONPATH is the search path.

  3) Otherwise the directory "lib" in the directory of the executable

     file is used to generate the path.

  4) Otherwise, the current directory is used (not useful).



The best installation strategy (except NT) is to put the Python

executable 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



Python for Windows 95/NT uses the same PYTHONPATH environment variable, plus

the Python path recorded in the registry.



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 say "all tests OK".



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.  VC 5.x should be able to convert it.)



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.





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, getpath_nt.c, import_nt.c

               Additional sources used for 32-bit Windows features.



main_nt.c      Source for python.exe.



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.



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.