Index: Modules/errnomodule.c =================================================================== --- Modules/errnomodule.c (revision 59662) +++ Modules/errnomodule.c (working copy) @@ -5,6 +5,7 @@ /* Windows socket errors (WSA*) */ #ifdef MS_WINDOWS +#define WIN32_LEAN_AND_MEAN #include #endif Index: Modules/selectmodule.c =================================================================== --- Modules/selectmodule.c (revision 59662) +++ Modules/selectmodule.c (working copy) @@ -46,6 +46,7 @@ #endif #ifdef MS_WINDOWS +# define WIN32_LEAN_AND_MEAN # include #else # define SOCKET int Index: Modules/socketmodule.h =================================================================== --- Modules/socketmodule.h (revision 59662) +++ Modules/socketmodule.h (working copy) @@ -22,6 +22,7 @@ # define HAVE_GETNAMEINFO # define ENABLE_IPV6 #else +# define WIN32_LEAN_AND_MEAN # include #endif #endif Index: PC/msvcrtmodule.c =================================================================== --- PC/msvcrtmodule.c (revision 59662) +++ PC/msvcrtmodule.c (working copy) @@ -143,6 +143,7 @@ return PyString_FromStringAndSize(s, 1); } +#if _MSC_VER >= 1300 static PyObject * msvcrt_getwch(PyObject *self, PyObject *args) { @@ -158,6 +159,7 @@ u[0] = ch; return PyUnicode_FromUnicode(u, 1); } +#endif static PyObject * msvcrt_getche(PyObject *self, PyObject *args) @@ -175,6 +177,7 @@ return PyString_FromStringAndSize(s, 1); } +#if _MSC_VER >= 1300 static PyObject * msvcrt_getwche(PyObject *self, PyObject *args) { @@ -190,6 +193,7 @@ s[0] = ch; return PyUnicode_FromUnicode(s, 1); } +#endif static PyObject * msvcrt_putch(PyObject *self, PyObject *args) @@ -204,7 +208,7 @@ return Py_None; } - +#if _MSC_VER >= 1300 static PyObject * msvcrt_putwch(PyObject *self, PyObject *args) { @@ -223,6 +227,7 @@ Py_RETURN_NONE; } +#endif static PyObject * msvcrt_ungetch(PyObject *self, PyObject *args) @@ -238,6 +243,7 @@ return Py_None; } +#if _MSC_VER >= 1300 static PyObject * msvcrt_ungetwch(PyObject *self, PyObject *args) { @@ -251,6 +257,7 @@ Py_INCREF(Py_None); return Py_None; } +#endif static void insertint(PyObject *d, char *name, int value) @@ -279,11 +286,12 @@ {"getche", msvcrt_getche, METH_VARARGS}, {"putch", msvcrt_putch, METH_VARARGS}, {"ungetch", msvcrt_ungetch, METH_VARARGS}, +#if _MSC_VER >= 1300 {"getwch", msvcrt_getwch, METH_VARARGS}, {"getwche", msvcrt_getwche, METH_VARARGS}, {"putwch", msvcrt_putwch, METH_VARARGS}, {"ungetwch", msvcrt_ungetwch, METH_VARARGS}, - +#endif {NULL, NULL} }; Index: PC/VC6/_msi.dsp =================================================================== --- PC/VC6/_msi.dsp (revision 0) +++ PC/VC6/_msi.dsp (revision 0) @@ -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 Index: PC/VC6/build_ssl.py =================================================================== --- PC/VC6/build_ssl.py (revision 59662) +++ PC/VC6/build_ssl.py (working copy) @@ -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. Index: PC/VC6/pcbuild.dsw =================================================================== --- PC/VC6/pcbuild.dsw (revision 59662) +++ PC/VC6/pcbuild.dsw (working copy) @@ -57,6 +57,21 @@ ############################################################################### +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> Index: PC/VC6/python.dsp =================================================================== --- PC/VC6/python.dsp (revision 59662) +++ PC/VC6/python.dsp (working copy) @@ -77,6 +77,11 @@ # 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 # SUBTRACT LINK32 /pdb:none +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Desc=Changing stack size... +PostBuild_Cmds=editbin /STACK:0x200000 python_d.exe +# End Special Build Tool !ENDIF Index: PC/VC6/pythoncore.dsp =================================================================== --- PC/VC6/pythoncore.dsp (revision 59662) +++ PC/VC6/pythoncore.dsp (working copy) @@ -253,7 +253,7 @@ # End Source File # Begin Source File -SOURCE=..\..\Modules\collectionsmodule.c +SOURCE=..\..\Modules\_collectionsmodule.c # End Source File # Begin Source File @@ -329,6 +329,10 @@ # 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 @@ -398,10 +402,18 @@ # 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 @@ -419,6 +431,10 @@ # 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 @@ -583,10 +599,6 @@ # End Source File # Begin Source File -SOURCE=..\..\Modules\rgbimgmodule.c -# End Source File -# Begin Source File - SOURCE=..\..\Modules\rotatingtree.c # End Source File # Begin Source File @@ -675,6 +687,10 @@ # 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 Index: PC/VC6/readme.txt =================================================================== --- PC/VC6/readme.txt (revision 59662) +++ PC/VC6/readme.txt (working copy) @@ -199,12 +199,10 @@ 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,31 +214,7 @@ 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 ----------------------- If you want to create your own extension module DLL, there's an example