Issue #2065: VC6 related fix.

- PC/VC6/_bsddb.dsp:
    removed '/nodefaultlib:"msvcrt"' to fix linker error.

- PC/VC6/_msi.dsp, PC/VC6/pcbuild.dsw:
    added new module support.

- PC/VC6/_sqlite3.dsp:
    /D "MODULE_NAME=\"sqlite3\""
    caused extra leading space like
    #define MODULE_NAME " sqlite3"
    so uses
    /D MODULE_NAME=\"sqlite3\"
    instead.

- PC/VC6/python.dsp:
    changed stack size to 2MB to avoid stack overflow on
    some tests.
This commit is contained in:
Hirokazu Yamamoto 2008-08-14 01:33:44 +00:00
parent 581a1495a1
commit eea8eda317
8 changed files with 169 additions and 45 deletions

View File

@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\db-4.4.20\build_win32\Release\libdb44s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\db-4.4.20\build_win32\Release\libdb44s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /out:"./_bsddb.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"

99
PC/VC6/_msi.dsp Normal file
View File

@ -0,0 +1,99 @@
# Microsoft Developer Studio Project File - Name="_msi" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=_msi - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "_msi.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "_msi.mak" CFG="_msi - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "_msi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "_msi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "_msi"
# PROP Scc_LocalPath ".."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "_msi - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "."
# PROP Intermediate_Dir "x86-temp-release\_msi"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\Include" /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /base:"0x1d1a0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_msi.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_msi - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "."
# PROP Intermediate_Dir "x86-temp-debug\_msi"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\Include" /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /base:"0x1d1a0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_msi_d.pyd" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "_msi - Win32 Release"
# Name "_msi - Win32 Debug"
# Begin Source File
SOURCE=..\..\PC\_msi.c
# End Source File
# End Target
# End Project

View File

@ -44,7 +44,7 @@ RSC=rc.exe
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\Include" /I ".." /I "..\..\..\sqlite-source-3.3.4" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MODULE_NAME=\"sqlite3\"" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\Include" /I ".." /I "..\..\..\sqlite-source-3.3.4" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D MODULE_NAME=\"sqlite3\" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
@ -72,7 +72,7 @@ LINK32=link.exe
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\Include" /I ".." /I "..\..\..\sqlite-source-3.3.4" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MODULE_NAME=\"sqlite3\"" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\Include" /I ".." /I "..\..\..\sqlite-source-3.3.4" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D MODULE_NAME=\"sqlite3\" /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"

View File

@ -8,7 +8,7 @@
# directory. It is likely you will already find the zlib library and
# any other external packages there.
# * Install ActivePerl and ensure it is somewhere on your path.
# * Run this script from the PCBuild directory.
# * Run this script from the PC/VC6 directory.
#
# it should configure and build SSL, then build the ssl Python extension
# without intervention.

View File

@ -57,6 +57,21 @@ Package=<4>
###############################################################################
Project: "_msi"=".\_msi.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name pythoncore
End Project Dependency
}}}
###############################################################################
Project: "_socket"=".\_socket.dsp" - Package Owner=<4>
Package=<5>

View File

@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1d000000" /subsystem:console /debug /machine:I386 /out:"./python_d.exe" /pdbtype:sept
# ADD LINK32 odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1d000000" /stack:0x200000 /subsystem:console /debug /machine:I386 /out:"./python_d.exe" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF

View File

@ -181,6 +181,10 @@ SOURCE=..\..\PC\_subprocess.c
# End Source File
# Begin Source File
SOURCE=..\..\Python\_warnings.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\_weakref.c
# End Source File
# Begin Source File
@ -205,10 +209,6 @@ SOURCE=..\..\Modules\arraymodule.c
# End Source File
# Begin Source File
SOURCE=..\..\Python\_warnings.c
# End Source File
# Begin Source File
SOURCE=..\..\Python\asdl.c
# End Source File
# Begin Source File
@ -245,10 +245,6 @@ SOURCE=..\..\Objects\bytearrayobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Objects\stringobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Objects\bytes_methods.c
# End Source File
# Begin Source File
@ -353,6 +349,10 @@ SOURCE=..\..\Objects\fileobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Parser\firstsets.c
# End Source File
# Begin Source File
SOURCE=..\..\Objects\floatobject.c
# End Source File
# Begin Source File
@ -434,10 +434,18 @@ SOURCE=..\..\Python\graminit.c
# End Source File
# Begin Source File
SOURCE=..\..\Parser\grammar.c
# End Source File
# Begin Source File
SOURCE=..\..\Parser\grammar1.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\zlib\gzio.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\imageop.c
# End Source File
# Begin Source File
@ -455,6 +463,10 @@ SOURCE=..\..\Python\importdl.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\zlib\infback.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\zlib\inffast.c
# End Source File
# Begin Source File
@ -603,6 +615,10 @@ SOURCE=..\..\Python\pystate.c
# End Source File
# Begin Source File
SOURCE=..\..\Python\pystrcmp.c
# End Source File
# Begin Source File
SOURCE=..\..\Python\pystrtod.c
# End Source File
# Begin Source File
@ -651,6 +667,10 @@ SOURCE=..\..\Objects\sliceobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Objects\stringobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\stropmodule.c
# End Source File
# Begin Source File
@ -707,6 +727,10 @@ SOURCE=..\..\Objects\typeobject.c
# End Source File
# Begin Source File
SOURCE=..\..\Modules\zlib\uncompr.c
# End Source File
# Begin Source File
SOURCE=..\..\Objects\unicodectype.c
# End Source File
# Begin Source File

