Last set of CW Pro 5 projects (probably)
[python/dscho.git] / PCbuild / readme.txt
blob7ff01398b16dcade05986a8e0d3a5b6e27e110ab
1 Building Python using VC++ 6.0 or 5.0
2 -------------------------------------
3 This directory is used to build Python for Win32 platforms, e.g. Windows
4 95, 98 and NT.  It requires Microsoft Visual C++ 6.x or 5.x.
5 (For other Windows platforms and compilers, see ../PC/readme.txt.)
6 XXX There are still (Python 2.0b1) a few compiler warnings under VC6.
7 XXX There are likely a few more under VC5.
9 Unlike older versions, there's no longer a need to copy the project files
10 from a subdirectory of PC/ to the PCbuild directory -- they come in PCbuild.
12 All you need to do is open the workspace "pcbuild.dsw" in MSVC++, select
13 the Debug or Release setting (using Build -> Set Active Configuration...),
14 and build the projects.
16 The proper order to build subprojects is:
18 1) python20 (this builds the main Python DLL and library files,
19              python20.{dll, lib})
21 2) python   (this builds the main Python executable, python.exe)
23 3) the other subprojects, as desired or needed (note:  you probably don't
24    want to build most of the other subprojects, unless you're building an
25    entire Python distribution from scratch, or specifically making changes
26    to the subsystems they implement; see SUBPROJECTS below)
28 When using the Debug setting, the output files have a _d added to
29 their name:  python20_d.dll, python_d.exe, parser_d.pyd, and so on.
31 SUBPROJECTS
32 -----------
33 These subprojects should build out of the box.  Subprojects other than the
34 main ones (python20, python, pythonw) generally build a DLL (renamed to
35 .pyd) from a specific module so that users don't have to load the code
36 supporting that module unless they import the module.
38 python20
39     .dll and .lib
40 python
41     .exe
42 pythonw
43     pythonw.exe, a variant of python.exe that doesn't pop up a DOS box
44 _socket
45     socketmodule.c
46 _sre
47     Unicode-aware regular expression engine
48 mmap
49     mmapmodule.c
50 parser
51     the parser module
52 select
53     selectmodule.c
54 ucnhash, unicodedata
55     large tables of Unicode data
56 winreg
57     Windows registry API
58 winsound
59     play sounds (typically .wav files) under Windows
61 The following subprojects will generally NOT build out of the box.  They
62 wrap code Python doesn't control, and you'll need to download the base
63 packages first and unpack them into siblings of PCbuilds's parent
64 directory; for example, if your PCbuild is  .......\dist\src\PCbuild\,
65 unpack into new subdirectories of dist\.
67 _tkinter
68     Python wrapper for the Tk windowing system.  Requires tcl832.exe from
69         http://dev.scriptics.com/software/tcltk/downloadnow83.html
70     Run the installer, forcing installation into dist\Tcl.
71     Be sure to install everything, including the Tcl/Tk header files.
73 zlib
74     Python wrapper for the zlib compression library.  Requires
75         http://www.winimage.com/zLibDll/zlib133dll.zip
76     and
77         ftp://ftp.uu.net/graphics/png/src/zlib133.zip
78     Unpack the former into dist\zlib113dll.
79     Uppack the latter into dist\zlib113.
81 bsddb
82     Python wrapper for the BSD database 1.85.  Requires db.1.85.win32.zip,
83     from the "bsd db" link at
84         http://www.nightmare.com/software.html
85     Unpack into dist\bsddb.
86     You then need to compile it:  cd to dist\bsddb\Port\win32, and run
87         nmake -f makefile_nt.msc
88     This builds bsddb\Port\win32\db.lib, which the MSVC project links in.
89     Note that if you're running Win9X, you'll need to run vcvars32.bat
90     before running nmake (this batch file is in your MSVC installation).
92 pyexpat
93     Python wrapper for accelerated XML parsing.  Requires
94         ftp://ftp.jclark.com/pub/xml/expat.zip
95     Unpack into dist\expat.
98 NOTE ON CONFIGURATIONS
99 ----------------------
100 Under Build -> Configuration ..., you'll find several Alpha configurations,
101 such as "Win32 Alpha Release".  These do not refer to alpha versions (as in
102 alpha, beta, final), but to the DEC/COMPAQ Alpha processor.  Ignore them if
103 you're not building on an Alpha box.
106 YOUR OWN EXTENSION DLLs
107 -----------------------
108 If you want to create your own extension module DLL, there's an example
109 with easy-to-follow instructions in ../PC/example/; read the file
110 readme.txt there first.