diff options
Diffstat (limited to 'PC')
-rw-r--r-- | PC/_winreg.c | 2 | ||||
-rw-r--r-- | PC/config.c | 3 | ||||
-rw-r--r-- | PC/getpathp.c | 10 | ||||
-rw-r--r-- | PC/os2emx/Makefile | 24 | ||||
-rw-r--r-- | PC/os2emx/README.os2emx | 29 | ||||
-rw-r--r-- | PC/os2emx/config.c | 18 | ||||
-rw-r--r-- | PC/os2emx/pyconfig.h | 31 | ||||
-rw-r--r-- | PC/os2emx/python25.def (renamed from PC/os2emx/python24.def) | 577 | ||||
-rw-r--r-- | PC/os2vacpp/pyconfig.h | 8 | ||||
-rw-r--r-- | PC/pyconfig.h | 52 | ||||
-rw-r--r-- | PC/winsound.c | 8 |
11 files changed, 506 insertions, 256 deletions
diff --git a/PC/_winreg.c b/PC/_winreg.c index 5ed58bb..5ed3f6c 100644 --- a/PC/_winreg.c +++ b/PC/_winreg.c @@ -959,7 +959,9 @@ PyConnectRegistry(PyObject *self, PyObject *args) return NULL; if (!PyHKEY_AsHKEY(obKey, &hKey, FALSE)) return NULL; + Py_BEGIN_ALLOW_THREADS rc = RegConnectRegistry(szCompName, hKey, &retKey); + Py_END_ALLOW_THREADS if (rc != ERROR_SUCCESS) return PyErr_SetFromWindowsErrWithFunction(rc, "ConnectRegistry"); diff --git a/PC/config.c b/PC/config.c index b832d7c..a9a280d 100644 --- a/PC/config.c +++ b/PC/config.c @@ -67,6 +67,7 @@ extern void init_codecs_tw(void); extern void init_subprocess(void); extern void init_lsprof(void); extern void init_ast(void); +extern void init_types(void); /* tools/freeze/makeconfig.py marker for additional "extern" */ /* -- ADDMODULE MARKER 1 -- */ @@ -161,6 +162,8 @@ struct _inittab _PyImport_Inittab[] = { {"__builtin__", NULL}, {"sys", NULL}, {"exceptions", NULL}, + + {"_types", init_types}, /* Sentinel */ {0, 0} diff --git a/PC/getpathp.c b/PC/getpathp.c index 37a9c0b..729d2e4 100644 --- a/PC/getpathp.c +++ b/PC/getpathp.c @@ -62,8 +62,14 @@ #include <tchar.h> #endif +#ifdef HAVE_SYS_TYPES_H #include <sys/types.h> +#endif /* HAVE_SYS_TYPES_H */ + +#ifdef HAVE_SYS_STAT_H #include <sys/stat.h> +#endif /* HAVE_SYS_STAT_H */ + #include <string.h> /* Search in some common locations for the associated Python libraries. @@ -291,6 +297,10 @@ getpythonregpath(HKEY keyBase, int skipcore) } RegCloseKey(subKey); } + + /* return null if no path to return */ + if (dataSize == 0) goto done; + /* original datasize from RegQueryInfo doesn't include the \0 */ dataBuf = malloc((dataSize+1) * sizeof(TCHAR)); if (dataBuf) { diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile index 762bfdb..833f3ab 100644 --- a/PC/os2emx/Makefile +++ b/PC/os2emx/Makefile @@ -2,15 +2,15 @@ # # Top-Level Makefile for Building Python 2.4 for OS/2 using GCC/EMX # Originally written by Andrew Zabolotny, <bit@eltech.ru> for Python 1.5.2 -# Modified by Andrew MacIntyre, <andymac@pcug.org.au> for Python 2.4 +# Modified by Andrew MacIntyre, <andymac@pcug.org.au> for Python 2.5 # # This makefile was developed for use with [P]GCC/EMX compiler any # version and GNU Make. # -# The output of the build is a largish Python24.DLL containing the +# The output of the build is a largish Python25.DLL containing the # essential modules of Python and a small Python.exe program to start # the interpreter. When embedding Python within another program, only -# Python24.DLL is needed. We also build python_s.a static library (which +# Python25.DLL is needed. We also build python_s.a static library (which # can be converted into OMF (.lib) format using emxomf tool) and both # python.a and python.lib import libraries. Then the optional # extension modules, which are OS/2 DLLs renamed with a PYD file extension. @@ -64,7 +64,7 @@ HAVE_OPENSSL= no # === install locations === # default value of PYTHONHOME -LIB_DIR=C:/Python24 +LIB_DIR=C:/Python25 # default is to have everything in or under PYTHONHOME EXE_DIR=$(LIB_DIR) DLL_DIR=$(EXE_DIR) @@ -236,8 +236,8 @@ $(OUT)%$O: %.c @echo STACKSIZE 2097152 >>$@ # Output file names -PYTHON_VER= 2.4 -PYTHON_LIB= python24 +PYTHON_VER= 2.5 +PYTHON_LIB= python25 PYTHON.LIB= $(PYTHON_LIB)_s$A PYTHON.IMPLIB= $(PYTHON_LIB)$A ifeq ($(EXEOMF),yes) @@ -295,20 +295,23 @@ SRC.MODULES= $(addprefix $(TOP), \ Modules/dlmodule.c \ Modules/errnomodule.c \ Modules/fcntlmodule.c \ + Modules/_functoolsmodule.c \ Modules/_heapqmodule.c \ Modules/imageop.c \ Modules/itertoolsmodule.c \ Modules/_localemodule.c \ Modules/mathmodule.c \ - Modules/md5c.c \ + Modules/md5.c \ Modules/md5module.c \ Modules/operator.c \ Modules/_randommodule.c \ Modules/rgbimgmodule.c \ Modules/shamodule.c \ + Modules/sha256module.c \ + Modules/sha512module.c \ Modules/_sre.c \ Modules/stropmodule.c \ - Modules/structmodule.c \ + Modules/_struct.c \ Modules/symtablemodule.c \ Modules/termios.c \ Modules/timemodule.c \ @@ -331,6 +334,9 @@ SRC.PARSE2= $(addprefix $(TOP), \ SRC.PARSER= $(SRC.PARSE1) \ $(SRC.PARSE2) SRC.PYTHON= $(addprefix $(TOP), \ + Python/Python-ast.c \ + Python/asdl.c \ + Python/ast.c \ Python/bltinmodule.c \ Python/exceptions.c \ Python/ceval.c \ @@ -353,6 +359,7 @@ SRC.PYTHON= $(addprefix $(TOP), \ Python/modsupport.c \ Python/mysnprintf.c \ Python/mystrtoul.c \ + Python/pyarena.c \ Python/pyfpe.c \ Python/pystate.c \ Python/pystrtod.c \ @@ -371,6 +378,7 @@ SRC.OBJECT= $(addprefix $(TOP), \ Objects/cellobject.c \ Objects/classobject.c \ Objects/cobject.c \ + Objects/codeobject.c \ Objects/complexobject.c \ Objects/descrobject.c \ Objects/dictobject.c \ diff --git a/PC/os2emx/README.os2emx b/PC/os2emx/README.os2emx index 9172a2d..4fe5c53 100644 --- a/PC/os2emx/README.os2emx +++ b/PC/os2emx/README.os2emx @@ -612,22 +612,11 @@ functionality. Most of the sub-tests pass, but the "ismount" and test_posixpath should skip these tests on EMX. -24. I have had a report that attempting to use the Bittorrent package -(http://bitconjurer.org/BitTorrent/) with this port causes traps not -long after starting the download; this using the "headless" download -script on eCS v1.1. I have not been able to duplicate this myself, -but the indications I have suggest a failure in the 32 bit TCP/IP -stack (v4.3.2? on eCS v1.1) - on my v4.0 FP12 system with MPTS fixpack -WR8425 applied (16 bit TCP/IP stack v4.02), BitTorrent appears to work -normally in testing on a 100Mbit LAN. With the curses.panel fix (see -item 13 above), the BitTorrent curses downloader works too. I'd -appreciate any success or failure reports with BitTorrent, though -I've regretfully recommended that the person who reported the failure -take this up with eCS support. Since this report, I have received a -followup which suggests that the problem may be addressed by TCP/IP -fixes (IC35005+PJ29457, contained in NEWSTACK.ZIP in the Hobbes -archive). I think it suffices to say that BitTorrent is a fair stress -test of a system's networking capability. +24. I have reports of BitTorrent not working. It appears that the +EMX select() emulation, possibly in concert with bugs in the TCP/IP +stack, runs into problems under the stress imposed by this application. +I think it suffices to say that BitTorrent is a fair stress test of a +system's networking capability. 25. In the absence of an EMX implementation of the link() function, I've implemented a crude Python emulation, in the file @@ -659,14 +648,16 @@ test_subprocess has a number of failures as a result. 29. The default stack size for threads has been 64k. This is proving insufficient for some codebases, such as Zope. The thread stack size -still defaults to 64k, but this can now be increased by defining +still defaults to 64k, but this can now be increased via the stack_size() +function exposed by the threading & thread modules as well as by defining THREAD_STACK_SIZE to an appropriate value in the Makefile (which contains a commented out definition for 128kB thread stacks). I have seen references to heavy Zope/Plone usage requiring 1MB thread stacks on FreeBSD and Linux, but doubt that for most likely usage on OS/2 that more than 256kB is necessary. The size of the required stacks (main and thread) can vary significantly depending on which version of gcc -is used along with the compiler optimisations selected. +is used along with the compiler optimisations selected. Note that the +main thread stack size is set during linking and is currently 2MB. ... probably other issues that I've not encountered, or don't remember :-( @@ -707,4 +698,4 @@ Andrew MacIntyre E-mail: andymac@bullseye.apana.org.au, or andymac@pcug.org.au Web: http://www.andymac.org/ -17 February, 2005. +23 July, 2006. diff --git a/PC/os2emx/config.c b/PC/os2emx/config.c index 40c2cdc..696c3bb 100644 --- a/PC/os2emx/config.c +++ b/PC/os2emx/config.c @@ -58,16 +58,19 @@ extern void initdatetime(); extern void initdl(); extern void initerrno(); extern void initfcntl(); +extern void init_functools(); extern void init_heapq(); extern void initimageop(); extern void inititertools(); extern void initmath(); -extern void initmd5(); +extern void init_md5(); extern void initoperator(); extern void initrgbimg(); -extern void initsha(); +extern void init_sha(); +extern void init_sha256(); +extern void init_sha512(); extern void initstrop(); -extern void initstruct(); +extern void init_struct(); extern void inittermios(); extern void inittime(); extern void inittiming(); @@ -121,16 +124,19 @@ struct _inittab _PyImport_Inittab[] = { {"dl", initdl}, {"errno", initerrno}, {"fcntl", initfcntl}, + {"_functools", init_functools}, {"_heapq", init_heapq}, {"imageop", initimageop}, {"itertools", inititertools}, {"math", initmath}, - {"md5", initmd5}, + {"_md5", init_md5}, {"operator", initoperator}, {"rgbimg", initrgbimg}, - {"sha", initsha}, + {"_sha", init_sha}, + {"_sha256", init_sha256}, + {"_sha512", init_sha512}, {"strop", initstrop}, - {"struct", initstruct}, + {"_struct", init_struct}, {"termios", inittermios}, {"time", inittime}, {"timing", inittiming}, diff --git a/PC/os2emx/pyconfig.h b/PC/os2emx/pyconfig.h index afe79e4..1039d3d 100644 --- a/PC/os2emx/pyconfig.h +++ b/PC/os2emx/pyconfig.h @@ -46,6 +46,7 @@ #define TCPIPV4 1 #define USE_SOCKET 1 #define socklen_t int +#define FD_SETSIZE 1024 /* enable the Python object allocator */ #define WITH_PYMALLOC 1 @@ -61,6 +62,9 @@ #define PY_UNICODE_TYPE wchar_t #define Py_UNICODE_SIZE SIZEOF_SHORT +/* EMX defines ssize_t */ +#define HAVE_SSIZE_T 1 + /* system capabilities */ #define HAVE_TTYNAME 1 #define HAVE_WAIT 1 @@ -137,6 +141,9 @@ typedef long intptr_t; /* The number of bytes in a void *. */ #define SIZEOF_VOID_P 4 +/* The number of bytes in a size_t. */ +#define SIZEOF_SIZE_T 4 + /* Define if you have the alarm function. */ #define HAVE_ALARM 1 @@ -254,15 +261,33 @@ typedef long intptr_t; /* Define if you have the waitpid function. */ #define HAVE_WAITPID 1 +/* Define if you have the <conio.h> header file. */ +#undef HAVE_CONIO_H + +/* Define if you have the <direct.h> header file. */ +#undef HAVE_DIRECT_H + /* Define if you have the <dirent.h> header file. */ #define HAVE_DIRENT_H 1 +/* Define if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 +/* Define if you have the <io.h> header file. */ +#undef HAVE_IO_H + /* Define if you have the <ncurses.h> header file. */ #define HAVE_NCURSES_H 1 +/* Define to 1 if you have the <process.h> header file. */ +#define HAVE_PROCESS_H 1 + +/* Define if you have the <signal.h> header file. */ +#define HAVE_SIGNAL_H 1 + /* Define if you have the <sys/file.h> header file. */ #define HAVE_SYS_FILE_H 1 @@ -272,12 +297,18 @@ typedef long intptr_t; /* Define if you have the <sys/select.h> header file. */ #define HAVE_SYS_SELECT_H 1 +/* Define if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + /* Define if you have the <sys/time.h> header file. */ #define HAVE_SYS_TIME_H 1 /* Define if you have the <sys/times.h> header file. */ #define HAVE_SYS_TIMES_H 1 +/* Define if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + /* Define if you have the <sys/un.h> header file. */ #define HAVE_SYS_UN_H 1 diff --git a/PC/os2emx/python24.def b/PC/os2emx/python25.def index 534dff8..3c6004f 100644 --- a/PC/os2emx/python24.def +++ b/PC/os2emx/python25.def @@ -1,89 +1,93 @@ -LIBRARY python24 INITINSTANCE TERMINSTANCE -DESCRIPTION "Python 2.4 Core DLL" +LIBRARY python25 INITINSTANCE TERMINSTANCE +DESCRIPTION "Python 2.5 Core DLL" PROTMODE DATA MULTIPLE NONSHARED EXPORTS -; From python24_s.lib(config) +; From python25_s.lib(config) "_PyImport_Inittab" -; From python24_s.lib(dlfcn) +; From python25_s.lib(dlfcn) ; "dlopen" ; "dlsym" ; "dlclose" ; "dlerror" -; From python24_s.lib(getpathp) +; From python25_s.lib(getpathp) "Py_GetProgramFullPath" "Py_GetPrefix" "Py_GetExecPrefix" "Py_GetPath" -; From python24_s.lib(getbuildinfo) +; From python25_s.lib(getbuildinfo) "Py_GetBuildInfo" + "_Py_svnversion" -; From python24_s.lib(main) +; From python25_s.lib(main) "Py_Main" "Py_GetArgcArgv" -; From python24_s.lib(acceler) +; From python25_s.lib(acceler) "PyGrammar_AddAccelerators" "PyGrammar_RemoveAccelerators" -; From python24_s.lib(grammar1) +; From python25_s.lib(grammar1) "PyGrammar_FindDFA" "PyGrammar_LabelRepr" -; From python24_s.lib(listnode) +; From python25_s.lib(listnode) "PyNode_ListTree" -; From python24_s.lib(node) - "PyNode_AddChild" +; From python25_s.lib(node) "PyNode_New" + "PyNode_AddChild" "PyNode_Free" -; From python24_s.lib(parser) +; From python25_s.lib(parser) "PyParser_AddToken" "PyParser_New" "PyParser_Delete" -; From python24_s.lib(parsetok) +; From python25_s.lib(parsetok) "Py_TabcheckFlag" "PyParser_ParseString" - "PyParser_ParseStringFlags" + "PyParser_ParseStringFlagsFilename" "PyParser_ParseFile" "PyParser_ParseFileFlags" - "PyParser_ParseStringFlagsFilename" + "PyParser_ParseStringFlags" -; From python24_s.lib(bitset) +; From python25_s.lib(bitset) "_Py_newbitset" "_Py_delbitset" "_Py_addbit" "_Py_samebitset" "_Py_mergebitset" -; From python24_s.lib(metagrammar) +; From python25_s.lib(metagrammar) "_Py_meta_grammar" "Py_meta_grammar" -; From python24_s.lib(tokenizer) +; From python25_s.lib(tokenizer) "PyToken_OneChar" "PyToken_TwoChars" "PyToken_ThreeChars" "PyTokenizer_FromString" - "PyTokenizer_FromFile" "PyTokenizer_Free" + "PyTokenizer_FromFile" "PyTokenizer_Get" "_PyParser_TokenNames" -; From python24_s.lib(myreadline) +; From python25_s.lib(myreadline) "_PyOS_ReadlineTState" "PyOS_ReadlineFunctionPointer" "PyOS_StdioReadline" "PyOS_Readline" "PyOS_InputHook" -; From python24_s.lib(abstract) +; From python25_s.lib(abstract) + "_PyObject_LengthHint" + "PyMapping_Size" + "PyObject_CallMethod" "PyObject_GetItem" "PySequence_GetItem" "PyObject_SetItem" @@ -96,15 +100,20 @@ EXPORTS "PyNumber_Int" "PyNumber_Long" "PyNumber_Float" + "PySequence_Concat" + "PySequence_Repeat" + "PySequence_InPlaceConcat" + "PySequence_InPlaceRepeat" "PySequence_GetSlice" "PySequence_SetSlice" "PySequence_Tuple" "PyObject_GetIter" - "PyMapping_Size" "PyIter_Next" + "PySequence_Fast" "_PySequence_IterSearch" "PyObject_CallFunction" - "PyObject_CallMethod" + "_PyObject_CallFunction_SizeT" + "_PyObject_CallMethod_SizeT" "PyObject_CallMethodObjArgs" "PyObject_CallFunctionObjArgs" "PyObject_Cmp" @@ -136,6 +145,7 @@ EXPORTS "PyNumber_And" "PyNumber_Xor" "PyNumber_Or" + "PyNumber_Index" "PyNumber_InPlaceSubtract" "PyNumber_InPlaceDivide" "PyNumber_InPlaceFloorDivide" @@ -150,17 +160,12 @@ EXPORTS "PySequence_Check" "PySequence_Size" "PySequence_Length" - "PySequence_Concat" - "PySequence_Repeat" "PySequence_DelSlice" "PySequence_List" - "PySequence_Fast" "PySequence_Count" "PySequence_Contains" "PySequence_In" "PySequence_Index" - "PySequence_InPlaceConcat" - "PySequence_InPlaceRepeat" "PyMapping_Check" "PyMapping_Length" "PyMapping_HasKeyString" @@ -170,13 +175,13 @@ EXPORTS "PyObject_IsInstance" "PyObject_IsSubclass" -; From python24_s.lib(boolobject) +; From python25_s.lib(boolobject) "PyBool_FromLong" "PyBool_Type" "_Py_ZeroStruct" "_Py_TrueStruct" -; From python24_s.lib(bufferobject) +; From python25_s.lib(bufferobject) "PyBuffer_FromObject" "PyBuffer_FromReadWriteObject" "PyBuffer_FromMemory" @@ -184,13 +189,13 @@ EXPORTS "PyBuffer_New" "PyBuffer_Type" -; From python24_s.lib(cellobject) +; From python25_s.lib(cellobject) "PyCell_New" "PyCell_Get" "PyCell_Set" "PyCell_Type" -; From python24_s.lib(classobject) +; From python25_s.lib(classobject) "PyClass_New" "PyClass_IsSubclass" "PyInstance_New" @@ -205,7 +210,7 @@ EXPORTS "PyInstance_Type" "PyMethod_Type" -; From python24_s.lib(cobject) +; From python25_s.lib(cobject) "PyCObject_FromVoidPtr" "PyCObject_FromVoidPtrAndDesc" "PyCObject_AsVoidPtr" @@ -214,7 +219,13 @@ EXPORTS "PyCObject_SetVoidPtr" "PyCObject_Type" -; From python24_s.lib(complexobject) +; From python25_s.lib(codeobject) + "PyCode_New" + "PyCode_Addr2Line" + "PyCode_CheckLineNumber" + "PyCode_Type" + +; From python25_s.lib(complexobject) "_Py_c_pow" "_Py_c_sum" "_Py_c_diff" @@ -228,7 +239,7 @@ EXPORTS "PyComplex_AsCComplex" "PyComplex_Type" -; From python24_s.lib(descrobject) +; From python25_s.lib(descrobject) "PyWrapper_New" "PyDescr_NewMethod" "PyDescr_NewClassMethod" @@ -239,8 +250,9 @@ EXPORTS "PyWrapperDescr_Type" "PyProperty_Type" -; From python24_s.lib(dictobject) +; From python25_s.lib(dictobject) "PyDict_New" + "PyDict_GetItem" "PyDict_SetItem" "PyDict_DelItem" "PyDict_Clear" @@ -249,7 +261,6 @@ EXPORTS "PyDict_Keys" "PyDict_Values" "PyDict_Contains" - "PyDict_GetItem" "PyDict_Next" "PyDict_Items" "PyDict_Size" @@ -263,11 +274,12 @@ EXPORTS "PyDictIterValue_Type" "PyDictIterItem_Type" -; From python24_s.lib(enumobject) +; From python25_s.lib(enumobject) "PyEnum_Type" "PyReversed_Type" -; From python24_s.lib(fileobject) +; From python25_s.lib(fileobject) + "PyFile_FromString" "Py_UniversalNewlineFread" "PyFile_GetLine" "PyFile_SoftSpace" @@ -275,7 +287,6 @@ EXPORTS "PyFile_WriteString" "PyObject_AsFileDescriptor" "Py_UniversalNewlineFgets" - "PyFile_FromString" "PyFile_SetBufSize" "PyFile_SetEncoding" "PyFile_FromFile" @@ -283,21 +294,22 @@ EXPORTS "PyFile_Name" "PyFile_Type" -; From python24_s.lib(floatobject) +; From python25_s.lib(floatobject) "PyFloat_FromString" "PyFloat_AsDouble" "PyFloat_Fini" "_PyFloat_Pack4" "_PyFloat_Pack8" + "_PyFloat_Unpack4" + "_PyFloat_Unpack8" "PyFloat_FromDouble" "PyFloat_AsReprString" "PyFloat_AsString" - "_PyFloat_Unpack4" - "_PyFloat_Unpack8" + "_PyFloat_Init" "PyFloat_AsStringEx" "PyFloat_Type" -; From python24_s.lib(frameobject) +; From python25_s.lib(frameobject) "PyFrame_New" "PyFrame_FastToLocals" "PyFrame_LocalsToFast" @@ -307,7 +319,7 @@ EXPORTS "PyFrame_BlockPop" "PyFrame_Type" -; From python24_s.lib(funcobject) +; From python25_s.lib(funcobject) "PyFunction_New" "PyFunction_GetCode" "PyFunction_GetGlobals" @@ -322,29 +334,33 @@ EXPORTS "PyClassMethod_Type" "PyStaticMethod_Type" -; From python24_s.lib(genobject) +; From python25_s.lib(genobject) "PyGen_New" + "PyGen_NeedsFinalizing" "PyGen_Type" -; From python24_s.lib(intobject) +; From python25_s.lib(intobject) "PyInt_AsLong" "PyInt_AsUnsignedLongMask" "PyInt_AsUnsignedLongLongMask" "PyInt_FromString" + "PyInt_AsSsize_t" "PyInt_Fini" "PyInt_FromUnicode" "PyInt_FromLong" + "PyInt_FromSize_t" + "PyInt_FromSsize_t" "PyInt_GetMax" "_PyInt_Init" "PyInt_Type" -; From python24_s.lib(iterobject) +; From python25_s.lib(iterobject) "PySeqIter_New" "PyCallIter_New" "PySeqIter_Type" "PyCallIter_Type" -; From python24_s.lib(listobject) +; From python25_s.lib(listobject) "PyList_New" "PyList_Append" "PyList_Size" @@ -357,27 +373,31 @@ EXPORTS "PyList_Reverse" "PyList_AsTuple" "_PyList_Extend" + "PyList_Fini" "PyList_Type" "PyListIter_Type" "PyListRevIter_Type" -; From python24_s.lib(longobject) +; From python25_s.lib(longobject) "PyLong_FromDouble" "PyLong_AsLong" + "_PyLong_AsSsize_t" "PyLong_AsUnsignedLong" "_PyLong_FromByteArray" "_PyLong_AsByteArray" "PyLong_AsDouble" + "PyLong_FromLongLong" + "PyLong_AsLongLong" "PyLong_FromString" "PyLong_FromLong" "PyLong_FromUnsignedLong" "PyLong_AsUnsignedLongMask" + "_PyLong_FromSize_t" + "_PyLong_FromSsize_t" "_PyLong_AsScaledDouble" "PyLong_FromVoidPtr" "PyLong_AsVoidPtr" - "PyLong_FromLongLong" "PyLong_FromUnsignedLongLong" - "PyLong_AsLongLong" "PyLong_AsUnsignedLongLong" "PyLong_AsUnsignedLongLongMask" "PyLong_FromUnicode" @@ -386,8 +406,9 @@ EXPORTS "_PyLong_New" "_PyLong_Copy" "PyLong_Type" + "_PyLong_DigitValue" -; From python24_s.lib(methodobject) +; From python25_s.lib(methodobject) "PyCFunction_Call" "Py_FindMethodInChain" "PyCFunction_GetFunction" @@ -399,7 +420,7 @@ EXPORTS "PyCFunction_New" "PyCFunction_Type" -; From python24_s.lib(moduleobject) +; From python25_s.lib(moduleobject) "PyModule_New" "_PyModule_Clear" "PyModule_GetDict" @@ -407,10 +428,11 @@ EXPORTS "PyModule_GetFilename" "PyModule_Type" -; From python24_s.lib(object) +; From python25_s.lib(object) "Py_DivisionWarningFlag" "PyObject_Str" "PyObject_Repr" + "_PyObject_Str" "PyObject_Unicode" "PyObject_GetAttr" "PyObject_IsTrue" @@ -459,27 +481,38 @@ EXPORTS "_PyTrash_delete_nesting" "_PyTrash_delete_later" -; From python24_s.lib(obmalloc) +; From python25_s.lib(obmalloc) "PyObject_Malloc" - "PyObject_Realloc" "PyObject_Free" + "PyObject_Realloc" -; From python24_s.lib(rangeobject) - "PyRange_New" +; From python25_s.lib(rangeobject) "PyRange_Type" -; From python24_s.lib(setobject) +; From python25_s.lib(setobject) + "PySet_Pop" + "PySet_New" + "PyFrozenSet_New" + "PySet_Size" + "PySet_Clear" + "PySet_Contains" + "PySet_Discard" + "PySet_Add" + "_PySet_Next" + "_PySet_Update" + "PySet_Fini" "PySet_Type" "PyFrozenSet_Type" -; From python24_s.lib(sliceobject) +; From python25_s.lib(sliceobject) + "_PySlice_FromIndices" "PySlice_GetIndices" "PySlice_GetIndicesEx" "PySlice_New" "_Py_EllipsisObject" "PySlice_Type" -; From python24_s.lib(stringobject) +; From python25_s.lib(stringobject) "PyString_FromStringAndSize" "PyString_InternInPlace" "PyString_FromString" @@ -490,12 +523,12 @@ EXPORTS "PyString_AsDecodedString" "PyString_AsEncodedString" "PyString_DecodeEscape" - "PyString_Size" "PyString_Repr" "PyString_AsStringAndSize" "_PyString_FormatLong" "PyString_Format" "_Py_ReleaseInternedStrings" + "PyString_Size" "PyString_Concat" "PyString_ConcatAndDel" "_PyString_Eq" @@ -510,12 +543,12 @@ EXPORTS "PyString_Type" "PyBaseString_Type" -; From python24_s.lib(structseq) +; From python25_s.lib(structseq) "PyStructSequence_InitType" "PyStructSequence_New" "PyStructSequence_UnnamedField" -; From python24_s.lib(tupleobject) +; From python25_s.lib(tupleobject) "PyTuple_New" "PyTuple_Pack" "_PyTuple_Resize" @@ -527,7 +560,7 @@ EXPORTS "PyTuple_Type" "PyTupleIter_Type" -; From python24_s.lib(typeobject) +; From python25_s.lib(typeobject) "PyType_IsSubtype" "_PyType_Lookup" "PyType_Ready" @@ -538,7 +571,7 @@ EXPORTS "PyBaseObject_Type" "PySuper_Type" -; From python24_s.lib(unicodeobject) +; From python25_s.lib(unicodeobject) "PyUnicodeUCS2_Resize" "PyUnicodeUCS2_FromOrdinal" "PyUnicodeUCS2_FromObject" @@ -561,13 +594,14 @@ EXPORTS "PyUnicodeUCS2_DecodeUnicodeEscape" "PyUnicodeUCS2_DecodeRawUnicodeEscape" "PyUnicodeUCS2_EncodeRawUnicodeEscape" + "_PyUnicode_DecodeUnicodeInternal" "PyUnicodeUCS2_DecodeCharmap" + "PyUnicode_BuildEncodingMap" "PyUnicodeUCS2_EncodeCharmap" "PyUnicodeUCS2_TranslateCharmap" "PyUnicodeUCS2_EncodeDecimal" "PyUnicodeUCS2_Count" "PyUnicodeUCS2_Find" - "PyUnicodeUCS2_Tailmatch" "PyUnicodeUCS2_Join" "PyUnicodeUCS2_Splitlines" "PyUnicodeUCS2_Compare" @@ -578,6 +612,7 @@ EXPORTS "PyUnicodeUCS2_Split" "PyUnicodeUCS2_RSplit" "PyUnicodeUCS2_Format" + "_PyUnicodeUCS2_Init" "_PyUnicodeUCS2_Fini" "PyUnicodeUCS2_FromUnicode" "PyUnicodeUCS2_AsUnicode" @@ -595,12 +630,14 @@ EXPORTS "PyUnicodeUCS2_EncodeLatin1" "PyUnicodeUCS2_EncodeASCII" "PyUnicodeUCS2_AsCharmapString" + "PyUnicodeUCS2_Partition" + "PyUnicodeUCS2_RPartition" "PyUnicodeUCS2_Translate" + "PyUnicodeUCS2_Tailmatch" "PyUnicode_AsDecodedObject" - "_PyUnicodeUCS2_Init" "PyUnicode_Type" -; From python24_s.lib(unicodectype) +; From python25_s.lib(unicodectype) "_PyUnicode_TypeRecords" "_PyUnicodeUCS2_ToNumeric" "_PyUnicodeUCS2_IsLowercase" @@ -618,7 +655,7 @@ EXPORTS "_PyUnicodeUCS2_IsNumeric" "_PyUnicodeUCS2_IsAlpha" -; From python24_s.lib(weakrefobject) +; From python25_s.lib(weakrefobject) "PyWeakref_NewRef" "PyWeakref_NewProxy" "PyObject_ClearWeakRefs" @@ -629,15 +666,111 @@ EXPORTS "_PyWeakref_ProxyType" "_PyWeakref_CallableProxyType" -; From python24_s.lib(bltinmodule) +; From python25_s.lib(Python-ast) +; "init_ast" + "Module" + "Interactive" + "Expression" + "Suite" + "FunctionDef" + "ClassDef" + "Return" + "Delete" + "Assign" + "AugAssign" + "Print" + "For" + "While" + "If" + "With" + "Raise" + "TryExcept" + "TryFinally" + "Assert" + "Import" + "ImportFrom" + "Exec" + "Global" + "Expr" + "Pass" + "Break" + "Continue" + "BoolOp" + "BinOp" + "UnaryOp" + "Lambda" + "IfExp" + "Dict" + "ListComp" + "GeneratorExp" + "Yield" + "Compare" + "Call" + "Repr" + "Num" + "Str" + "Attribute" + "Subscript" + "Name" + "List" + "Tuple" + "Ellipsis" + "Slice" + "ExtSlice" + "Index" + "comprehension" + "excepthandler" + "arguments" + "keyword" + "alias" + "PyAST_mod2obj" + +; From python25_s.lib(asdl) + "asdl_seq_new" + "asdl_int_seq_new" + +; From python25_s.lib(ast) + "PyAST_FromNode" + +; From python25_s.lib(bltinmodule) "_PyBuiltin_Init" "Py_FileSystemDefaultEncoding" -; From python24_s.lib(exceptions) +; From python25_s.lib(exceptions) + "PyUnicodeEncodeError_GetStart" + "PyUnicodeDecodeError_GetStart" + "PyUnicodeEncodeError_GetEnd" + "PyUnicodeDecodeError_GetEnd" + "_PyExc_Init" + "PyUnicodeDecodeError_Create" + "PyUnicodeEncodeError_Create" + "PyUnicodeTranslateError_Create" + "PyUnicodeEncodeError_GetEncoding" + "PyUnicodeDecodeError_GetEncoding" + "PyUnicodeEncodeError_GetObject" + "PyUnicodeDecodeError_GetObject" + "PyUnicodeTranslateError_GetObject" + "PyUnicodeTranslateError_GetStart" + "PyUnicodeEncodeError_SetStart" + "PyUnicodeDecodeError_SetStart" + "PyUnicodeTranslateError_SetStart" + "PyUnicodeTranslateError_GetEnd" + "PyUnicodeEncodeError_SetEnd" + "PyUnicodeDecodeError_SetEnd" + "PyUnicodeTranslateError_SetEnd" + "PyUnicodeEncodeError_GetReason" + "PyUnicodeDecodeError_GetReason" + "PyUnicodeTranslateError_GetReason" + "PyUnicodeEncodeError_SetReason" + "PyUnicodeDecodeError_SetReason" + "PyUnicodeTranslateError_SetReason" + "_PyExc_Fini" + "PyExc_BaseException" "PyExc_Exception" + "PyExc_StandardError" "PyExc_TypeError" "PyExc_StopIteration" - "PyExc_StandardError" + "PyExc_GeneratorExit" "PyExc_SystemExit" "PyExc_KeyboardInterrupt" "PyExc_ImportError" @@ -650,68 +783,39 @@ EXPORTS "PyExc_NameError" "PyExc_UnboundLocalError" "PyExc_AttributeError" + "PyExc_IndexError" "PyExc_SyntaxError" "PyExc_IndentationError" "PyExc_TabError" - "PyExc_AssertionError" "PyExc_LookupError" - "PyExc_IndexError" "PyExc_KeyError" - "PyExc_ArithmeticError" - "PyExc_OverflowError" - "PyExc_ZeroDivisionError" - "PyExc_FloatingPointError" "PyExc_ValueError" "PyExc_UnicodeError" "PyExc_UnicodeEncodeError" "PyExc_UnicodeDecodeError" "PyExc_UnicodeTranslateError" - "PyExc_ReferenceError" + "PyExc_AssertionError" + "PyExc_ArithmeticError" + "PyExc_FloatingPointError" + "PyExc_OverflowError" + "PyExc_ZeroDivisionError" "PyExc_SystemError" + "PyExc_ReferenceError" "PyExc_MemoryError" "PyExc_Warning" "PyExc_UserWarning" "PyExc_DeprecationWarning" "PyExc_PendingDeprecationWarning" "PyExc_SyntaxWarning" - "PyExc_OverflowWarning" "PyExc_RuntimeWarning" "PyExc_FutureWarning" + "PyExc_ImportWarning" "PyExc_MemoryErrorInst" - "PyUnicodeEncodeError_GetStart" - "PyUnicodeDecodeError_GetStart" - "PyUnicodeEncodeError_GetEnd" - "PyUnicodeDecodeError_GetEnd" - "_PyExc_Init" - "_PyExc_Fini" - "PyUnicodeDecodeError_Create" - "PyUnicodeEncodeError_Create" - "PyUnicodeTranslateError_Create" - "PyUnicodeEncodeError_GetEncoding" - "PyUnicodeDecodeError_GetEncoding" - "PyUnicodeEncodeError_GetObject" - "PyUnicodeDecodeError_GetObject" - "PyUnicodeTranslateError_GetObject" - "PyUnicodeTranslateError_GetStart" - "PyUnicodeEncodeError_SetStart" - "PyUnicodeDecodeError_SetStart" - "PyUnicodeTranslateError_SetStart" - "PyUnicodeTranslateError_GetEnd" - "PyUnicodeEncodeError_SetEnd" - "PyUnicodeDecodeError_SetEnd" - "PyUnicodeTranslateError_SetEnd" - "PyUnicodeEncodeError_GetReason" - "PyUnicodeDecodeError_GetReason" - "PyUnicodeTranslateError_GetReason" - "PyUnicodeEncodeError_SetReason" - "PyUnicodeDecodeError_SetReason" - "PyUnicodeTranslateError_SetReason" -; From python24_s.lib(ceval) - "PyEval_EvalFrame" +; From python25_s.lib(ceval) + "PyEval_EvalFrameEx" "PyEval_CallObjectWithKeywords" "PyEval_EvalCodeEx" - "_PyEval_SliceIndex" "PyEval_GetFrame" "PyEval_CallObject" "PyEval_SetProfile" @@ -730,35 +834,31 @@ EXPORTS "PyEval_GetFuncName" "PyEval_GetFuncDesc" "PyEval_GetCallStats" + "PyEval_EvalFrame" "PyEval_SaveThread" "PyEval_RestoreThread" + "PyEval_ThreadsInitialized" "PyEval_InitThreads" "PyEval_AcquireLock" "PyEval_ReleaseLock" "PyEval_AcquireThread" "PyEval_ReleaseThread" "PyEval_ReInitThreads" + "_PyEval_SliceIndex" "PyEval_EvalCode" "_PyEval_CallTracing" "_Py_CheckRecursionLimit" "_Py_CheckInterval" "_Py_Ticker" -; From python24_s.lib(compile) - "PyCode_New" - "PySymtable_Free" - "PyNode_Compile" - "PyNode_CompileFlags" - "PyCode_Addr2Line" +; From python25_s.lib(compile) "_Py_Mangle" - "PyNode_CompileSymtable" + "PyAST_Compile" + "PyNode_Compile" "Py_OptimizeFlag" - "PyCode_Type" -; From python24_s.lib(codecs) +; From python25_s.lib(codecs) "_PyCodec_Lookup" - "PyCodec_StreamReader" - "PyCodec_StreamWriter" "PyCodec_Encode" "PyCodec_Decode" "PyCodec_IgnoreErrors" @@ -768,14 +868,17 @@ EXPORTS "PyCodec_Register" "PyCodec_Encoder" "PyCodec_Decoder" + "PyCodec_IncrementalEncoder" + "PyCodec_IncrementalDecoder" + "PyCodec_StreamReader" + "PyCodec_StreamWriter" "PyCodec_RegisterError" "PyCodec_LookupError" "PyCodec_StrictErrors" -; From python24_s.lib(errors) +; From python25_s.lib(errors) "PyErr_SetNone" "PyErr_SetString" - "PyErr_ExceptionMatches" "PyErr_GivenExceptionMatches" "PyErr_NormalizeException" "PyErr_Fetch" @@ -790,6 +893,7 @@ EXPORTS "PyErr_SetObject" "PyErr_Occurred" "PyErr_Restore" + "PyErr_ExceptionMatches" "PyErr_BadArgument" "PyErr_SetFromErrno" "PyErr_SetFromErrnoWithFilename" @@ -798,42 +902,48 @@ EXPORTS "PyErr_Warn" "PyErr_WarnExplicit" -; From python24_s.lib(frozen) +; From python25_s.lib(frozen) "PyImport_FrozenModules" -; From python24_s.lib(frozenmain) +; From python25_s.lib(frozenmain) "Py_FrozenMain" -; From python24_s.lib(future) - "PyNode_Future" +; From python25_s.lib(future) + "PyFuture_FromAST" -; From python24_s.lib(getargs) +; From python25_s.lib(getargs) "PyArg_Parse" + "_PyArg_Parse_SizeT" "PyArg_ParseTuple" + "_PyArg_ParseTuple_SizeT" "PyArg_ParseTupleAndKeywords" + "_PyArg_ParseTupleAndKeywords_SizeT" "PyArg_UnpackTuple" + "_PyArg_NoKeywords" "PyArg_VaParse" "PyArg_VaParseTupleAndKeywords" + "_PyArg_VaParse_SizeT" + "_PyArg_VaParseTupleAndKeywords_SizeT" -; From python24_s.lib(getcompiler) +; From python25_s.lib(getcompiler) "Py_GetCompiler" -; From python24_s.lib(getcopyright) +; From python25_s.lib(getcopyright) "Py_GetCopyright" -; From python24_s.lib(getmtime) +; From python25_s.lib(getmtime) "PyOS_GetLastModificationTime" -; From python24_s.lib(getplatform) +; From python25_s.lib(getplatform) "Py_GetPlatform" -; From python24_s.lib(getversion) +; From python25_s.lib(getversion) "Py_GetVersion" -; From python24_s.lib(graminit) +; From python25_s.lib(graminit) "_PyParser_Grammar" -; From python24_s.lib(import) +; From python25_s.lib(import) "_PyImport_Init" "_PyImportHooks_Init" "PyImport_ImportModule" @@ -843,6 +953,7 @@ EXPORTS "PyImport_ExecCodeModuleEx" "PyImport_ImportFrozenModule" "PyImport_ImportModuleEx" + "PyImport_ImportModuleLevel" "PyImport_ReloadModule" "PyImport_Import" ; "initimp" @@ -850,16 +961,19 @@ EXPORTS "PyImport_GetMagicNumber" "PyImport_ExecCodeModule" "PyImport_GetModuleDict" + "_PyImport_FindModule" + "_PyImport_IsScript" + "_PyImport_ReInitLock" "_PyImport_FindExtension" "PyImport_AppendInittab" "PyImport_ExtendInittab" "PyImport_Inittab" "_PyImport_Filetab" -; From python24_s.lib(importdl) +; From python25_s.lib(importdl) "_PyImport_LoadDynamicModule" -; From python24_s.lib(marshal) +; From python25_s.lib(marshal) "PyMarshal_ReadLongFromFile" "PyMarshal_WriteObjectToString" "PyMarshal_WriteLongToFile" @@ -870,31 +984,40 @@ EXPORTS "PyMarshal_ReadObjectFromString" "PyMarshal_Init" -; From python24_s.lib(modsupport) +; From python25_s.lib(modsupport) "Py_InitModule4" "Py_BuildValue" - "Py_VaBuildValue" + "_Py_BuildValue_SizeT" "PyEval_CallFunction" "PyEval_CallMethod" + "_Py_VaBuildValue_SizeT" + "Py_VaBuildValue" "PyModule_AddObject" "PyModule_AddIntConstant" "PyModule_AddStringConstant" "_Py_PackageContext" -; From python24_s.lib(mysnprintf) +; From python25_s.lib(mysnprintf) "PyOS_snprintf" "PyOS_vsnprintf" -; From python24_s.lib(mystrtoul) +; From python25_s.lib(mystrtoul) "PyOS_strtoul" "PyOS_strtol" -; From python24_s.lib(pyfpe) +; From python25_s.lib(pyarena) + "PyArena_New" + "PyArena_Free" + "PyArena_Malloc" + "PyArena_AddPyObject" + +; From python25_s.lib(pyfpe) "PyFPE_dummy" -; From python24_s.lib(pystate) +; From python25_s.lib(pystate) "PyInterpreterState_Clear" "PyThreadState_Clear" + "_PyThread_CurrentFrames" "PyGILState_Ensure" "PyGILState_Release" "PyInterpreterState_New" @@ -916,12 +1039,12 @@ EXPORTS "_PyThreadState_Current" "_PyThreadState_GetFrame" -; From python24_s.lib(pystrtod) +; From python25_s.lib(pystrtod) "PyOS_ascii_strtod" "PyOS_ascii_formatd" "PyOS_ascii_atof" -; From python24_s.lib(pythonrun) +; From python25_s.lib(pythonrun) "Py_IgnoreEnvironmentFlag" "Py_DebugFlag" "Py_VerboseFlag" @@ -933,6 +1056,7 @@ EXPORTS "Py_NewInterpreter" "PyErr_Print" "PyRun_InteractiveOneFlags" + "PyParser_ASTFromFile" "PyRun_SimpleFileExFlags" "PyRun_FileExFlags" "Py_Exit" @@ -946,29 +1070,15 @@ EXPORTS "Py_Finalize" "Py_IsInitialized" "Py_EndInterpreter" - "PyRun_AnyFile" - "PyRun_AnyFileExFlags" - "PyRun_AnyFileEx" "PyRun_AnyFileFlags" "Py_FdIsInteractive" "PyRun_InteractiveLoopFlags" - "PyRun_SimpleString" + "PyRun_AnyFileExFlags" "PyRun_SimpleStringFlags" "PyRun_StringFlags" - "PyRun_SimpleFile" - "PyRun_SimpleFileEx" - "PyRun_InteractiveOne" - "PyRun_InteractiveLoop" - "PyParser_SimpleParseString" - "PyParser_SimpleParseFile" + "PyParser_ASTFromString" "PyParser_SimpleParseStringFlags" - "PyParser_SimpleParseStringFlagsFilename" "PyParser_SimpleParseFileFlags" - "PyRun_String" - "PyRun_File" - "PyRun_FileEx" - "PyRun_FileFlags" - "Py_CompileString" "Py_CompileStringFlags" "Py_SymtableString" "Py_AtExit" @@ -976,49 +1086,69 @@ EXPORTS "PyOS_setsig" "PyParser_SetError" "PyModule_GetWarningsModule" + "PyParser_SimpleParseStringFlagsFilename" "PyParser_SimpleParseStringFilename" + "PyParser_SimpleParseFile" + "PyParser_SimpleParseString" + "PyRun_AnyFile" + "PyRun_AnyFileEx" + "PyRun_File" + "PyRun_FileEx" + "PyRun_FileFlags" + "PyRun_SimpleFile" + "PyRun_SimpleFileEx" + "PyRun_String" + "PyRun_SimpleString" + "Py_CompileString" + "PyRun_InteractiveOne" + "PyRun_InteractiveLoop" "Py_UseClassExceptionsFlag" "Py_UnicodeFlag" "_Py_QnewFlag" -; From python24_s.lib(structmember) +; From python25_s.lib(structmember) "PyMember_Get" "PyMember_GetOne" "PyMember_SetOne" "PyMember_Set" -; From python24_s.lib(symtable) - "PySymtableEntry_New" - "PySymtableEntry_Type" +; From python25_s.lib(symtable) + "PySymtable_Build" + "PySymtable_Free" + "PyST_GetScope" + "PySymtable_Lookup" + "PySTEntry_Type" -; From python24_s.lib(sysmodule) +; From python25_s.lib(sysmodule) "_PySys_Init" + "PySys_WriteStderr" "PySys_SetPath" "PySys_SetArgv" "PySys_WriteStdout" - "PySys_WriteStderr" + "Py_SubversionRevision" + "Py_SubversionShortBranch" "PySys_GetObject" "PySys_SetObject" "PySys_GetFile" "PySys_ResetWarnOptions" "PySys_AddWarnOption" -; From python24_s.lib(traceback) +; From python25_s.lib(traceback) "PyTraceBack_Here" "PyTraceBack_Print" "PyTraceBack_Type" -; From python24_s.lib(getopt) +; From python25_s.lib(getopt) "_PyOS_GetOpt" "_PyOS_opterr" "_PyOS_optind" "_PyOS_optarg" -; From python24_s.lib(dynload_shlib) +; From python25_s.lib(dynload_shlib) "_PyImport_DynLoadFiletab" "_PyImport_GetDynLoadFunc" -; From python24_s.lib(thread) +; From python25_s.lib(thread) "PyThread_delete_key_value" "PyThread_init_thread" "PyThread_start_new_thread" @@ -1028,13 +1158,15 @@ EXPORTS "PyThread_free_lock" "PyThread_acquire_lock" "PyThread_release_lock" + "PyThread_get_stacksize" + "PyThread_set_stacksize" "PyThread_create_key" "PyThread_delete_key" "PyThread_set_key_value" "PyThread_get_key_value" "PyThread__exit_thread" -; From python24_s.lib(gcmodule) +; From python25_s.lib(gcmodule) ; "initgc" "_PyObject_GC_New" "_PyObject_GC_NewVar" @@ -1050,7 +1182,7 @@ EXPORTS "_PyObject_GC_Del" "_PyGC_generation0" -; From python24_s.lib(signalmodule) +; From python25_s.lib(signalmodule) ; "initsignal" "PyErr_CheckSignals" "PyErr_SetInterrupt" @@ -1059,115 +1191,124 @@ EXPORTS "PyOS_InitInterrupts" "PyOS_AfterFork" -; From python24_s.lib(posixmodule) +; From python25_s.lib(posixmodule) ; "initos2" -; From python24_s.lib(threadmodule) +; From python25_s.lib(threadmodule) ; "initthread" -; From python24_s.lib(arraymodule) +; From python25_s.lib(arraymodule) ; "initarray" ; "array_methods" -; From python24_s.lib(binascii) +; From python25_s.lib(binascii) ; "initbinascii" -; From python24_s.lib(cmathmodule) +; From python25_s.lib(cmathmodule) ; "initcmath" -; From python24_s.lib(_codecsmodule) +; From python25_s.lib(_codecsmodule) ; "init_codecs" -; From python24_s.lib(collectionsmodule) +; From python25_s.lib(collectionsmodule) ; "initcollections" "dequeiter_type" "dequereviter_type" -; From python24_s.lib(cPickle) +; From python25_s.lib(cPickle) ; "initcPickle" ; "fast_save_leave" -; From python24_s.lib(cStringIO) +; From python25_s.lib(cStringIO) ; "initcStringIO" -; From python24_s.lib(_csv) +; From python25_s.lib(_csv) ; "init_csv" -; From python24_s.lib(datetimemodule) +; From python25_s.lib(datetimemodule) ; "initdatetime" -; From python24_s.lib(dlmodule) +; From python25_s.lib(dlmodule) ; "initdl" -; From python24_s.lib(errnomodule) +; From python25_s.lib(errnomodule) ; "initerrno" -; From python24_s.lib(fcntlmodule) +; From python25_s.lib(fcntlmodule) ; "initfcntl" -; From python24_s.lib(_heapqmodule) +; From python25_s.lib(_functoolsmodule) +; "init_functools" + +; From python25_s.lib(_heapqmodule) ; "init_heapq" -; From python24_s.lib(imageop) +; From python25_s.lib(imageop) ; "initimageop" -; From python24_s.lib(itertoolsmodule) +; From python25_s.lib(itertoolsmodule) ; "inititertools" -; From python24_s.lib(_localemodule) +; From python25_s.lib(_localemodule) ; "init_locale" -; From python24_s.lib(mathmodule) +; From python25_s.lib(mathmodule) ; "initmath" -; From python24_s.lib(md5c) -; "_Py_MD5Final" -; "_Py_MD5Init" -; "_Py_MD5Update" +; From python25_s.lib(md5) + "md5_finish" + "md5_init" + "md5_append" -; From python24_s.lib(md5module) -; "initmd5" +; From python25_s.lib(md5module) +; "init_md5" -; From python24_s.lib(operator) +; From python25_s.lib(operator) ; "initoperator" -; From python24_s.lib(_randommodule) +; From python25_s.lib(_randommodule) ; "init_random" -; From python24_s.lib(rgbimgmodule) +; From python25_s.lib(rgbimgmodule) ; "initrgbimg" -; From python24_s.lib(shamodule) -; "initsha" +; From python25_s.lib(shamodule) +; "init_sha" + +; From python25_s.lib(sha256module) +; "init_sha256" + +; From python25_s.lib(sha512module) +; "init_sha512" -; From python24_s.lib(_sre) +; From python25_s.lib(_sre) ; "init_sre" -; From python24_s.lib(stropmodule) +; From python25_s.lib(stropmodule) ; "initstrop" -; From python24_s.lib(structmodule) -; "initstruct" +; From python25_s.lib(_struct) +; "init_struct" -; From python24_s.lib(symtablemodule) +; From python25_s.lib(symtablemodule) ; "init_symtable" -; From python24_s.lib(termios) +; From python25_s.lib(termios) ; "inittermios" -; From python24_s.lib(timemodule) +; From python25_s.lib(timemodule) ; "inittime" "_PyTime_DoubleToTimet" ; "inittimezone" -; From python24_s.lib(timingmodule) +; From python25_s.lib(timingmodule) ; "inittiming" -; From python24_s.lib(_weakref) +; From python25_s.lib(_weakref) ; "init_weakref" -; From python24_s.lib(xxsubtype) +; From python25_s.lib(xxsubtype) ; "initxxsubtype" -; From python24_s.lib(zipimport) +; From python25_s.lib(zipimport) ; "initzipimport" diff --git a/PC/os2vacpp/pyconfig.h b/PC/os2vacpp/pyconfig.h index c858fe9..97f9b80 100644 --- a/PC/os2vacpp/pyconfig.h +++ b/PC/os2vacpp/pyconfig.h @@ -112,6 +112,10 @@ typedef int pid_t; #define HAVE_HYPOT 1 /* hypot() */ #define HAVE_PUTENV 1 /* putenv() */ /* #define VA_LIST_IS_ARRAY 1 */ /* if va_list is an array of some kind */ +/* #define HAVE_CONIO_H 1 */ /* #include <conio.h> */ +#define HAVE_ERRNO_H 1 /* #include <errno.h> */ +#define HAVE_SYS_STAT_H 1 /* #include <sys/stat.h> */ +#define HAVE_SYS_TYPES_H 1 /* #include <sys/types.h> */ /* Variable-Arguments/Prototypes */ #define HAVE_PROTOTYPES 1 /* VAC++ supports C Function Prototypes */ @@ -124,6 +128,7 @@ typedef int pid_t; #define MALLOC_ZERO_RETURNS_NULL 1 /* Our malloc(0) returns a NULL ptr */ /* Signal Handling */ +#define HAVE_SIGNAL_H 1 /* signal.h */ #define RETSIGTYPE void /* Return type of handlers (int or void) */ /* #undef WANT_SIGFPE_HANDLER */ /* Handle SIGFPE (see Include/pyfpe.h) */ /* #define HAVE_ALARM 1 */ /* alarm() */ @@ -163,7 +168,9 @@ typedef int pid_t; #define HAVE_SETVBUF 1 /* setvbuf() */ #define HAVE_GETCWD 1 /* getcwd() */ #define HAVE_PIPE 1 /* pipe() [OS/2-specific code added] */ +#define HAVE_IO_H 1 /* #include <io.h> */ #define HAVE_FCNTL_H 1 /* #include <fcntl.h> */ +#define HAVE_DIRECT_H 1 /* #include <direct.h> */ /* #define HAVE_FLOCK 1 */ /* flock() */ /* #define HAVE_TRUNCATE 1 */ /* truncate() */ /* #define HAVE_FTRUNCATE 1 */ /* ftruncate() */ @@ -172,6 +179,7 @@ typedef int pid_t; /* #define HAVE_OPENDIR 1 */ /* opendir() */ /* Process Operations */ +#define HAVE_PROCESS_H 1 /* #include <process.h> */ #define HAVE_GETPID 1 /* getpid() */ #define HAVE_SYSTEM 1 /* system() */ #define HAVE_WAIT 1 /* wait() */ diff --git a/PC/pyconfig.h b/PC/pyconfig.h index cb42131..e0df673 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -78,8 +78,15 @@ MS_CORE_DLL. #endif #ifdef MS_WINCE -#define DONT_HAVE_SYS_STAT_H -#define DONT_HAVE_ERRNO_H +/* Python uses GetVersion() to distinguish between + * Windows NT and 9x/ME where OS Unicode support is concerned. + * Windows CE supports Unicode in the same way as NT so we + * define the missing GetVersion() accordingly. + */ +#define GetVersion() (4) +/* Windows CE does not support environment variables */ +#define getenv(v) (NULL) +#define environ (NULL) #endif /* Compiler specific defines */ @@ -164,6 +171,12 @@ typedef int pid_t; #define Py_IS_INFINITY(X) (!_finite(X) && !_isnan(X)) #define Py_IS_FINITE(X) _finite(X) +/* Turn off warnings about deprecated C runtime functions in + VisualStudio .NET 2005 */ +#if _MSC_VER >= 1400 && !defined _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE +#endif + #endif /* _MSC_VER */ /* define some ANSI types that are not defined in earlier Win headers */ @@ -350,6 +363,16 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define to empty if the keyword does not work. */ /* #define const */ +/* Define to 1 if you have the <conio.h> header file. */ +#ifndef MS_WINCE +#define HAVE_CONIO_H 1 +#endif + +/* Define to 1 if you have the <direct.h> header file. */ +#ifndef MS_WINCE +#define HAVE_DIRECT_H 1 +#endif + /* Define if you have dirent.h. */ /* #define DIRENT 1 */ @@ -555,11 +578,26 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define if you have the <dlfcn.h> header file. */ /* #undef HAVE_DLFCN_H */ +/* Define to 1 if you have the <errno.h> header file. */ +#ifndef MS_WINCE +#define HAVE_ERRNO_H 1 +#endif + /* Define if you have the <fcntl.h> header file. */ #ifndef MS_WINCE #define HAVE_FCNTL_H 1 #endif +/* Define to 1 if you have the <process.h> header file. */ +#ifndef MS_WINCE +#define HAVE_PROCESS_H 1 +#endif + +/* Define to 1 if you have the <signal.h> header file. */ +#ifndef MS_WINCE +#define HAVE_SIGNAL_H 1 +#endif + /* Define if you have the <stdarg.h> prototypes. */ #define HAVE_STDARG_PROTOTYPES @@ -575,12 +613,22 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define if you have the <sys/select.h> header file. */ /* #define HAVE_SYS_SELECT_H 1 */ +/* Define to 1 if you have the <sys/stat.h> header file. */ +#ifndef MS_WINCE +#define HAVE_SYS_STAT_H 1 +#endif + /* Define if you have the <sys/time.h> header file. */ /* #define HAVE_SYS_TIME_H 1 */ /* Define if you have the <sys/times.h> header file. */ /* #define HAVE_SYS_TIMES_H 1 */ +/* Define to 1 if you have the <sys/types.h> header file. */ +#ifndef MS_WINCE +#define HAVE_SYS_TYPES_H 1 +#endif + /* Define if you have the <sys/un.h> header file. */ /* #define HAVE_SYS_UN_H 1 */ diff --git a/PC/winsound.c b/PC/winsound.c index bc30ccc..4e94230 100644 --- a/PC/winsound.c +++ b/PC/winsound.c @@ -37,8 +37,10 @@ #include <windows.h> #include <mmsystem.h> -#include <conio.h> /* port functions on Win9x */ #include <Python.h> +#ifdef HAVE_CONIO_H +#include <conio.h> /* port functions on Win9x */ +#endif PyDoc_STRVAR(sound_playsound_doc, "PlaySound(sound, flags) - a wrapper around the Windows PlaySound API\n" @@ -145,7 +147,7 @@ sound_beep(PyObject *self, PyObject *args) return NULL; } } -#ifdef _M_IX86 +#if defined(_M_IX86) && defined(HAVE_CONIO_H) else if (whichOS == Win9X) { int speaker_state; /* Force timer into oscillator mode via timer control port. */ @@ -170,7 +172,7 @@ sound_beep(PyObject *self, PyObject *args) /* Restore speaker control to original state. */ _outp(0x61, speaker_state); } -#endif /* _M_IX86 */ +#endif /* _M_IX86 && HAVE_CONIO_H */ else { assert(!"winsound's whichOS has insane value"); } |