Home | History | Annotate | only in /external/python/cpython2/PC/VC6
Up to higher level directory
NameDateSize
_bsddb.dsp21-Aug-20184.2K
_ctypes.dsp21-Aug-20184.8K
_ctypes_test.dsp21-Aug-20184.1K
_elementtree.dsp21-Aug-20184.6K
_msi.dsp21-Aug-20184.1K
_multiprocessing.dsp21-Aug-20184.6K
_socket.dsp21-Aug-20184K
_sqlite3.dsp21-Aug-20184.9K
_ssl.dsp21-Aug-20182.4K
_ssl.mak21-Aug-2018713
_testcapi.dsp21-Aug-20184.1K
_tkinter.dsp21-Aug-20184.3K
build_ssl.py21-Aug-20188.2K
build_tkinter.py21-Aug-20182K
bz2.dsp21-Aug-20183.9K
make_versioninfo.dsp21-Aug-20184.2K
pcbuild.dsw21-Aug-20185.8K
pyexpat.dsp21-Aug-20184.5K
python.dsp21-Aug-20183.8K
pythoncore.dsp21-Aug-201817.4K
pythonw.dsp21-Aug-20183.9K
readme.txt21-Aug-20189.1K
rmpyc.py21-Aug-2018600
rt.bat21-Aug-20181.5K
select.dsp21-Aug-20184.1K
tcl852.patch21-Aug-2018428
unicodedata.dsp21-Aug-20184.1K
w9xpopen.dsp21-Aug-20183.5K
winsound.dsp21-Aug-20183.9K

