mirror of https://github.com/python/cpython
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) ........
This commit is contained in:
parent
e68df0fbe5
commit
3d17a5c5ae
|
@ -154,7 +154,7 @@ PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState;
|
||||||
to a 8k margin. */
|
to a 8k margin. */
|
||||||
#define PYOS_STACK_MARGIN 2048
|
#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 */
|
/* Enable stack checking under Microsoft C */
|
||||||
#define USE_STACKCHECK
|
#define USE_STACKCHECK
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
/* Windows socket errors (WSA*) */
|
/* Windows socket errors (WSA*) */
|
||||||
#ifdef MS_WINDOWS
|
#ifdef MS_WINDOWS
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <winsock.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2628,7 +2628,7 @@ PyDoc_STRVAR(shutdown_doc,
|
||||||
Shut down the reading side of the socket (flag == SHUT_RD), the writing side\n\
|
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).");
|
of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).");
|
||||||
|
|
||||||
#ifdef MS_WINDOWS
|
#if defined(MS_WINDOWS) && defined(SIO_RCVALL)
|
||||||
static PyObject*
|
static PyObject*
|
||||||
sock_ioctl(PySocketSockObject *s, PyObject *arg)
|
sock_ioctl(PySocketSockObject *s, PyObject *arg)
|
||||||
{
|
{
|
||||||
|
@ -2677,7 +2677,7 @@ static PyMethodDef sock_methods[] = {
|
||||||
METH_NOARGS, getsockname_doc},
|
METH_NOARGS, getsockname_doc},
|
||||||
{"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS,
|
{"getsockopt", (PyCFunction)sock_getsockopt, METH_VARARGS,
|
||||||
getsockopt_doc},
|
getsockopt_doc},
|
||||||
#ifdef MS_WINDOWS
|
#if defined(MS_WINDOWS) && defined(SIO_RCVALL)
|
||||||
{"ioctl", (PyCFunction)sock_ioctl, METH_VARARGS,
|
{"ioctl", (PyCFunction)sock_ioctl, METH_VARARGS,
|
||||||
sock_ioctl_doc},
|
sock_ioctl_doc},
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,20 +13,23 @@
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#else /* MS_WINDOWS */
|
#else /* MS_WINDOWS */
|
||||||
#if _MSC_VER >= 1300
|
|
||||||
# include <winsock2.h>
|
# include <winsock2.h>
|
||||||
# include <ws2tcpip.h>
|
# include <ws2tcpip.h>
|
||||||
# include <MSTcpIP.h> /* for SIO_RCVALL */
|
/* VC6 is shipped with old platform headers, and does not have MSTcpIP.h
|
||||||
# define HAVE_ADDRINFO
|
* Separate SDKs have all the functions we want, but older ones don't have
|
||||||
# define HAVE_SOCKADDR_STORAGE
|
* any version information. I use IPPROTO_IPV6 to detect a decent SDK.
|
||||||
# define HAVE_GETADDRINFO
|
*/
|
||||||
# define HAVE_GETNAMEINFO
|
# ifdef IPPROTO_IPV6
|
||||||
# define ENABLE_IPV6
|
# include <MSTcpIP.h> /* for SIO_RCVALL */
|
||||||
#else
|
# define HAVE_ADDRINFO
|
||||||
# define WIN32_LEAN_AND_MEAN
|
# define HAVE_SOCKADDR_STORAGE
|
||||||
# include <winsock.h>
|
# define HAVE_GETADDRINFO
|
||||||
#endif
|
# define HAVE_GETNAMEINFO
|
||||||
#endif
|
# define ENABLE_IPV6
|
||||||
|
# else
|
||||||
|
typedef int socklen_t;
|
||||||
|
# endif /* IPPROTO_IPV6 */
|
||||||
|
#endif /* MS_WINDOWS */
|
||||||
|
|
||||||
#ifdef HAVE_SYS_UN_H
|
#ifdef HAVE_SYS_UN_H
|
||||||
# include <sys/un.h>
|
# include <sys/un.h>
|
||||||
|
|
|
@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
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 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
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "_socket - Win32 Debug"
|
!ELSEIF "$(CFG)" == "_socket - Win32 Debug"
|
||||||
|
@ -82,7 +82,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
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 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
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
|
@ -97,6 +97,10 @@ SOURCE=..\..\Modules\_bisectmodule.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Modules\_bytesio.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Modules\cjkcodecs\_codecs_cn.c
|
SOURCE=..\..\Modules\cjkcodecs\_codecs_cn.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -137,10 +141,6 @@ SOURCE=..\..\Modules\_fileio.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Modules\_bytesio.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Modules\_functoolsmodule.c
|
SOURCE=..\..\Modules\_functoolsmodule.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -245,6 +245,10 @@ SOURCE=..\..\Objects\boolobject.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\Objects\bytearrayobject.c
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Objects\bytes_methods.c
|
SOURCE=..\..\Objects\bytes_methods.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -281,10 +285,6 @@ SOURCE=..\..\Objects\codeobject.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Modules\_collectionsmodule.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Python\compile.c
|
SOURCE=..\..\Python\compile.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -365,10 +365,6 @@ SOURCE=..\..\Objects\floatobject.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Python\formatter_string.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Python\formatter_unicode.c
|
SOURCE=..\..\Python\formatter_unicode.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -377,10 +373,6 @@ SOURCE=..\..\Objects\frameobject.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Python\formatter_unicode.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Python\frozen.c
|
SOURCE=..\..\Python\frozen.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -659,10 +651,6 @@ SOURCE=..\..\Objects\sliceobject.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\Objects\stringobject.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\Python\structmember.c
|
SOURCE=..\..\Python\structmember.c
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
|
@ -117,8 +117,7 @@ reduce(wchar_t *dir)
|
||||||
static int
|
static int
|
||||||
exists(wchar_t *filename)
|
exists(wchar_t *filename)
|
||||||
{
|
{
|
||||||
struct _stat64 buf;
|
return GetFileAttributesW(filename) != 0xFFFFFFFF;
|
||||||
return _wstat64(filename, &buf) == 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Assumes 'filename' MAXPATHLEN+1 bytes long -
|
/* Assumes 'filename' MAXPATHLEN+1 bytes long -
|
||||||
|
|
|
@ -145,7 +145,7 @@ msvcrt_getch(PyObject *self, PyObject *args)
|
||||||
return PyBytes_FromStringAndSize(s, 1);
|
return PyBytes_FromStringAndSize(s, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if _MSC_VER >= 1300
|
#ifdef _WCONIO_DEFINED
|
||||||
static PyObject *
|
static PyObject *
|
||||||
msvcrt_getwch(PyObject *self, PyObject *args)
|
msvcrt_getwch(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
|
@ -179,7 +179,7 @@ msvcrt_getche(PyObject *self, PyObject *args)
|
||||||
return PyBytes_FromStringAndSize(s, 1);
|
return PyBytes_FromStringAndSize(s, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if _MSC_VER >= 1300
|
#ifdef _WCONIO_DEFINED
|
||||||
static PyObject *
|
static PyObject *
|
||||||
msvcrt_getwche(PyObject *self, PyObject *args)
|
msvcrt_getwche(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
|
@ -210,8 +210,7 @@ msvcrt_putch(PyObject *self, PyObject *args)
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _WCONIO_DEFINED
|
||||||
#if _MSC_VER >= 1300
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
msvcrt_putwch(PyObject *self, PyObject *args)
|
msvcrt_putwch(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
|
@ -246,7 +245,7 @@ msvcrt_ungetch(PyObject *self, PyObject *args)
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if _MSC_VER >= 1300
|
#ifdef _WCONIO_DEFINED
|
||||||
static PyObject *
|
static PyObject *
|
||||||
msvcrt_ungetwch(PyObject *self, PyObject *args)
|
msvcrt_ungetwch(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
|
@ -349,7 +348,7 @@ static struct PyMethodDef msvcrt_functions[] = {
|
||||||
{"CrtSetReportMode", msvcrt_setreportmode, METH_VARARGS},
|
{"CrtSetReportMode", msvcrt_setreportmode, METH_VARARGS},
|
||||||
{"set_error_mode", msvcrt_seterrormode, METH_VARARGS},
|
{"set_error_mode", msvcrt_seterrormode, METH_VARARGS},
|
||||||
#endif
|
#endif
|
||||||
#if _MSC_VER >= 1300
|
#ifdef _WCONIO_DEFINED
|
||||||
{"getwch", msvcrt_getwch, METH_VARARGS},
|
{"getwch", msvcrt_getwch, METH_VARARGS},
|
||||||
{"getwche", msvcrt_getwche, METH_VARARGS},
|
{"getwche", msvcrt_getwche, METH_VARARGS},
|
||||||
{"putwch", msvcrt_putwch, METH_VARARGS},
|
{"putwch", msvcrt_putwch, METH_VARARGS},
|
||||||
|
|
|
@ -463,13 +463,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
|
||||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||||
/* #undef size_t */
|
/* #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 if you have the ANSI C header files. */
|
||||||
#define STDC_HEADERS 1
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue