From eea8eda317ded5c519e663237c9850482c2cb06e Mon Sep 17 00:00:00 2001 From: Hirokazu Yamamoto Date: Thu, 14 Aug 2008 01:33:44 +0000 Subject: 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. --- PC/VC6/_bsddb.dsp | 2 +- PC/VC6/_msi.dsp | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++ PC/VC6/_sqlite3.dsp | 4 +-- PC/VC6/build_ssl.py | 2 +- PC/VC6/pcbuild.dsw | 15 ++++++++ PC/VC6/python.dsp | 2 +- PC/VC6/pythoncore.dsp | 40 ++++++++++++++++----- PC/VC6/readme.txt | 50 ++++++++++---------------- 8 files changed, 169 insertions(+), 45 deletions(-) create mode 100644 PC/VC6/_msi.dsp diff --git a/PC/VC6/_bsddb.dsp b/PC/VC6/_bsddb.dsp index 0ede011..662cd9b 100644 --- a/PC/VC6/_bsddb.dsp +++ b/PC/VC6/_bsddb.dsp @@ -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" diff --git a/PC/VC6/_msi.dsp b/PC/VC6/_msi.dsp new file mode 100644 index 0000000..38e4ac5 --- /dev/null +++ b/PC/VC6/_msi.dsp @@ -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 diff --git a/PC/VC6/_sqlite3.dsp b/PC/VC6/_sqlite3.dsp index a48ef72..a8f3329 100644 --- a/PC/VC6/_sqlite3.dsp +++ b/PC/VC6/_sqlite3.dsp @@ -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" diff --git a/PC/VC6/build_ssl.py b/PC/VC6/build_ssl.py index 74f0383..737b397 100644 --- a/PC/VC6/build_ssl.py +++ b/PC/VC6/build_ssl.py @@ -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. diff --git a/PC/VC6/pcbuild.dsw b/PC/VC6/pcbuild.dsw index bd3718d..b359de2 100644 --- a/PC/VC6/pcbuild.dsw +++ b/PC/VC6/pcbuild.dsw @@ -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> diff --git a/PC/VC6/python.dsp b/PC/VC6/python.dsp index 9135348..fa8b772 100644 --- a/PC/VC6/python.dsp +++ b/PC/VC6/python.dsp @@ -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 diff --git a/PC/VC6/pythoncore.dsp b/PC/VC6/pythoncore.dsp index 1fc2a38..0371627 100644 --- a/PC/VC6/pythoncore.dsp +++ b/PC/VC6/pythoncore.dsp @@ -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 diff --git a/PC/VC6/readme.txt b/PC/VC6/readme.txt index cfa549f..11f29c4 100644 --- a/PC/VC6/readme.txt +++ b/PC/VC6/readme.txt @@ -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 . - 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 ----------------------- -- cgit v0.12