readme.txt

      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 2000 and XP.  It requires Microsoft Visual C++ 6.x or 5.x and Platform
      5 SDK February 2003 Edition (Core SDK).
      6 (For other Windows platforms and compilers, see ../readme.txt.)
      7 
      8 All you need to do is open the workspace "pcbuild.dsw" in MSVC++, select
      9 the Debug or Release setting (using Build -> Set Active Configuration...),
     10 and build the projects.
     11 
     12 The proper order to build subprojects:
     13 
     14 1) pythoncore (this builds the main Python DLL and library files,
     15                python27.{dll, lib} in Release mode)
     16 
     17 2) python (this builds the main Python executable,
     18            python.exe in Release mode)
     19 
     20 3) the other subprojects, as desired or needed (note:  you probably don't
     21    want to build most of the other subprojects, unless you're building an
     22    entire Python distribution from scratch, or specifically making changes
     23    to the subsystems they implement; see SUBPROJECTS below)
     24 
     25 When using the Debug setting, the output files have a _d added to
     26 their name:  python27_d.dll, python_d.exe, pyexpat_d.pyd, and so on.
     27 
     28 SUBPROJECTS
     29 -----------
     30 These subprojects should build out of the box.  Subprojects other than the
     31 main ones (pythoncore, python, pythonw) generally build a DLL (renamed to
     32 .pyd) from a specific module so that users don't have to load the code
     33 supporting that module unless they import the module.
     34 
     35 pythoncore
     36     .dll and .lib
     37 python
     38     .exe
     39 pythonw
     40     pythonw.exe, a variant of python.exe that doesn't pop up a DOS box
     41 _msi
     42     _msi.c. You need to install Windows Installer SDK to build this module.
     43 _socket
     44     socketmodule.c
     45 _testcapi
     46     tests of the Python C API, run via Lib/test/test_capi.py, and
     47     implemented by module Modules/_testcapimodule.c
     48 pyexpat
     49     Python wrapper for accelerated XML parsing, which incorporates stable
     50     code from the Expat project:  http://sourceforge.net/projects/expat/
     51 select
     52     selectmodule.c
     53 unicodedata
     54     large tables of Unicode data
     55 winsound
     56     play sounds (typically .wav files) under Windows
     57 
     58 The following subprojects will generally NOT build out of the box.  They
     59 wrap code Python doesn't control, and you'll need to download the base
     60 packages first and unpack them into siblings of PCbuilds's parent
     61 directory; for example, if your PCbuild is  .......\dist\src\PCbuild\,
     62 unpack into new subdirectories of dist\.
     63 
     64 _tkinter
     65     Python wrapper for the Tk windowing system.  Requires building
     66     Tcl/Tk first.  Following are instructions for Tcl/Tk 8.5.2.
     67 
     68     Get source
     69     ----------
     70     In the dist directory, run
     71     svn export http://svn.python.org/projects/external/tcl-8.5.2.1 tcl8.5.2
     72     svn export http://svn.python.org/projects/external/tk-8.5.2.0 tk8.5.2
     73     svn export http://svn.python.org/projects/external/tix-8.4.3.1 tix8.4.3
     74 
     75     Debug Build
     76     -----------
     77     To build debug version, add DEBUG=1 to all nmake call bellow.
     78 
     79     Build Tcl first (done here w/ MSVC 6 on Win2K)
     80     ---------------
     81     If your environment doesn't have struct _stat64, you need to apply
     82     tcl852.patch in this directory to dist\tcl8.5.2\generic\tcl.h.
     83 
     84     cd dist\tcl8.5.2\win
     85     run vcvars32.bat
     86     nmake -f makefile.vc
     87     nmake -f makefile.vc INSTALLDIR=..\..\tcltk install
     88 
     89     XXX Should we compile with OPTS=threads?
     90 
     91     Optional:  run tests, via
     92         nmake -f makefile.vc test
     93 
     94         all.tcl:        Total   24242   Passed  23358   Skipped 877     Failed  7
     95         Sourced 137 Test Files.
     96         Files with failing tests: exec.test http.test io.test main.test string.test stri
     97         ngObj.test
     98 
     99     Build Tk
    100     --------
    101     cd dist\tk8.5.2\win
    102     nmake -f makefile.vc TCLDIR=..\..\tcl8.5.2
    103     nmake -f makefile.vc TCLDIR=..\..\tcl8.5.2 INSTALLDIR=..\..\tcltk install
    104 
    105     XXX Should we compile with OPTS=threads?
    106 
    107     XXX I have no idea whether "nmake -f makefile.vc test" passed or
    108     XXX failed.  It popped up tons of little windows, and did lots of
    109     XXX stuff, and nothing blew up.
    110 
    111     Build Tix
    112     ---------
    113     cd dist\tix8.4.3\win
    114     nmake -f python.mak TCL_MAJOR=8 TCL_MINOR=5 TCL_PATCH=2 MACHINE=IX86 DEBUG=0
    115     nmake -f python.mak TCL_MAJOR=8 TCL_MINOR=5 TCL_PATCH=2 MACHINE=IX86 DEBUG=0 INSTALL_DIR=..\..\tcltk install
    116 
    117 bz2
    118     Python wrapper for the libbz2 compression library.  Homepage
    119         http://www.bzip.org/
    120     Download the source from the python.org copy into the dist
    121     directory:
    122 
    123     svn export http://svn.python.org/projects/external/bzip2-1.0.6
    124 
    125     And requires building bz2 first.
    126 
    127     cd dist\bzip2-1.0.6
    128     nmake -f makefile.msc
    129 
    130     All of this managed to build bzip2-1.0.6\libbz2.lib, which the Python
    131     project links in.
    132 
    133 
    134 _bsddb
    135     To use the version of bsddb that Python is built with by default, invoke
    136     (in the dist directory)
    137 
    138      svn export http://svn.python.org/projects/external/db-4.7.25.0 db-4.7.25
    139 
    140     Then open db-4.7.25\build_windows\Berkeley_DB.dsw and build the
    141     "db_static" project for "Release" mode.
    142 
    143     Alternatively, if you want to start with the original sources,
    144     go to Oracle's download page:
    145         http://www.oracle.com/technology/software/products/berkeley-db/db/
    146 
    147     and download version 4.7.25.
    148 
    149     With or without strong cryptography? You can choose either with or
    150     without strong cryptography, as per the instructions below.  By
    151     default, Python is built and distributed WITHOUT strong crypto.
    152 
    153     Unpack the sources; if you downloaded the non-crypto version, rename
    154     the directory from db-4.7.25.NC to db-4.7.25.
    155 
    156     Now apply any patches that apply to your version.
    157 
    158     To run extensive tests, pass "-u bsddb" to regrtest.py.  test_bsddb3.py
    159     is then enabled.  Running in verbose mode may be helpful.
    160 
    161     XXX The test_bsddb3 tests don't always pass, on Windows (according to
    162     XXX me) or on Linux (according to Barry).  (I had much better luck
    163     XXX on Win2K than on Win98SE.)  The common failure mode across platforms
    164     XXX is
    165     XXX     DBAgainError: (11, 'Resource temporarily unavailable -- unable
    166     XXX                         to join the environment')
    167     XXX
    168     XXX and it appears timing-dependent.  On Win2K I also saw this once:
    169     XXX
    170     XXX test02_SimpleLocks (bsddb.test.test_thread.HashSimpleThreaded) ...
    171     XXX Exception in thread reader 1:
    172     XXX Traceback (most recent call last):
    173     XXX File "C:\Code\python\lib\threading.py", line 411, in __bootstrap
    174     XXX    self.run()
    175     XXX File "C:\Code\python\lib\threading.py", line 399, in run
    176     XXX    apply(self.__target, self.__args, self.__kwargs)
    177     XXX File "C:\Code\python\lib\bsddb\test\test_thread.py", line 268, in
    178     XXX                  readerThread
    179     XXX    rec = c.next()
    180     XXX DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK: Locker killed
    181     XXX                                to resolve a deadlock')
    182     XXX
    183     XXX I'm told that DBLockDeadlockError is expected at times.  It
    184     XXX doesn't cause a test to fail when it happens (exceptions in
    185     XXX threads are invisible to unittest).
    186 
    187 
    188 _sqlite3
    189     Python wrapper for SQLite library.
    190     
    191     Get the source code through
    192     
    193     svn export http://svn.python.org/projects/external/sqlite-source-3.3.4
    194     
    195     To use the extension module in a Python build tree, copy sqlite3.dll into
    196     the PC/VC6 folder.
    197 
    198 
    199 _ssl
    200     Python wrapper for the secure sockets library.
    201 
    202     Get the latest source code for OpenSSL from
    203         http://www.openssl.org
    204 
    205     You (probably) don't want the "engine" code.  For example, don't get
    206         openssl-engine-0.9.6g.tar.gz
    207 
    208     Unpack into the "dist" directory, retaining the folder name from
    209     the archive - for example, the latest stable OpenSSL will install as
    210         dist/openssl-1.0.0a
    211 
    212     You can (theoretically) use any version of OpenSSL you like - the
    213     build process will automatically select the latest version.
    214 
    215     You can install the NASM assembler from
    216         http://www.nasm.us/
    217     for x86 builds.  Put nasmw.exe anywhere in your PATH.
    218     Note: recent releases of nasm only have nasm.exe. Just rename it to 
    219     nasmw.exe.
    220 
    221     You can also install ActivePerl from
    222         http://www.activestate.com/activeperl/
    223     if you like to use the official sources instead of the files from 
    224     python's subversion repository. The svn version contains pre-build
    225     makefiles and assembly files.
    226 
    227     The MSVC project simply invokes PC/VC6/build_ssl.py to perform
    228     the build.  This Python script locates and builds your OpenSSL
    229     installation, then invokes a simple makefile to build the final .pyd.
    230 
    231     build_ssl.py attempts to catch the most common errors (such as not
    232     being able to find OpenSSL sources, or not being able to find a Perl
    233     that works with OpenSSL) and give a reasonable error message.
    234     If you have a problem that doesn't seem to be handled correctly
    235     (eg, you know you have ActivePerl but we can't find it), please take
    236     a peek at build_ssl.py and suggest patches.  Note that build_ssl.py
    237     should be able to be run directly from the command-line.
    238 
    239     build_ssl.py/MSVC isn't clever enough to clean OpenSSL - you must do
    240     this by hand.
    241 
    242 
    243 YOUR OWN EXTENSION DLLs
    244 -----------------------
    245 If you want to create your own extension module DLL, there's an example
    246 with easy-to-follow instructions in ../PC/example/; read the file
    247 readme.txt there first.
    248