View File

@ -1,7 +1,7 @@
Building Python using VC++ 6.0 or 5.0
-------------------------------------
This directory is used to build Python for Win32 platforms, e.g. Windows
95, 98 and NT. It requires Microsoft Visual C++ 6.x or 5.x.
2000 and XP. It requires Microsoft Visual C++ 6.x or 5.x.
(For other Windows platforms and compilers, see ../readme.txt.)
All you need to do is open the workspace "pcbuild.dsw" in MSVC++, select
@ -11,9 +11,7 @@ and build the projects.
The proper order to build subprojects:
1) pythoncore (this builds the main Python DLL and library files,
python21.{dll, lib} in Release mode)
NOTE: in previous releases, this subproject was
named after the release number, e.g. python20.
python26.{dll, lib} in Release mode)
2) python (this builds the main Python executable,
python.exe in Release mode)
@ -24,7 +22,7 @@ The proper order to build subprojects:
to the subsystems they implement; see SUBPROJECTS below)
When using the Debug setting, the output files have a _d added to
their name: python21_d.dll, python_d.exe, parser_d.pyd, and so on.
their name: python26_d.dll, python_d.exe, pyexpat_d.pyd, and so on.
SUBPROJECTS
-----------
@ -39,6 +37,9 @@ python
.exe
pythonw
pythonw.exe, a variant of python.exe that doesn't pop up a DOS box
_msi
_msi.c. You need to install Windows Installer SDK to build this module.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
_socket
socketmodule.c
_testcapi
@ -177,6 +178,17 @@ _bsddb
XXX threads are invisible to unittest).
_sqlite3
Python wrapper for SQLite library.
Get the source code through
svn export http://svn.python.org/projects/external/sqlite-source-3.3.4
To use the extension module in a Python build tree, copy sqlite3.dll into
the PC/VC6 folder.
_ssl
Python wrapper for the secure sockets library.
@ -199,12 +211,10 @@ _ssl
http://www.activestate.com/Products/ActivePerl/
as this is used by the OpenSSL build process. Complain to them <wink>.
The MSVC project simply invokes PCBuild/build_ssl.py to perform
The MSVC project simply invokes PC/VC6/build_ssl.py to perform
the build. This Python script locates and builds your OpenSSL
installation, then invokes a simple makefile to build the final .pyd.
Win9x users: see "Win9x note" below.
build_ssl.py attempts to catch the most common errors (such as not
being able to find OpenSSL sources, or not being able to find a Perl
that works with OpenSSL) and give a reasonable error message.
@ -216,30 +226,6 @@ _ssl
build_ssl.py/MSVC isn't clever enough to clean OpenSSL - you must do
this by hand.
Win9x note: If, near the start of the build process, you see
something like
C:\Code\openssl-0.9.6g>set OPTS=no-asm
Out of environment space
then you're in trouble, and will probably also see these errors near
the end of the process:
NMAKE : fatal error U1073: don't know how to make
'crypto\md5\asm\m5_win32.asm'
Stop.
NMAKE : fatal error U1073: don't know how to make
'C:\Code\openssl-0.9.6g/out32/libeay32.lib'
Stop.
You need more environment space. Win9x only has room for 256 bytes
by default, and especially after installing ActivePerl (which fiddles
the PATH envar), you're likely to run out. KB Q230205
http://support.microsoft.com/default.aspx?scid=KB;en-us;q230205
explains how to edit CONFIG.SYS to cure this.
YOUR OWN EXTENSION DLLs
-----------------------