[Python-3000-checkins] r64215 - in python/branches/py3k: Include/pythonrun.h Modules/errnomodule.c Modules/socketmodule.c Modules/socketmodule.h PC/VC6/_socket.dsp PC/VC6/pythoncore.dsp PC/getpathp.c PC/msvcrtmodule.c PC/pyconfig.h
amaury.forgeotdarc
python-3000-checkins at python.org
Fri Jun 13 03:09:35 CEST 2008
Author: amaury.forgeotdarc
Date: Fri Jun 13 03:09:34 2008
New Revision: 64215
Log:
Merged revisions 64214 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r64214 | amaury.forgeotdarc | 2008-06-13 02:42:22 +0200 (ven., 13 juin 2008) | 6 lines
Restore support for Microsoft VC6 compiler.
Some functions in the msvcrt module are skipped,
and socket.ioctl is enabled only when using a more recent Platform SDK.
(and yes, there are still companies that use a 10-years old compiler)
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Include/pythonrun.h
python/branches/py3k/Modules/errnomodule.c
python/branches/py3k/Modules/socketmodule.c
python/branches/py3k/Modules/socketmodule.h
python/branches/py3k/PC/VC6/_socket.dsp
python/branches/py3k/PC/VC6/pythoncore.dsp
python/branches/py3k/PC/getpathp.c
python/branches/py3k/PC/msvcrtmodule.c
python/branches/py3k/PC/pyconfig.h
Modified: python/branches/py3k/Include/pythonrun.h
==============================================================================
--- python/branches/py3k/Include/pythonrun.h (original)
+++ python/branches/py3k/Include/pythonrun.h Fri Jun 13 03:09:34 2008
@@ -154,7 +154,7 @@
to a 8k margin. */
#define PYOS_STACK_MARGIN 2048
-#if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER)
+#if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1300
/* Enable stack checking under Microsoft C */
#define USE_STACKCHECK
#endif
Modified: python/branches/py3k/Modules/errnomodule.c
==============================================================================
--- python/branches/py3k/Modules/errnomodule.c (original)
+++ python/branches/py3k/Modules/errnomodule.c Fri Jun 13 03:09:34 2008
@@ -6,7 +6,7 @@
/* Windows socket errors (WSA*) */
#ifdef MS_WINDOWS
#define WIN32_LEAN_AND_MEAN
-#include <winsock.h>
+#include <windows.h>
#endif
/*
Modified: python/branches/py3k/Modules/socketmodule.c
==============================================================================
--- python/branches/py3k/Modules/socketmodule.c (original)
+++ python/branches/py3k/Modules/socketmodule.c Fri Jun 13 03:09:34 2008
@@ -2628,7 +2628,7 @@
Shut down the reading side of the socket (flag == SHUT_RD), the writing side\n\
of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).");
-#ifdef MS_WINDOWS
+#if defined(MS_WINDOWS) && defined(SIO_RCVALL)
static PyObject*
sock_ioctl(PySocketSockObject *s, PyObject *arg)
{
@@ -2677,7 +2677,7 @@
METH_NOARGS, getsockname_doc},
{"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS,
getsockopt_doc},
-#ifdef MS_WINDOWS
+#if defined(MS_WINDOWS) && defined(SIO_RCVALL)
{"ioctl", (PyCFunction)sock_ioctl, METH_VARARGS,
sock_ioctl_doc},
#endif
Modified: python/branches/py3k/Modules/socketmodule.h
==============================================================================
--- python/branches/py3k/Modules/socketmodule.h (original)
+++ python/branches/py3k/Modules/socketmodule.h Fri Jun 13 03:09:34 2008
@@ -13,20 +13,23 @@
# endif
#else /* MS_WINDOWS */
-#if _MSC_VER >= 1300
# include <winsock2.h>
# include <ws2tcpip.h>
-# include <MSTcpIP.h> /* for SIO_RCVALL */
-# define HAVE_ADDRINFO
-# define HAVE_SOCKADDR_STORAGE
-# define HAVE_GETADDRINFO
-# define HAVE_GETNAMEINFO
-# define ENABLE_IPV6
-#else
-# define WIN32_LEAN_AND_MEAN
-# include <winsock.h>
-#endif
-#endif
+/* VC6 is shipped with old platform headers, and does not have MSTcpIP.h
+ * Separate SDKs have all the functions we want, but older ones don't have
+ * any version information. I use IPPROTO_IPV6 to detect a decent SDK.
+ */
+# ifdef IPPROTO_IPV6
+# include <MSTcpIP.h> /* for SIO_RCVALL */
+# define HAVE_ADDRINFO
+# define HAVE_SOCKADDR_STORAGE
+# define HAVE_GETADDRINFO
+# define HAVE_GETNAMEINFO
+# define ENABLE_IPV6
+# else
+typedef int socklen_t;
+# endif /* IPPROTO_IPV6 */
+#endif /* MS_WINDOWS */
#ifdef HAVE_SYS_UN_H
# include <sys/un.h>
Modified: python/branches/py3k/PC/VC6/_socket.dsp
==============================================================================
--- python/branches/py3k/PC/VC6/_socket.dsp (original)
+++ python/branches/py3k/PC/VC6/_socket.dsp Fri Jun 13 03:09:34 2008
@@ -54,7 +54,7 @@
# 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 wsock32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket.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 ws2_32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_socket - Win32 Debug"
@@ -82,7 +82,7 @@
# 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 /debug /machine:I386 /pdbtype:sept
-# 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 wsock32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket_d.pyd" /pdbtype:sept
+# 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 ws2_32.lib /nologo /base:"0x1e1D0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_socket_d.pyd" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
Modified: python/branches/py3k/PC/VC6/pythoncore.dsp
==============================================================================
--- python/branches/py3k/PC/VC6/pythoncore.dsp (original)
+++ python/branches/py3k/PC/VC6/pythoncore.dsp Fri Jun 13 03:09:34 2008
@@ -97,6 +97,10 @@
# End Source File
# Begin Source File
+SOURCE=..\..\Modules\_bytesio.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Modules\cjkcodecs\_codecs_cn.c
# End Source File
# Begin Source File
@@ -137,10 +141,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\Modules\_bytesio.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Modules\_functoolsmodule.c
# End Source File
# Begin Source File
@@ -245,6 +245,10 @@
# End Source File
# Begin Source File
+SOURCE=..\..\Objects\bytearrayobject.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\Objects\bytes_methods.c
# End Source File
# Begin Source File
@@ -281,10 +285,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\Modules\_collectionsmodule.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Python\compile.c
# End Source File
# Begin Source File
@@ -365,10 +365,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\Python\formatter_string.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Python\formatter_unicode.c
# End Source File
# Begin Source File
@@ -377,10 +373,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\Python\formatter_unicode.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Python\frozen.c
# End Source File
# Begin Source File
@@ -659,10 +651,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\Objects\stringobject.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Python\structmember.c
# End Source File
# Begin Source File
Modified: python/branches/py3k/PC/getpathp.c
==============================================================================
--- python/branches/py3k/PC/getpathp.c (original)
+++ python/branches/py3k/PC/getpathp.c Fri Jun 13 03:09:34 2008
@@ -117,8 +117,7 @@
static int
exists(wchar_t *filename)
{
- struct _stat64 buf;
- return _wstat64(filename, &buf) == 0;
+ return GetFileAttributesW(filename) != 0xFFFFFFFF;
}
/* Assumes 'filename' MAXPATHLEN+1 bytes long -
Modified: python/branches/py3k/PC/msvcrtmodule.c
==============================================================================
--- python/branches/py3k/PC/msvcrtmodule.c (original)
+++ python/branches/py3k/PC/msvcrtmodule.c Fri Jun 13 03:09:34 2008
@@ -145,7 +145,7 @@
return PyBytes_FromStringAndSize(s, 1);
}
-#if _MSC_VER >= 1300
+#ifdef _WCONIO_DEFINED
static PyObject *
msvcrt_getwch(PyObject *self, PyObject *args)
{
@@ -179,7 +179,7 @@
return PyBytes_FromStringAndSize(s, 1);
}
-#if _MSC_VER >= 1300
+#ifdef _WCONIO_DEFINED
static PyObject *
msvcrt_getwche(PyObject *self, PyObject *args)
{
@@ -210,8 +210,7 @@
return Py_None;
}
-
-#if _MSC_VER >= 1300
+#ifdef _WCONIO_DEFINED
static PyObject *
msvcrt_putwch(PyObject *self, PyObject *args)
{
@@ -246,7 +245,7 @@
return Py_None;
}
-#if _MSC_VER >= 1300
+#ifdef _WCONIO_DEFINED
static PyObject *
msvcrt_ungetwch(PyObject *self, PyObject *args)
{
@@ -349,7 +348,7 @@
{"CrtSetReportMode", msvcrt_setreportmode, METH_VARARGS},
{"set_error_mode", msvcrt_seterrormode, METH_VARARGS},
#endif
-#if _MSC_VER >= 1300
+#ifdef _WCONIO_DEFINED
{"getwch", msvcrt_getwch, METH_VARARGS},
{"getwche", msvcrt_getwche, METH_VARARGS},
{"putwch", msvcrt_putwch, METH_VARARGS},
Modified: python/branches/py3k/PC/pyconfig.h
==============================================================================
--- python/branches/py3k/PC/pyconfig.h (original)
+++ python/branches/py3k/PC/pyconfig.h Fri Jun 13 03:09:34 2008
@@ -463,13 +463,6 @@
/* Define to `unsigned' if <sys/types.h> doesn't define. */
/* #undef size_t */
-/* Define to `int' if <sys/types.h> doesn't define. */
-#if _MSC_VER + 0 >= 1300
-/* VC.NET typedefs socklen_t in ws2tcpip.h. */
-#else
-#define socklen_t int
-#endif
-
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
More information about the Python-3000-checkins
mailing list