summaryrefslogtreecommitdiffstats
path: root/PC
diff options
context:
space:
mode:
Diffstat (limited to 'PC')
-rw-r--r--PC/_winreg.c2
-rw-r--r--PC/config.c3
-rw-r--r--PC/getpathp.c10
-rw-r--r--PC/os2emx/Makefile24
-rw-r--r--PC/os2emx/README.os2emx29
-rw-r--r--PC/os2emx/config.c18
-rw-r--r--PC/os2emx/pyconfig.h31
-rw-r--r--PC/os2emx/python25.def (renamed from PC/os2emx/python24.def)577
-rw-r--r--PC/os2vacpp/pyconfig.h8
-rw-r--r--PC/pyconfig.h52
-rw-r--r--PC/winsound.c8
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");
}