From ab70e2ab3264c444ac70a1c98e869b0de0b22c4a Mon Sep 17 00:00:00 2001 From: Jesus Cea Date: Fri, 5 Oct 2012 01:48:08 +0200 Subject: [PATCH] #16135: Removal of OS/2 support (posixmodule y platform dependent files) --- Modules/main.c | 6 +- Modules/posixmodule.c | 554 +------------- PC/os2emx/Makefile | 672 ----------------- PC/os2emx/README.os2emx | 663 ---------------- PC/os2emx/config.c | 164 ---- PC/os2emx/dlfcn.c | 223 ------ PC/os2emx/dlfcn.h | 51 -- PC/os2emx/dllentry.c | 42 -- PC/os2emx/getpathp.c | 418 ---------- PC/os2emx/pyconfig.h | 332 -------- PC/os2emx/python34.def | 1314 -------------------------------- PC/os2emx/pythonpm.c | 124 --- PC/os2vacpp/_tkinter.def | 8 - PC/os2vacpp/config.c | 99 --- PC/os2vacpp/getpathp.c | 482 ------------ PC/os2vacpp/makefile | 1549 -------------------------------------- PC/os2vacpp/makefile.omk | 1047 -------------------------- PC/os2vacpp/pyconfig.h | 212 ------ PC/os2vacpp/python.def | 479 ------------ PC/os2vacpp/readme.txt | 119 --- 20 files changed, 9 insertions(+), 8549 deletions(-) delete mode 100644 PC/os2emx/Makefile delete mode 100644 PC/os2emx/README.os2emx delete mode 100644 PC/os2emx/config.c delete mode 100644 PC/os2emx/dlfcn.c delete mode 100644 PC/os2emx/dlfcn.h delete mode 100644 PC/os2emx/dllentry.c delete mode 100644 PC/os2emx/getpathp.c delete mode 100644 PC/os2emx/pyconfig.h delete mode 100644 PC/os2emx/python34.def delete mode 100644 PC/os2emx/pythonpm.c delete mode 100644 PC/os2vacpp/_tkinter.def delete mode 100644 PC/os2vacpp/config.c delete mode 100644 PC/os2vacpp/getpathp.c delete mode 100644 PC/os2vacpp/makefile delete mode 100644 PC/os2vacpp/makefile.omk delete mode 100644 PC/os2vacpp/pyconfig.h delete mode 100644 PC/os2vacpp/python.def delete mode 100644 PC/os2vacpp/readme.txt diff --git a/Modules/main.c b/Modules/main.c index a16ce65cd13..d63c49a4593 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -22,15 +22,11 @@ #include #endif -#if (defined(PYOS_OS2) && !defined(PYCC_GCC)) || defined(MS_WINDOWS) +#if defined(MS_WINDOWS) #define PYTHONHOMEHELP "\\lib" #else -#if defined(PYOS_OS2) && defined(PYCC_GCC) -#define PYTHONHOMEHELP "/Lib" -#else #define PYTHONHOMEHELP "/pythonX.X" #endif -#endif #include "pygetopt.h" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index bd94ffb5fe5..1089ae399be 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1,15 +1,12 @@ /* POSIX module implementation */ -/* This file is also used for Windows NT/MS-Win and OS/2. In that case the - module actually calls itself 'nt' or 'os2', not 'posix', and a few +/* This file is also used for Windows NT/MS-Win. In that case the + module actually calls itself 'nt', not 'posix', and a few functions are either unimplemented or implemented differently. The source assumes that for Windows NT, the macro 'MS_WINDOWS' is defined independent of the compiler used. Different compilers define their own feature - test macro, e.g. '__BORLANDC__' or '_MSC_VER'. For OS/2, the compiler - independent macro PYOS_OS2 should be defined. On OS/2 the default - compiler is assumed to be IBM's VisualAge C++ (VACPP). PYCC_GCC is used - as the compiler specific macro for the EMX port of gcc to OS/2. */ + test macro, e.g. '__BORLANDC__' or '_MSC_VER'. */ #ifdef __APPLE__ /* @@ -43,22 +40,6 @@ disguised Unix interface). Refer to the library manual and\n\ corresponding Unix manual entries for more information on calls."); -#if defined(PYOS_OS2) -#error "PEP 11: OS/2 is now unsupported, code will be removed in Python 3.4" -#define INCL_DOS -#define INCL_DOSERRORS -#define INCL_DOSPROCESS -#define INCL_NOPMAPI -#include -#if defined(PYCC_GCC) -#include -#include -#include -#include -#endif -#include "osdefs.h" -#endif - #ifdef HAVE_SYS_UIO_H #include #endif @@ -143,17 +124,10 @@ corresponding Unix manual entries for more information on calls."); /* Various compilers have only certain posix functions */ /* XXX Gosh I wish these were all moved into pyconfig.h */ -#if defined(PYCC_VACPP) && defined(PYOS_OS2) -#include -#else #if defined(__WATCOMC__) && !defined(__QNX__) /* Watcom compiler */ #define HAVE_GETCWD 1 #define HAVE_OPENDIR 1 #define HAVE_SYSTEM 1 -#if defined(__OS2__) -#define HAVE_EXECV 1 -#define HAVE_WAIT 1 -#endif #include #else #ifdef __BORLANDC__ /* Borland compiler */ @@ -176,8 +150,8 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_FSYNC 1 #define fsync _commit #else -#if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS) -/* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */ +#if defined(__VMS) +/* Everything needed is defined in vms/pyconfig.h */ #else /* all other compilers */ /* Unix functions that the configure script doesn't check for */ #define HAVE_EXECV 1 @@ -197,11 +171,10 @@ corresponding Unix manual entries for more information on calls."); #define HAVE_SYSTEM 1 #define HAVE_WAIT 1 #define HAVE_TTYNAME 1 -#endif /* PYOS_OS2 && PYCC_GCC && __VMS */ +#endif /* __VMS */ #endif /* _MSC_VER */ #endif /* __BORLANDC__ */ #endif /* ! __WATCOMC__ || __QNX__ */ -#endif /* ! __IBMC__ */ @@ -332,10 +305,6 @@ static int win32_can_symlink = 0; #endif #endif /* _MSC_VER */ -#if defined(PYCC_VACPP) && defined(PYOS_OS2) -#include -#endif /* OS2 */ - #ifndef MAXPATHLEN #if defined(PATH_MAX) && PATH_MAX > 1024 #define MAXPATHLEN PATH_MAX @@ -970,10 +939,6 @@ convertenviron(void) #else char **e; #endif -#if defined(PYOS_OS2) - APIRET rc; - char buffer[1024]; /* OS/2 Provides a Documented Max of 1024 Chars */ -#endif d = PyDict_New(); if (d == NULL) @@ -1041,20 +1006,6 @@ convertenviron(void) Py_DECREF(k); Py_DECREF(v); } -#endif -#if defined(PYOS_OS2) - rc = DosQueryExtLIBPATH(buffer, BEGIN_LIBPATH); - if (rc == NO_ERROR) { /* (not a type, envname is NOT 'BEGIN_LIBPATH') */ - PyObject *v = PyBytes_FromString(buffer); - PyDict_SetItemString(d, "BEGINLIBPATH", v); - Py_DECREF(v); - } - rc = DosQueryExtLIBPATH(buffer, END_LIBPATH); - if (rc == NO_ERROR) { /* (not a typo, envname is NOT 'END_LIBPATH') */ - PyObject *v = PyBytes_FromString(buffer); - PyDict_SetItemString(d, "ENDLIBPATH", v); - Py_DECREF(v); - } #endif return d; } @@ -1155,83 +1106,6 @@ path_error(char *function_name, path_t *path) #endif } -#if defined(PYOS_OS2) -/********************************************************************** - * Helper Function to Trim and Format OS/2 Messages - **********************************************************************/ -static void -os2_formatmsg(char *msgbuf, int msglen, char *reason) -{ - msgbuf[msglen] = '\0'; /* OS/2 Doesn't Guarantee a Terminator */ - - if (strlen(msgbuf) > 0) { /* If Non-Empty Msg, Trim CRLF */ - char *lastc = &msgbuf[ strlen(msgbuf)-1 ]; - - while (lastc > msgbuf && isspace(Py_CHARMASK(*lastc))) - *lastc-- = '\0'; /* Trim Trailing Whitespace (CRLF) */ - } - - /* Add Optional Reason Text */ - if (reason) { - strcat(msgbuf, " : "); - strcat(msgbuf, reason); - } -} - -/********************************************************************** - * Decode an OS/2 Operating System Error Code - * - * A convenience function to lookup an OS/2 error code and return a - * text message we can use to raise a Python exception. - * - * Notes: - * The messages for errors returned from the OS/2 kernel reside in - * the file OSO001.MSG in the \OS2 directory hierarchy. - * - **********************************************************************/ -static char * -os2_strerror(char *msgbuf, int msgbuflen, int errorcode, char *reason) -{ - APIRET rc; - ULONG msglen; - - /* Retrieve Kernel-Related Error Message from OSO001.MSG File */ - Py_BEGIN_ALLOW_THREADS - rc = DosGetMessage(NULL, 0, msgbuf, msgbuflen, - errorcode, "oso001.msg", &msglen); - Py_END_ALLOW_THREADS - - if (rc == NO_ERROR) - os2_formatmsg(msgbuf, msglen, reason); - else - PyOS_snprintf(msgbuf, msgbuflen, - "unknown OS error #%d", errorcode); - - return msgbuf; -} - -/* Set an OS/2-specific error and return NULL. OS/2 kernel - errors are not in a global variable e.g. 'errno' nor are - they congruent with posix error numbers. */ - -static PyObject * -os2_error(int code) -{ - char text[1024]; - PyObject *v; - - os2_strerror(text, sizeof(text), code, ""); - - v = Py_BuildValue("(is)", code, text); - if (v != NULL) { - PyErr_SetObject(PyExc_OSError, v); - Py_DECREF(v); - } - return NULL; /* Signal to Python that an Exception is Pending */ -} - -#endif /* OS2 */ - /* POSIX generic methods */ static PyObject * @@ -2569,8 +2443,6 @@ posix_chdir(PyObject *self, PyObject *args, PyObject *kwargs) else result = win32_chdir(path.narrow); result = !result; /* on unix, success = 0, on windows, success = !0 */ -#elif defined(PYOS_OS2) && defined(PYCC_GCC) - result = _chdir2(path.narrow); #else #ifdef HAVE_FCHDIR if (path.fd != -1) @@ -3145,11 +3017,7 @@ posix_getcwd(int use_bytes) #endif Py_BEGIN_ALLOW_THREADS -#if defined(PYOS_OS2) && defined(PYCC_GCC) - res = _getcwd2(buf, sizeof buf); -#else res = getcwd(buf, sizeof buf); -#endif Py_END_ALLOW_THREADS if (res == NULL) return posix_error(); @@ -3313,17 +3181,6 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs) Py_ssize_t len = sizeof(namebuf)-5; PyObject *po = NULL; wchar_t *wnamebuf = NULL; -#elif defined(PYOS_OS2) -#ifndef MAX_PATH -#define MAX_PATH CCHMAXPATH -#endif - char *pt; - PyObject *v; - char namebuf[MAX_PATH+5]; - HDIR hdir = 1; - ULONG srchcnt = 1; - FILEFINDBUF3 ep; - APIRET rc; #else PyObject *v; DIR *dirp = NULL; @@ -3485,68 +3342,6 @@ exit: return list; -#elif defined(PYOS_OS2) - if (path.length >= MAX_PATH) { - PyErr_SetString(PyExc_ValueError, "path too long"); - goto exit; - } - strcpy(namebuf, path.narrow); - for (pt = namebuf; *pt; pt++) - if (*pt == ALTSEP) - *pt = SEP; - if (namebuf[len-1] != SEP) - namebuf[len++] = SEP; - strcpy(namebuf + len, "*.*"); - - if ((list = PyList_New(0)) == NULL) { - goto exit; - } - - rc = DosFindFirst(namebuf, /* Wildcard Pattern to Match */ - &hdir, /* Handle to Use While Search Directory */ - FILE_READONLY | FILE_HIDDEN | FILE_SYSTEM | FILE_DIRECTORY, - &ep, sizeof(ep), /* Structure to Receive Directory Entry */ - &srchcnt, /* Max and Actual Count of Entries Per Iteration */ - FIL_STANDARD); /* Format of Entry (EAs or Not) */ - - if (rc != NO_ERROR) { - errno = ENOENT; - Py_DECREF(list); - list = posix_error_with_filename(path.narrow); - goto exit; - } - - if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */ - do { - if (ep.achName[0] == '.' - && (ep.achName[1] == '\0' || (ep.achName[1] == '.' && ep.achName[2] == '\0'))) - continue; /* Skip Over "." and ".." Names */ - - strcpy(namebuf, ep.achName); - - /* Leave Case of Name Alone -- In Native Form */ - /* (Removed Forced Lowercasing Code) */ - - v = PyBytes_FromString(namebuf); - if (v == NULL) { - Py_DECREF(list); - list = NULL; - break; - } - if (PyList_Append(list, v) != 0) { - Py_DECREF(v); - Py_DECREF(list); - list = NULL; - break; - } - Py_DECREF(v); - } while (DosFindNext(hdir, &ep, sizeof(ep), &srchcnt) == NO_ERROR && srchcnt > 0); - } - -exit: - path_cleanup(&path); - - return list; #else errno = 0; @@ -4852,10 +4647,6 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr) goto error; } -#if defined(PYOS_OS2) - /* Omit Pseudo-Env Vars that Would Confuse Programs if Passed On */ - if (stricmp(k, "BEGINLIBPATH") != 0 && stricmp(k, "ENDLIBPATH") != 0) { -#endif k = PyBytes_AsString(key2); v = PyBytes_AsString(val2); len = PyBytes_GET_SIZE(key2) + PyBytes_GET_SIZE(val2) + 2; @@ -4871,9 +4662,6 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr) envlist[envc++] = p; Py_DECREF(key2); Py_DECREF(val2); -#if defined(PYOS_OS2) - } -#endif } Py_DECREF(vals); Py_DECREF(keys); @@ -5114,18 +4902,12 @@ posix_spawnv(PyObject *self, PyObject *args) } argvlist[argc] = NULL; -#if defined(PYOS_OS2) && defined(PYCC_GCC) - Py_BEGIN_ALLOW_THREADS - spawnval = spawnv(mode, path, argvlist); - Py_END_ALLOW_THREADS -#else if (mode == _OLD_P_OVERLAY) mode = _P_OVERLAY; Py_BEGIN_ALLOW_THREADS spawnval = _spawnv(mode, path, argvlist); Py_END_ALLOW_THREADS -#endif free_string_array(argvlist, argc); Py_DECREF(opath); @@ -5213,18 +4995,12 @@ posix_spawnve(PyObject *self, PyObject *args) if (envlist == NULL) goto fail_1; -#if defined(PYOS_OS2) && defined(PYCC_GCC) - Py_BEGIN_ALLOW_THREADS - spawnval = spawnve(mode, path, argvlist, envlist); - Py_END_ALLOW_THREADS -#else if (mode == _OLD_P_OVERLAY) mode = _P_OVERLAY; Py_BEGIN_ALLOW_THREADS spawnval = _spawnve(mode, path, argvlist, envlist); Py_END_ALLOW_THREADS -#endif if (spawnval == -1) (void) posix_error(); @@ -5245,183 +5021,6 @@ posix_spawnve(PyObject *self, PyObject *args) return res; } -/* OS/2 supports spawnvp & spawnvpe natively */ -#if defined(PYOS_OS2) -PyDoc_STRVAR(posix_spawnvp__doc__, -"spawnvp(mode, file, args)\n\n\ -Execute the program 'file' in a new process, using the environment\n\ -search path to find the file.\n\ -\n\ - mode: mode of process creation\n\ - file: executable file name\n\ - args: tuple or list of strings"); - -static PyObject * -posix_spawnvp(PyObject *self, PyObject *args) -{ - PyObject *opath; - char *path; - PyObject *argv; - char **argvlist; - int mode, i, argc; - Py_intptr_t spawnval; - PyObject *(*getitem)(PyObject *, Py_ssize_t); - - /* spawnvp has three arguments: (mode, path, argv), where - argv is a list or tuple of strings. */ - - if (!PyArg_ParseTuple(args, "iO&O:spawnvp", &mode, - PyUnicode_FSConverter, - &opath, &argv)) - return NULL; - path = PyBytes_AsString(opath); - if (PyList_Check(argv)) { - argc = PyList_Size(argv); - getitem = PyList_GetItem; - } - else if (PyTuple_Check(argv)) { - argc = PyTuple_Size(argv); - getitem = PyTuple_GetItem; - } - else { - PyErr_SetString(PyExc_TypeError, - "spawnvp() arg 2 must be a tuple or list"); - Py_DECREF(opath); - return NULL; - } - - argvlist = PyMem_NEW(char *, argc+1); - if (argvlist == NULL) { - Py_DECREF(opath); - return PyErr_NoMemory(); - } - for (i = 0; i < argc; i++) { - if (!fsconvert_strdup((*getitem)(argv, i), - &argvlist[i])) { - free_string_array(argvlist, i); - PyErr_SetString( - PyExc_TypeError, - "spawnvp() arg 2 must contain only strings"); - Py_DECREF(opath); - return NULL; - } - } - argvlist[argc] = NULL; - - Py_BEGIN_ALLOW_THREADS -#if defined(PYCC_GCC) - spawnval = spawnvp(mode, path, argvlist); -#else - spawnval = _spawnvp(mode, path, argvlist); -#endif - Py_END_ALLOW_THREADS - - free_string_array(argvlist, argc); - Py_DECREF(opath); - - if (spawnval == -1) - return posix_error(); - else - return Py_BuildValue("l", (long) spawnval); -} - - -PyDoc_STRVAR(posix_spawnvpe__doc__, -"spawnvpe(mode, file, args, env)\n\n\ -Execute the program 'file' in a new process, using the environment\n\ -search path to find the file.\n\ -\n\ - mode: mode of process creation\n\ - file: executable file name\n\ - args: tuple or list of arguments\n\ - env: dictionary of strings mapping to strings"); - -static PyObject * -posix_spawnvpe(PyObject *self, PyObject *args) -{ - PyObject *opath; - char *path; - PyObject *argv, *env; - char **argvlist; - char **envlist; - PyObject *res=NULL; - int mode; - Py_ssize_t argc, i, envc; - Py_intptr_t spawnval; - PyObject *(*getitem)(PyObject *, Py_ssize_t); - int lastarg = 0; - - /* spawnvpe has four arguments: (mode, path, argv, env), where - argv is a list or tuple of strings and env is a dictionary - like posix.environ. */ - - if (!PyArg_ParseTuple(args, "ietOO:spawnvpe", &mode, - PyUnicode_FSConverter, - &opath, &argv, &env)) - return NULL; - path = PyBytes_AsString(opath); - if (PyList_Check(argv)) { - argc = PyList_Size(argv); - getitem = PyList_GetItem; - } - else if (PyTuple_Check(argv)) { - argc = PyTuple_Size(argv); - getitem = PyTuple_GetItem; - } - else { - PyErr_SetString(PyExc_TypeError, - "spawnvpe() arg 2 must be a tuple or list"); - goto fail_0; - } - if (!PyMapping_Check(env)) { - PyErr_SetString(PyExc_TypeError, - "spawnvpe() arg 3 must be a mapping object"); - goto fail_0; - } - - argvlist = PyMem_NEW(char *, argc+1); - if (argvlist == NULL) { - PyErr_NoMemory(); - goto fail_0; - } - for (i = 0; i < argc; i++) { - if (!fsconvert_strdup((*getitem)(argv, i), - &argvlist[i])) - { - lastarg = i; - goto fail_1; - } - } - lastarg = argc; - argvlist[argc] = NULL; - - envlist = parse_envlist(env, &envc); - if (envlist == NULL) - goto fail_1; - - Py_BEGIN_ALLOW_THREADS -#if defined(PYCC_GCC) - spawnval = spawnvpe(mode, path, argvlist, envlist); -#else - spawnval = _spawnvpe(mode, path, argvlist, envlist); -#endif - Py_END_ALLOW_THREADS - - if (spawnval == -1) - (void) posix_error(); - else - res = Py_BuildValue("l", (long) spawnval); - - while (--envc >= 0) - PyMem_DEL(envlist[envc]); - PyMem_DEL(envlist); - fail_1: - free_string_array(argvlist, lastarg); - fail_0: - Py_DECREF(opath); - return res; -} -#endif /* PYOS_OS2 */ #endif /* HAVE_SPAWNV */ @@ -6420,23 +6019,8 @@ posix_kill(PyObject *self, PyObject *args) int sig; if (!PyArg_ParseTuple(args, _Py_PARSE_PID "i:kill", &pid, &sig)) return NULL; -#if defined(PYOS_OS2) && !defined(PYCC_GCC) - if (sig == XCPT_SIGNAL_INTR || sig == XCPT_SIGNAL_BREAK) { - APIRET rc; - if ((rc = DosSendSignalException(pid, sig)) != NO_ERROR) - return os2_error(rc); - - } else if (sig == XCPT_SIGNAL_KILLPROC) { - APIRET rc; - if ((rc = DosKillProcess(DKP_PROCESS, pid)) != NO_ERROR) - return os2_error(rc); - - } else - return NULL; /* Unrecognized Signal Requested */ -#else if (kill(pid, sig) == -1) return posix_error(); -#endif Py_INCREF(Py_None); return Py_None; } @@ -7333,31 +6917,7 @@ Return an object containing floating point numbers indicating process\n\ times. The object behaves like a named tuple with these fields:\n\ (utime, stime, cutime, cstime, elapsed_time)"); -#if defined(PYCC_VACPP) && defined(PYOS_OS2) -static long -system_uptime(void) -{ - ULONG value = 0; - - Py_BEGIN_ALLOW_THREADS - DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &value, sizeof(value)); - Py_END_ALLOW_THREADS - - return value; -} - -static PyObject * -posix_times(PyObject *self, PyObject *noargs) -{ - /* Currently Only Uptime is Provided -- Others Later */ - return build_times_result( - (double)0 /* t.tms_utime / HZ */, - (double)0 /* t.tms_stime / HZ */, - (double)0 /* t.tms_cutime / HZ */, - (double)0 /* t.tms_cstime / HZ */, - (double)system_uptime() / 1000); -} -#elif defined(MS_WINDOWS) +#if defined(MS_WINDOWS) static PyObject * posix_times(PyObject *self, PyObject *noargs) { @@ -7379,7 +6939,7 @@ posix_times(PyObject *self, PyObject *noargs) (double)0, (double)0); } -#else /* Neither Windows nor OS/2 */ +#else /* Not Windows */ #define NEED_TICKS_PER_SECOND static long ticks_per_second = -1; static PyObject * @@ -8123,16 +7683,6 @@ Create a pipe."); static PyObject * posix_pipe(PyObject *self, PyObject *noargs) { -#if defined(PYOS_OS2) - HFILE read, write; - APIRET rc; - - rc = DosCreatePipe( &read, &write, 4096); - if (rc != NO_ERROR) - return os2_error(rc); - - return Py_BuildValue("(ii)", read, write); -#else #if !defined(MS_WINDOWS) int fds[2]; int res; @@ -8151,7 +7701,6 @@ posix_pipe(PyObject *self, PyObject *noargs) write_fd = _open_osfhandle((Py_intptr_t)write, 1); return Py_BuildValue("(ii)", read_fd, write_fd); #endif /* MS_WINDOWS */ -#endif } #endif /* HAVE_PIPE */ @@ -10825,10 +10374,6 @@ static PyMethodDef posix_methods[] = { #ifdef HAVE_SPAWNV {"spawnv", posix_spawnv, METH_VARARGS, posix_spawnv__doc__}, {"spawnve", posix_spawnve, METH_VARARGS, posix_spawnve__doc__}, -#if defined(PYOS_OS2) - {"spawnvp", posix_spawnvp, METH_VARARGS, posix_spawnvp__doc__}, - {"spawnvpe", posix_spawnvpe, METH_VARARGS, posix_spawnvpe__doc__}, -#endif /* PYOS_OS2 */ #endif /* HAVE_SPAWNV */ #ifdef HAVE_FORK1 {"fork1", posix_fork1, METH_NOARGS, posix_fork1__doc__}, @@ -11155,59 +10700,6 @@ ins(PyObject *module, char *symbol, long value) return PyModule_AddIntConstant(module, symbol, value); } -#if defined(PYOS_OS2) -/* Insert Platform-Specific Constant Values (Strings & Numbers) of Common Use */ -static int insertvalues(PyObject *module) -{ - APIRET rc; - ULONG values[QSV_MAX+1]; - PyObject *v; - char *ver, tmp[50]; - - Py_BEGIN_ALLOW_THREADS - rc = DosQuerySysInfo(1L, QSV_MAX, &values[1], sizeof(ULONG) * QSV_MAX); - Py_END_ALLOW_THREADS - - if (rc != NO_ERROR) { - os2_error(rc); - return -1; - } - - if (ins(module, "meminstalled", values[QSV_TOTPHYSMEM])) return -1; - if (ins(module, "memkernel", values[QSV_TOTRESMEM])) return -1; - if (ins(module, "memvirtual", values[QSV_TOTAVAILMEM])) return -1; - if (ins(module, "maxpathlen", values[QSV_MAX_PATH_LENGTH])) return -1; - if (ins(module, "maxnamelen", values[QSV_MAX_COMP_LENGTH])) return -1; - if (ins(module, "revision", values[QSV_VERSION_REVISION])) return -1; - if (ins(module, "timeslice", values[QSV_MIN_SLICE])) return -1; - - switch (values[QSV_VERSION_MINOR]) { - case 0: ver = "2.00"; break; - case 10: ver = "2.10"; break; - case 11: ver = "2.11"; break; - case 30: ver = "3.00"; break; - case 40: ver = "4.00"; break; - case 50: ver = "5.00"; break; - default: - PyOS_snprintf(tmp, sizeof(tmp), - "%d-%d", values[QSV_VERSION_MAJOR], - values[QSV_VERSION_MINOR]); - ver = &tmp[0]; - } - - /* Add Indicator of the Version of the Operating System */ - if (PyModule_AddStringConstant(module, "version", tmp) < 0) - return -1; - - /* Add Indicator of Which Drive was Used to Boot the System */ - tmp[0] = 'A' + values[QSV_BOOT_DRIVE] - 1; - tmp[1] = ':'; - tmp[2] = '\0'; - - return PyModule_AddStringConstant(module, "bootdrive", tmp); -} -#endif - #if defined(HAVE_SYMLINK) && defined(MS_WINDOWS) static int enable_symlink() @@ -11542,35 +11034,12 @@ all_ins(PyObject *d) #endif #ifdef HAVE_SPAWNV -#if defined(PYOS_OS2) && defined(PYCC_GCC) - if (ins(d, "P_WAIT", (long)P_WAIT)) return -1; - if (ins(d, "P_NOWAIT", (long)P_NOWAIT)) return -1; - if (ins(d, "P_OVERLAY", (long)P_OVERLAY)) return -1; - if (ins(d, "P_DEBUG", (long)P_DEBUG)) return -1; - if (ins(d, "P_SESSION", (long)P_SESSION)) return -1; - if (ins(d, "P_DETACH", (long)P_DETACH)) return -1; - if (ins(d, "P_PM", (long)P_PM)) return -1; - if (ins(d, "P_DEFAULT", (long)P_DEFAULT)) return -1; - if (ins(d, "P_MINIMIZE", (long)P_MINIMIZE)) return -1; - if (ins(d, "P_MAXIMIZE", (long)P_MAXIMIZE)) return -1; - if (ins(d, "P_FULLSCREEN", (long)P_FULLSCREEN)) return -1; - if (ins(d, "P_WINDOWED", (long)P_WINDOWED)) return -1; - if (ins(d, "P_FOREGROUND", (long)P_FOREGROUND)) return -1; - if (ins(d, "P_BACKGROUND", (long)P_BACKGROUND)) return -1; - if (ins(d, "P_NOCLOSE", (long)P_NOCLOSE)) return -1; - if (ins(d, "P_NOSESSION", (long)P_NOSESSION)) return -1; - if (ins(d, "P_QUOTE", (long)P_QUOTE)) return -1; - if (ins(d, "P_TILDE", (long)P_TILDE)) return -1; - if (ins(d, "P_UNRELATED", (long)P_UNRELATED)) return -1; - if (ins(d, "P_DEBUGDESC", (long)P_DEBUGDESC)) return -1; -#else if (ins(d, "P_WAIT", (long)_P_WAIT)) return -1; if (ins(d, "P_NOWAIT", (long)_P_NOWAIT)) return -1; if (ins(d, "P_OVERLAY", (long)_OLD_P_OVERLAY)) return -1; if (ins(d, "P_NOWAITO", (long)_P_NOWAITO)) return -1; if (ins(d, "P_DETACH", (long)_P_DETACH)) return -1; #endif -#endif #ifdef HAVE_SCHED_H if (ins(d, "SCHED_OTHER", (long)SCHED_OTHER)) return -1; @@ -11630,9 +11099,6 @@ all_ins(PyObject *d) if (PyModule_AddIntMacro(d, RTLD_DEEPBIND)) return -1; #endif -#if defined(PYOS_OS2) - if (insertvalues(d)) return -1; -#endif return 0; } @@ -11641,10 +11107,6 @@ all_ins(PyObject *d) #define INITFUNC PyInit_nt #define MODNAME "nt" -#elif defined(PYOS_OS2) -#define INITFUNC PyInit_os2 -#define MODNAME "os2" - #else #define INITFUNC PyInit_posix #define MODNAME "posix" diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile deleted file mode 100644 index b87e8b9ad64..00000000000 --- a/PC/os2emx/Makefile +++ /dev/null @@ -1,672 +0,0 @@ -#####################==================---------------- -# -# Top-Level Makefile for Building Python 2.6 for OS/2 using GCC/EMX -# Originally written by Andrew Zabolotny, for Python 1.5.2 -# Modified by Andrew MacIntyre, for Python 2.6 -# -# This makefile was developed for use with [P]GCC/EMX compiler any -# version and GNU Make. -# -# The output of the build is a largish Python26.DLL containing the -# essential modules of Python and a small Python.exe program to start -# the interpreter. When embedding Python within another program, only -# Python26.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. -# -# Recommended build order: -# make depend (if you have makedep) -# make all -# make lx (if you have lxlite) -# make test (optional) -# -#####################==================---------------- - -# === Compilation mode: debug or release === -MODE= optimize -#MODE= debug -# === Assert() enabled === -ASSERTIONS=no -#ASSERTIONS=yes -# === Hard-wire installation location === -FIXED_PYHOME=no -#FIXED_PYHOME=yes - -# === Optional modules === -# Do you have the InfoZip compression library installed? -HAVE_ZLIB= no -# Do you have the Ultra Fast Crypt (UFC) library installed? -HAVE_UFC= no -# Do you have the Tcl/Tk library installed? -HAVE_TCLTK= no -# Do you have the GNU readline library installed? -# NOTE: I'm using a modified version of Kai Uwe Rommel's port that -# - is compiled with multithreading enabled -# - is linked statically -# I have had no success trying to use a DLL version, even when -# compiled with multithreading enabled. -HAVE_GREADLINE= no -# Do you have the BSD DB library (v1.85) as included in the EMXBSD package? -# NOTE: this library needs to be recompiled with a structure member -# renamed to avoid problems with the multithreaded errno support -# (there is a structure member called errno, used for shadowing the -# real errno, which conflicts with the errno redefinition of -Zmt) -HAVE_BSDDB= no -# Do you have the ncurses library installed? EMX's BSD curses aren't enough! -HAVE_NCURSES= no -# Do you have the GDBM library installed? -HAVE_GDBM= no -# Do you have the BZ2 compression library installed? -HAVE_BZ2= no -# Do you have the OpenSSL libraries installed -HAVE_OPENSSL= no - -# === install locations === -# default value of PYTHONHOME -LIB_DIR=C:/Python26 -# default is to have everything in or under PYTHONHOME -EXE_DIR=$(LIB_DIR) -DLL_DIR=$(EXE_DIR) - - -# === The Tools === -CC= gcc -CFLAGS= -Zmt -Wall $(INCLUDE) -CFLAGS.LIB= $(CFLAGS) -LD= gcc -LDFLAGS= -Zmt -Zcrtdll -L. -lgcc -LDFLAGS.EXE= $(LDFLAGS) -LDFLAGS.DLL= $(LDFLAGS) -Zdll -LDFLAGS.A= $(LDFLAGS) $(LIBS) -ARFLAGS= crs -IMPLIB= emximp -EXPLIB= emxexp -EXEOPT= emxbind -PY_DEF= -DPy_BUILD_CORE - - -# adjust C compiler settings based on build options -ifeq ($(MODE),debug) - CFLAGS+= -g -O - LDFLAGS+= -g -else - CFLAGS+= -s -O3 -fomit-frame-pointer -mprobe - LDFLAGS+= -s -endif -CFLAGS+= $(PY_DEF) -ifeq ($(ASSERTIONS),no) - CFLAGS+= -DNDEBUG -endif -ifeq ($(FIXED_PYHOME),yes) - CFLAGS+= -DPREFIX=$(DQUOTE)$(LIB_DIR)$(DQUOTE) -endif - -# We're using the OMF format since EMX's ld has a obscure bug -# because of which it sometimes fails to build relocations -# in .data segment that point to another .data locations -# (except for the final linking if the .EXEs) -OMF= yes - -# if fork() support is required, the main executable must be linked with ld -EXEOMF= no - -# File extensions -MODULE.EXT= .pyd -MODLIB.EXT= .dll -ifeq ($(OMF),yes) - O= .obj - A= .lib - AR= emxomfar - CFLAGS+= -Zomf - LDFLAGS+= -Zomf - ifeq ($(MODE),debug) - ARFLAGS= -p64 crs - else - ARFLAGS= -p32 crs - endif -else - O= .o - A= .a - AR= ar -endif - - -# === Build time resource settings === - -# EMX's default number of file handles is 40, which is sometimes insufficient -# (the tempfile regression test tries to create 100 temporary files) -NFILES=250 - -# The default stack size for child threads is 64k bytes, which is -# insufficient for some applications which do a lot of work in threads -# (such as Zope, especially in conjunction with Plone). -# Note that this setting is distinct from the stack size for the main -# thread, which is set via the %.def rule below. -# EMX documents that the thread stack size should be at least 32768 bytes; -# for Zope/Plone at least 128k bytes is recommended. -# Uncomment & adjust the next line to override the default stack size: -#CFLAGS+= -DTHREAD_STACK_SIZE=0x20000 - - -# === The environment === - -# Source file paths -SRCPATH=.;../../Python;../../Parser;../../Objects;../../Include;../../Modules -# Python contains the central core, containing the builtins and interpreter. -# Parser contains Python's Internal Parser and -# Standalone Parser Generator Program (Shares Some of Python's Modules) -# Objects contains Python Object Types -# Modules contains extension Modules (Built-In or as Separate DLLs) - -# Unix shells tend to use "$" as delimiter for variable names. -# Test for this behaviour and set $(BUCK) variable correspondigly ... -__TMP__:=$(shell echo $$$$) -ifeq ($(__TMP__),$$$$) - BUCK= $$ - BRO= ( - BRC= ) -else - BUCK= \$$ - BRO= \( - BRC= \) -endif -# Compute the "double quote" variable -__TMP__:=$(shell echo "") -ifeq ($(__TMP__),"") - DQUOTE= " -else - DQUOTE= \" -endif - -# Include paths -#INCLUDE= -I$(subst ;, -I, $(SRCPATH)) -INCLUDE= -I. -I../../Include - -# Path to search for .c files -vpath %.c .;..;$(SRCPATH) - -# Top of the package tree -TOP= ../../ - -# Directory for output files -OUTBASE= out/ -OUT= $(OUTBASE)$(MODE)/ - -# Additional libraries -LIBS= -lsocket - -# Utility macro: replacement for $^ -^^= $(filter-out %$A,$^) -# Use $(L^) to link with all libraries specified as dependencies -L^= $(addprefix -l,$(basename $(notdir $(filter %$A,$+)))) - -# Build rules -$(OUT)%$O: %.c - $(CC) $(CFLAGS.LIB) -c $< -o $@ - -%.a: - $(LD) $(LDFLAGS.A) -o $@ $(^^) $(L^) - -%.dll: - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -%.pyd: $(OUT)%module$O $(OUT)%_m.def - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(PYTHON.IMPLIB) $(LIBS) - -%.exe: - $(LD) $(LDFLAGS.EXE) -o $@ $(^^) $(L^) - -%_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - ifeq ($(DESCRIPTION.$(notdir $*)$(MODULE.EXT)),) - @echo DESCRIPTION $(DQUOTE)Python standard module $(notdir $*)$(DQUOTE) >>$@ - else - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODULE.EXT))$(DQUOTE) >>$@ - endif - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - @echo init$(notdir $*) >>$@ - -%.def: - @echo Creating .DEF file: $@ - @echo NAME $(notdir $*) $(EXETYPE.$(notdir $*).exe) >$@ - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*).exe)$(DQUOTE) >>$@ - @echo STACKSIZE 2097152 >>$@ - -# Output file names -PYTHON_VER= 2.6 -PYTHON_LIB= python34 -PYTHON.LIB= $(PYTHON_LIB)_s$A -PYTHON.IMPLIB= $(PYTHON_LIB)$A -ifeq ($(EXEOMF),yes) - PYTHON.EXEIMP= $(PYTHON.IMPLIB) - LDMODE.EXE= -Zomf -else - PYTHON.EXEIMP= $(PYTHON_LIB).a - LDMODE.EXE = -endif -PYTHON.DLL= $(PYTHON_LIB).dll -PYTHON.DEF= $(PYTHON_LIB).def -PYTHON.EXE= python.exe -PYTHONPM.EXE= pythonpm.exe -PGEN.EXE= pgen.exe -LIBRARY= $(PYTHON.LIB) -LD_LIBRARY= $(PYTHON.IMPLIB) - -# Additional executable parameters -EXETYPE.$(PYTHON.EXE)= WINDOWCOMPAT -EXETYPE.$(PYTHONPM.EXE)= WINDOWAPI -EXETYPE.$(PGEN.EXE)= WINDOWCOMPAT -DESCRIPTION.$(PYTHON.EXE)= Python object-oriented programming language interpreter for OS/2 -DESCRIPTION.$(PYTHONPM.EXE)= $(DESCRIPTION.$(PYTHON.EXE)) -DESCRIPTION.$(PGEN.EXE)= Python object-oriented programming language parser generator for OS/2 - -# Module descriptions -DESCRIPTION.zlib$(MODULE.EXT)= Python Extension DLL for accessing the InfoZip compression library -DESCRIPTION.crypt$(MODULE.EXT)= Python Extension DLL implementing the crypt$(BRO)$(BRC) function -DESCRIPTION._tkinter$(MODULE.EXT)= Python Extension DLL for access to Tcl/Tk Environment -DESCRIPTION.readline$(MODULE.EXT)= Python Extension DLL for access to GNU ReadLine library -DESCRIPTION._curses$(MODLIB.EXT)= Python Extension DLL for access to ncurses library -DESCRIPTION.pyexpat$(MODULE.EXT)= Python Extension DLL for access to expat library -DESCRIPTION.bz2$(MODULE.EXT)= Python Extension DLL for accessing the bz2 compression library - -# Source files -SRC.OS2EMX= config.c dlfcn.c getpathp.c -SRC.MAIN= $(addprefix $(TOP), \ - Modules/getbuildinfo.c \ - Modules/main.c) -SRC.MODULES= $(addprefix $(TOP), \ - Modules/gcmodule.c \ - Modules/signalmodule.c \ - Modules/posixmodule.c \ - Modules/_threadmodule.c \ - Modules/arraymodule.c \ - Modules/binascii.c \ - Modules/cmathmodule.c \ - Modules/_codecsmodule.c \ - Modules/collectionsmodule.c \ - Modules/_csv.c \ - Modules/datetimemodule.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/operator.c \ - Modules/_randommodule.c \ - Modules/sha256module.c \ - Modules/sha512module.c \ - Modules/_sre.c \ - Modules/_struct.c \ - Modules/symtablemodule.c \ - Modules/termios.c \ - Modules/timemodule.c \ - Modules/_weakref.c \ - Modules/xxsubtype.c \ - Modules/zipimport.c) -SRC.PARSE1= $(addprefix $(TOP), \ - Parser/acceler.c \ - Parser/grammar1.c \ - Parser/listnode.c \ - Parser/node.c \ - Parser/parser.c \ - Parser/parsetok.c \ - Parser/bitset.c \ - Parser/metagrammar.c) -SRC.PARSE2= $(addprefix $(TOP), \ - Parser/tokenizer.c \ - Parser/myreadline.c) -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 \ - Python/compile.c \ - Python/codecs.c \ - Python/dynamic_annotations.c \ - Python/errors.c \ - Python/frozen.c \ - Python/frozenmain.c \ - Python/future.c \ - Python/getargs.c \ - Python/getcompiler.c \ - Python/getcopyright.c \ - Python/getplatform.c \ - Python/getversion.c \ - Python/graminit.c \ - Python/import.c \ - Python/importdl.c \ - Python/marshal.c \ - Python/modsupport.c \ - Python/mysnprintf.c \ - Python/mystrtoul.c \ - Python/pyarena.c \ - Python/pyctype.c \ - Python/pyfpe.c \ - Python/pystate.c \ - Python/pystrtod.c \ - Python/pythonrun.c \ - Python/structmember.c \ - Python/symtable.c \ - Python/sysmodule.c \ - Python/traceback.c \ - Python/getopt.c \ - Python/dynload_shlib.c \ - Python/thread.c) -SRC.OBJECT= $(addprefix $(TOP), \ - Objects/abstract.c \ - Objects/boolobject.c \ - Objects/cellobject.c \ - Objects/classobject.c \ - Objects/cobject.c \ - Objects/codeobject.c \ - Objects/complexobject.c \ - Objects/descrobject.c \ - Objects/dictobject.c \ - Objects/enumobject.c \ - Objects/fileobject.c \ - Objects/floatobject.c \ - Objects/frameobject.c \ - Objects/funcobject.c \ - Objects/genobject.c \ - Objects/iterobject.c \ - Objects/listobject.c \ - Objects/longobject.c \ - Objects/methodobject.c \ - Objects/moduleobject.c \ - Objects/object.c \ - Objects/obmalloc.c \ - Objects/rangeobject.c \ - Objects/setobject.c \ - Objects/sliceobject.c \ - Objects/stringobject.c \ - Objects/structseq.c \ - Objects/tupleobject.c \ - Objects/typeobject.c \ - Objects/unicodeobject.c \ - Objects/unicodectype.c \ - Objects/weakrefobject.c) - -SRC.LIB= $(SRC.OS2EMX) \ - $(SRC.MAIN) \ - $(SRC.PARSER) \ - $(SRC.OBJECT) \ - $(SRC.PYTHON) \ - $(SRC.MODULES) -OBJ.LIB= $(addprefix $(OUT),$(notdir $(SRC.LIB:.c=$O))) - -SRC.PGEN= $(SRC.PARSE1) \ - $(addprefix $(TOP), \ - Objects/obmalloc.c) \ - $(addprefix $(TOP), \ - Python/mysnprintf.c) \ - $(addprefix $(TOP), \ - Parser/tokenizer_pgen.c \ - Parser/pgenmain.c \ - Parser/pgen.c \ - Parser/printgrammar.c \ - Parser/grammar.c \ - Parser/firstsets.c) \ - -OBJ.PGEN= $(addprefix $(OUT),$(notdir $(SRC.PGEN:.c=$O))) - -SRC.EXE= $(TOP)Modules/python.c -SRC.PMEXE= pythonpm.c - -# Python modules to be dynamically loaded that: -# 1) have only single source file and require no extra libs -# 2) use the standard module naming convention -# (the 'module' in ?????module.c is assumed) -# - these can be built with implicit rules -EASYEXTMODULES= fpectl \ - fpetest \ - parser \ - pwd \ - select - -# Python modules to be dynamically loaded that need explicit build rules -# (either multiple source files and/or non-standard module naming) -# (NOTE: use shortened names for modules affected by 8 char name limit) -HARDEXTMODULES= _socket \ - _testcap \ - unicoded - -# Python modules that are used as libraries and therefore must use -# a .DLL extension -LIBEXTMODULES= - -# Python external ($(MODULE.EXT)) modules - can be EASY or HARD -ifeq ($(HAVE_ZLIB),yes) - HARDEXTMODULES+= zlib -endif -ifeq ($(HAVE_UFC),yes) - HARDEXTMODULES+= crypt -endif -ifeq ($(HAVE_TCLTK),yes) - HARDEXTMODULES+= _tkinter - CFLAGS+= -DHAS_DIRENT -I/TclTk80/include - TK_LIBS+= -L/TclTk80/lib -ltcl80 -ltk80 -endif -ifeq ($(HAVE_GREADLINE),yes) - HARDEXTMODULES+= readline -endif -ifeq ($(HAVE_NCURSES),yes) - LIBEXTMODULES+= _curses - HARDEXTMODULES+= _curses_ -endif -ifeq ($(HAVE_GDBM),yes) - HARDEXTMODULES+= _gdbm _dbm -endif -ifeq ($(HAVE_BZ2),yes) - HARDEXTMODULES+= bz2 -endif -ifeq ($(HAVE_OPENSSL),yes) - HARDEXTMODULES+= _ssl -endif - -# Expat is now distributed with the Python source -HARDEXTMODULES+= pyexpat -EXPAT.INC= -I../../Modules/expat -EXPAT.DEF= -DHAVE_EXPAT_H -DXML_NS=1 -DXML_DTD=1 -DXML_BYTE_ORDER=12 \ - -DXML_CONTENT_BYTES=1024 -DHAVE_MEMMOVE=1 -DHAVE_BCOPY=1 -EXPAT.SRC= $(addprefix ../../Modules/expat/, \ - xmlparse.c \ - xmlrole.c \ - xmltok.c) - -# all the external modules -EXTERNDLLS= $(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(EASYEXTMODULES))) -EXTERNDLLS+= $(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(HARDEXTMODULES))) -EXTERNDLLS+= $(addsuffix $(MODLIB.EXT),$(patsubst %module,%,$(LIBEXTMODULES))) - -# Targets -all: $(OUT) $(PYTHON.LIB) $(PYTHON.DEF) $(PYTHON.IMPLIB) $(PYTHON.DLL) \ - python_noncore - -python_noncore: - make PY_DEF= $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) $(EXTERNDLLS) - -clean: - rm -f $(OUT)* - rm -f $(PYTHON.LIB) $(PYTHON.IMPLIB) $(PYTHON.EXEIMP) $(PYTHON.DLL) \ - $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) *$(MODULE.EXT) *.dll - find ../../Lib -name "*.py[co]" -exec rm {} ";" - -lx: - @echo Packing everything with lxLite... - lxlite $(PYTHON.DLL) $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) - -depend: $(OUTBASE) - makedep -f $(OUTBASE)python.dep -o $(BUCK)O -p $(BUCK)\(OUT\) \ - -r -c $(INCLUDE) $(SRC.LIB) $(SRC.PGEN) - -$(OUT): $(OUTBASE) - -$(OUT) $(OUTBASE): - mkdir.exe $@ - -$(PYTHON.LIB): $(OBJ.LIB) - rm.exe -f $@ - $(AR) $(ARFLAGS) $@ $^ - -# the Python core DLL .def file needs to have a number of non-static -# symbols that aren't part of the Python C API removed (commented out) -# from the DLL export list. -$(PYTHON.DEF): $(PYTHON.LIB) - @echo Creating .DEF file: $@ - @echo LIBRARY $(PYTHON_LIB) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)Python $(PYTHON_VER) Core DLL$(DQUOTE) >>$@ - @echo PROTMODE >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - $(EXPLIB) -u $(PYTHON.LIB) |\ - sed -e "/^ .init.*/s/^ /; /" \ - -e "/^ .pcre_.*/s/^ /; /" \ - -e "/^ .array_methods/s/^ /; /" \ - -e "/^ .fast_save_leave/s/^ /; /" \ - -e "/^ .dlopen/s/^ /; /" \ - -e "/^ .dlsym/s/^ /; /" \ - -e "/^ .dlclose/s/^ /; /" \ - -e "/^ .dlerror/s/^ /; /" \ - -e "/^ ._Py_re_.*/s/^ /; /" \ - -e "/^ ._Py_MD5.*/s/^ /; /" >>$@ - -$(PYTHON.IMPLIB): $(PYTHON.DEF) - $(IMPLIB) -o $@ $^ - -$(PYTHON.EXEIMP): $(PYTHON.DEF) - $(IMPLIB) -o $@ $^ - -$(PYTHON.DLL): $(OUT)dllentry$O $(PYTHON.LIB) $(PYTHON.DEF) - -# Explicit make targets for the .EXEs to be able to use LD to link -# (so that fork() will work if required) - -$(PYTHON.EXE): $(SRC.EXE) $(PYTHON.EXEIMP) $(OUT)python.def - $(CC) -Zmt $(LDMODE.EXE) -Zcrtdll -Wall $(INCLUDE) -L. -lgcc -o $@ $(SRC.EXE) $(PYTHON.EXEIMP) $(LIBS) $(OUT)python.def - $(EXEOPT) -aq $(PYTHON.EXE) -h$(NFILES) - -$(PYTHONPM.EXE): $(SRC.PMEXE) $(PYTHON.EXEIMP) $(OUT)pythonpm.def - $(CC) -Zmt $(LDMODE.EXE) -Zcrtdll -Wall $(INCLUDE) -L. -lgcc -o $@ $(SRC.PMEXE) $(PYTHON.EXEIMP) $(LIBS) $(OUT)pythonpm.def - $(EXEOPT) -aq $(PYTHONPM.EXE) -h$(NFILES) - -$(PGEN.EXE): $(OBJ.PGEN) $(OUT)pgen.def - -# Explicit building instructions for those external modules that require -# awkward handling (due e.g. to non-std naming, or multiple source files) -# - standard modules - -_socket$(MODULE.EXT): $(OUT)socketmodule$O $(OUT)_socket_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -# _testcapi needs to be renamed to be useful -_testcapi$(MODULE.EXT): $(OUT)_testcapimodule$O $(OUT)_testcapi_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -_testcap$(MODULE.EXT): _testcapi$(MODULE.EXT) - cp $^ $@ - -# unicodedata needs to be renamed to be useful -unicodedata$(MODULE.EXT): $(OUT)unicodedata$O $(OUT)unicodedata_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) $(MODULE_LIBS) - -unicoded$(MODULE.EXT): unicodedata$(MODULE.EXT) - cp $^ $@ - -crypt$(MODULE.EXT): $(OUT)cryptmodule$O $(OUT)crypt_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) -lufc $(LIBS) - -# The _curses_panel module requires a couple of ncurses library entry -# points, which are best exposed as exports from the _curses module DLL -$(OUT)_curses_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODLIB.EXT))$(DQUOTE) >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - @echo init_curses >>$@ - @echo wnoutrefresh >>$@ - @echo _nc_panelhook >>$@ - @echo is_linetouched >>$@ - @echo mvwin >>$@ - @echo stdscr >>$@ - @echo wtouchln >>$@ - -$(OUT)_curses_panel_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)Python standard module $(notdir $*)$(DQUOTE) >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo IMPORTS >>$@ - @echo _curses.wnoutrefresh >>$@ - @echo _curses._nc_panelhook >>$@ - @echo _curses.is_linetouched >>$@ - @echo _curses.mvwin >>$@ - @echo _curses.stdscr >>$@ - @echo _curses.wtouchln >>$@ - @echo EXPORTS >>$@ - @echo init_curses_panel >>$@ - -_curses$(MODLIB.EXT): $(OUT)_cursesmodule$O $(OUT)_curses_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lncurses - -# curses_panel needs to be renamed to be useful -_curses_panel$(MODULE.EXT): $(OUT)_curses_panel$O $(OUT)_curses_panel_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lpanel - -_curses_$(MODULE.EXT): _curses_panel$(MODULE.EXT) - cp $^ $@ - -_dbm$(MODULE.EXT): $(OUT)_dbmmodule$O $(OUT)dbm_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lgdbm - -_gdbm$(MODULE.EXT): $(OUT)_gdbmmodule$O $(OUT)gdbm_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lgdbm - - -# Expat is now distributed with Python, so use the included version -$(OUT)pyexpat$O: ../../Modules/pyexpat.c - $(CC) $(CFLAGS) $(EXPAT.INC) -c -o $@ $^ -$(OUT)xmlparse$O: ../../Modules/expat/xmlparse.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -$(OUT)xmlrole$O: ../../Modules/expat/xmlrole.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -$(OUT)xmltok$O: ../../Modules/expat/xmltok.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -pyexpat$(MODULE.EXT): $(OUT)pyexpat$O $(OUT)xmlparse$O $(OUT)xmlrole$O \ - $(OUT)xmltok$O $(OUT)pyexpat_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -readline$(MODULE.EXT): $(OUT)readline$O $(OUT)readline_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lreadline -lncurses - -#_tkinter$(MODULE.EXT): $(OUT)_tkinter$O $(OUT)tclNotify$O $(OUT)tkappinit$O -_tkinter$(MODULE.EXT): $(OUT)_tkinter$O $(OUT)tclNotify$O \ - $(OUT)_tkinter_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) $(TK_LIBS) - -zlib$(MODULE.EXT): $(OUT)zlibmodule$O $(OUT)zlib_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lz - -bz2$(MODULE.EXT): $(OUT)bz2module$O $(OUT)bz2_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lbz2 - -_ssl$(MODULE.EXT): $(OUT)_ssl$O $(OUT)_ssl_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lssl -lcrypto - -# the test target -test: - -find ../../Lib -name "*.py[co]" -exec rm {} ";" - -./python -E ../../lib/test/regrtest.py -l -u "network" - ./python -E ../../lib/test/regrtest.py -l -u "network" - --include $(OUTBASE)python.dep diff --git a/PC/os2emx/README.os2emx b/PC/os2emx/README.os2emx deleted file mode 100644 index 61872b6b622..00000000000 --- a/PC/os2emx/README.os2emx +++ /dev/null @@ -1,663 +0,0 @@ -This is a port of Python 2.6 to OS/2 using the EMX development tools -========================================================================= - -What's new since the previous release -------------------------------------- - -Another day, another version... - - -Licenses and info about Python and EMX --------------------------------------- - -Please read the file README.Python-2.6 included in this package for -information about Python 2.6. This file is the README file from the -Python 2.6 source distribution available via http://www.python.org/ -and its mirrors. The file LICENCE.Python-2.6 is the text of the Licence -from the Python 2.6 source distribution. - -Note that the EMX package that this package depends on is released under -the GNU General Public Licence. Please refer to the documentation -accompanying the EMX Runtime libraries for more information about the -implications of this. A copy of version 2 of the GPL is included as the -file COPYING.gpl2. - -Readline and GDBM are covered by the GNU General Public Licence. I think -Eberhard Mattes' porting changes to BSD DB v1.85 are also GPL'ed (BSD DB -itself is BSD Licenced). ncurses and expat appear to be covered by MIT -style licences - please refer to the source distributions for more detail. -zlib is distributable under a very free license. GNU UFC is under the -GNU LGPL (see file COPYING.lib). - -My patches to the Python-2.x source distributions, and any other packages -used in this port, are placed in the public domain. - -This software is provided 'as-is', without any express or implied warranty. -In no event will the author be held liable for any damages arising from the -use of the software. - -I do hope however that it proves useful to someone. - - -Other ports ------------ - -There have been ports of previous versions of Python to OS/2. - -The best known would be that by Jeff Rush, most recently of version -1.5.2. Jeff used IBM's Visual Age C++ (v3) for his ports, and his -patches have been included in the Python 2.6 source distribution. - -Andy Zabolotny implemented a port of Python v1.5.2 using the EMX -development tools. His patches against the Python v1.5.2 source -distribution have become the core of this port, and without his efforts -this port wouldn't exist. Andy's port also appears to have been -compiled with his port of gcc 2.95.2 to EMX, which I have but have -chosen not to use for the binary distribution of this port (see item 16 -of the "YOU HAVE BEEN WARNED" section below). - -It is possible to have these earlier ports still usable after installing -this port - see the README.os2emx.multiple_versions file, contributed by -Dr David Mertz, for a suggested approach to achieving this. - - -Software requirements ---------------------- - -This package requires the EMX Runtime package, available from the -Hobbes (http://hobbes.nmsu.edu/) and LEO (http://archiv.leo.org/) -archives of OS/2 software. I have used EMX version 0.9d fix04 in -developing this port. - -My development system is running OS/2 v4 with fixpack 12. - -3rd party software which has been linked into dynamically loaded modules: -- ncurses (see http://dickey.his.com/ for more info, v5.2) -- GNU Readline (Kai Uwe Rommel's port available from Hobbes or LEO, v2.1) -- GNU GDBM (Kai Uwe Rommel's port available from Hobbes or LEO, v1.7.3) -- zlib (derived from Hung-Chi Chu's port of v1.1.3, v1.1.4) -- expat (distributed with Python, v1.95.6) -- GNU UFC (Kai Uwe Rommel's port available from LEO, v2.0.4) - - -About this port ---------------- - -I have attempted to make this port as complete and functional as I can, -notwithstanding the issues in the "YOU HAVE BEEN WARNED" section below. - -Core components: - -Python.exe is linked as an a.out executable, ie using EMX method E1 -to compile & link the executable. This is so that fork() works (see -"YOU HAVE BEEN WARNED" item 1). - -Python26.dll is created as a normal OMF DLL, with an OMF import -library and module definition file. There is also an a.out (.a) import -library to support linking the DLL to a.out executables. The DLL -requires the EMX runtime DLLs. - -This port has been built with complete support for multithreading. - -Modules: - -With the exception of modules that have a significant code size, or are -not recommended or desired for normal use, the standard modules are now -built into the core DLL rather than configured as dynamically loadable -modules. This is for both reasons of performance (startup time) and -memory use (lots of small DLLs fragment the address space). - -I haven't yet changed the building of Python's dynamically loadable -modules over to using the DistUtils. - -See "YOU HAVE BEEN WARNED" item 3 for notes about the fcntl module, and -"YOU HAVE BEEN WARNED" item 10 for notes about the pwd and grp modules. - -This port supports case sensitive module import semantics, matching -the Windows release. This can be deactivated by setting the PYTHONCASEOK -environment variable (the value doesn't matter) - see "YOU HAVE BEEN WARNED" -item 12. - -Optional modules: - -Where I've been able to locate the required 3rd party packages already -ported to OS/2, I've built and included them. - -These include ncurses (_curses, _curses_panel), -GNU GDBM (gdbm, dbm), zlib (zlib), GNU Readline (readline), and GNU UFC -(crypt). - -Expat is now included in the Python release sourceball, and the pyexpat -module is always built. - -I have built these modules statically linked against the 3rd party -libraries. Unfortunately my attempts to use the dll version of GNU -readline have been a dismal failure, in that when the dynamically -linked readline module is active other modules immediately provoke a -core dump when imported. - -Only the BSD DB package (part of the BSD package distributed with EMX) -needs source modifications to be used for this port, pertaining to use -of errno with multithreading. - -The other packages, except for ncurses and zlib, needed Makefile changes -for multithreading support but no source changes. - -The _curses_panel module is a potential problem - see "YOU HAVE BEEN -WARNED" item 13. - -Upstream source patches: - -No updates to the Python 2.6 release have become available. - -Library and other distributed Python code: - -The Python standard library lives in the Lib directory. All the standard -library code included with the Python 2.6 source distribution is included -in the binary archive, with the exception of the dos-8x3 and tkinter -subdirectories which have been omitted to reduce the size of the binary -archive - the dos-8x3 components are unnecessary duplicates and Tkinter -is not supported by this port (yet). All the plat-* subdirectories in the -source distribution have also been omitted, except for the plat-os2emx -subdirectory. - -The Tools and Demo directories contain a collection of Python scripts. -To reduce the size of the binary archive, the Demo/sgi, Demo/Tix, -Demo/tkinter, Tools/audiopy and Tools/IDLE subdirectories have been -omitted as not being supported by this port. The Misc directory has -also been omitted. - -All subdirectories omitted from the binary archive can be reconstituted -from the Python 2.6 source distribution, if desired. - -Support for building Python extensions: - -The Config subdirectory contains the files describing the configuration -of the interpreter and the Makefile, import libraries for the Python DLL, -and the module definition file used to create the Python DLL. The -Include subdirectory contains all the standard Python header files -needed for building extensions. - -As I don't have the Visual Age C++ compiler, I've made no attempt to -have this port support extensions built with that compiler. - - -Packaging ---------- - -This port is packaged as follows: -- python-2.6-os2emx-bin-03????.zip (binaries, library modules) -- python-2.6-os2emx-src-03???? (patches+makefiles for non-Python code) - -As all the Python specific patches for the port are now part of the -Python release tarball, only the patches and makefiles involved in -building external libraries for optional extensions are included in -the source archive. - -Documentation for the Python language, as well as the Python 2.6 -source distibution, can be obtained from the Python website -(http://www.python.org/) or the Python project pages at Sourceforge -(http://sf.net/projects/python/). - - -Installation ------------- - -Obtain and install, as per the included instructions, the EMX runtime -package. - -Unpack this archive, preserving the subdirectories, in the root directory -of the drive where you want Python to live. - -Add the Python directory (eg C:\Python26) to the PATH and LIBPATH -variables in CONFIG.SYS. - -You should then set the PYTHONHOME and PYTHONPATH environment variables -in CONFIG.SYS. - -PYTHONHOME should be set to Python's top level directory. PYTHONPATH -should be set to the semicolon separated list of principal Python library -directories. -I use: - SET PYTHONHOME=F:/Python26 - SET PYTHONPATH=F:/Python26/Lib;F:/Python26/Lib/plat-os2emx; - F:/Python26/Lib/lib-dynload;F:/Python26/Lib/site-packages - -NOTE!: the PYTHONPATH setting above is linewrapped for this document - it -should all be on one line in CONFIG.SYS! - -If you wish to use the curses module, you should set the TERM and TERMINFO -environment variables appropriately. - -If you don't already have ncurses installed, I have included a copy of the -EMX subset of the Terminfo database included with the ncurses-5.2 source -distribution. This can be used by setting the TERMINFO environment variable -to the path of the Terminfo subdirectory below the Python home directory. -On my system this looks like: - SET TERMINFO=F:/Python26/Terminfo - -For the TERM environment variable, I would try one of the following: - SET TERM=ansi - SET TERM=os2 - SET TERM=window - -You will have to reboot your system for these changes to CONFIG.SYS to take -effect. - -If you wish to compile all the included Python library modules to bytecode, -you can change into the Python home directory and run the COMPILEALL.CMD -batch file. - -You can execute the regression tests included with the Python 2.6 source -distribution by changing to the Python 2.6 home directory and executing the -REGRTEST.CMD batch file. The following tests are known to fail at this -time: -- test_mhlib (I don't know of any port of MH to OS/2); -- test_strptime (see "YOU HAVE BEEN WARNED" item 22); -- test_time (see "YOU HAVE BEEN WARNED" item 22); -- test_posixpath (see "YOU HAVE BEEN WARNED" item 23). - -Note that some of the network related tests expect the loopback interface -(interface "lo", with IP address 127.0.0.1) to be enabled, which from my -experience is not the default configuration. Additionally, test_popen2 -expects the "cat" utility (such as found in ports of the GNU tools) to -be installed. - - -Building from source --------------------- - -With the EMX port now checked into Python's CVS repository, the build -infrastructure is part of the Python release sourceball. - -Prerequisites - -First and foremost, you need an operational EMX development installation - -EMX v0.9d with fix04 (the latest at time of writing) & the gcc 2.8.1 -compiler released by Eberhard Mattes is the recommended setup. - -If you have a different version of gcc installed, see "YOU HAVE BEEN -WARNED" item 16. - -Other items of software required:- - -- GNU make (I'm using v3.76.1) -- rm, cp, mkdir from the GNU file utilities package -- GNU find -- GNU sed - -Procedure - -0. all changes mentioned apply to files in the PC/os2emx subdirectory - of the Python release source tree. make is also executed from this - directory, so change into this directory before proceeding. - -1. decide if you need to change the location of the Python installation. - If you wish to do this, set the value of the Makefile variable LIB_DIR - to the directory you wish to use for PYTHONHOME - (eg /usr/local/lib/python2.6). - - If you want Python to find its library without the PYTHONHOME - environment variable set, set the value of the Makefile variable - FIXED_PYHOME to "yes" (uncomment the appropriate line). - -2. If you wish the Python executables (python.exe, pythonpm.exe & pgen.exe) - to be installed in a directory other than the PYTHONHOME directory, set - the value of the Makefile variable EXE_DIR to the appropriate directory. - -3. If you wish the Python core DLL (python34.dll) to be installed in a - directory other than the directory in which the Python executables are - installed (by default, the PYTHONHOME directory), set the value of the - Makefile variable DLL_DIR to the appropriate directory. This DLL must - be placed in a directory on the system's LIBPATH, or that gets set - with BEGINLIBPATH or ENDLIBPATH. - -4. If you have installed any of the libraries that can be used to build - optional Python modules, set the value of the relevant HAVE_ - Makefile variable to "yes". The Makefile currently supports: - - library Makefile variable - ........................................ - zlib (1.1.4) HAVE_ZLIB - GNU UltraFast Crypt HAVE_UFC - Tcl/Tk HAVE_TCLTK (not known to work) - GNU Readline HAVE_GREADLINE - ncurses HAVE_NCURSES - GNU gdbm HAVE_GDBM - libbz2 HAVE_BZ2 - OpenSSL HAVE_OPENSSL - - Please note that you need to check that what you have installed - is compatible with Python's build options. In particular, the - BSD DB v1.85 library needs to be rebuilt with a source patch for - multithread support (doesn't change the library's reentrant status - but allows it to be linked to Python which is multithreaded). - Widely available binary packages of other librarys & DLLs are - not built/linked with multithread support. Beware! - - Also note that the Makefile currently expects any libraries to be - found with the default library search path. You may need to add - -L switches to the LDFLAGS Makefile variable if you have installed - libraries in directories not in the default search path (which can - be controlled by the LIBRARY_PATH environment variable used by EMX). - -5. make - - It is usually a good idea to redirect the stdout and stderr streams - of the make process to log files, so that you can review any messages. - -6. make test - - This runs the Python regression tests, and completion is a sign of - a usable build. You should check the list of skipped modules to - ensure that any optional modules you selected have been built; - checking the list of failures against the list of known failures - elsewhere in this document is also prudent. - -7. make install - >>>>>> NOT YET COMPLETE <<<<<< - -8. change to a directory outside the Python source tree and start Python. - Check the version and build date to confirm satisfactory installation. - - -YOU HAVE BEEN WARNED!! ----------------------- - -I know about a number of nasties in this port. - -1. Eberhard Mattes, author of EMX, writes in his documentation that fork() -is very inefficient in the OS/2 environment. It also requires that the -executable be linked in a.out format rather than OMF. Use the os.exec -and/or the os.spawn family of functions where possible. - -2. In the absence of GNU Readline, terminating the interpreter requires a -control-Z (^Z) followed by a carriage return. Jeff Rush documented this -problem in his Python 1.5.2 port. With Readline, a control-D (^D) works -as per the standard Unix environment. - -3. EMX only has a partial implementation of fcntl(). The fcntl module -in this port supports what EMX supports. If fcntl is important to you, -please review the EMX C Library Reference (included in .INF format in the -EMXVIEW.ZIP archive as part of the complete EMX development tools suite). -Because of other side-effects I have modified the test_fcntl.py test -script to deactivate the exercising of the missing functionality. - -4. The readline module has been linked against ncurses rather than the -termcap library supplied with EMX. - -5. I have configured this port to use "/" as the preferred path separator -character, rather than "\" ('\\'), in line with the convention supported -by EMX. Backslashes are still supported of course, and still appear in -unexpected places due to outside sources that don't get normalised. - -6. While the DistUtils components are now functional, other -packaging/binary handling tools and utilities such as those included in -the Demo and Tools directories - freeze in particular - are unlikely to -work. If you do get them going, I'd like to know about your success. - -7. I haven't set out to support the [BEGIN|END]LIBPATH functionality -supported by one of the earlier ports (Rush's??). If it works let me know. - -8. As a result of the limitations imposed by EMX's library routines, the -standard extension module pwd only synthesises a simple passwd database, -and the grp module cannot be supported at all. - -I have written pure Python substitutes for pwd and grp, which can process -real passwd and group files for those applications (such as MailMan) that -require more than EMX emulates. I have placed pwd.py and grp.py in -Lib/plat-os2emx, which is usually before Lib/lib-dynload (which contains -pwd.pyd) in the PYTHONPATH. If you have become attached to what pwd.pyd -supports, you can put Lib/lib-dynload before Lib/plat-os2emx in PYTHONPATH -or delete/rename pwd.py & grp.py. - -pwd.py & grp.py support locating their data files by looking in the -environment for them in the following sequence: -pwd.py: $ETC_PASSWD (%ETC_PASSWD%) - $ETC/passwd (%ETC%/passwd) - $PYTHONHOME/Etc/passwd (%PYTHONHOME%/Etc/passwd) -grp.py: $ETC_GROUP (%ETC_GROUP%) - $ETC/group (%ETC%/group) - $PYTHONHOME/Etc/group (%PYTHONHOME%/Etc/group) - -The ETC_PASSWD and ETC_GROUP environment variables are intended to allow -support for multiple passwd/grp files, where other applications may not -support as wide a variety of input variations (drive remappings, -separators etc). - -Both modules support using either the ":" character (Unix standard) or -";" (OS/2, DOS, Windows standard) field separator character, and pwd.py -implements the following drive letter conversions for the home_directory and -shell fields (for the ":" separator only): - $x -> x: - x; -> x: - -Example versions of passwd and group are in the Etc subdirectory. The -regression tests (test_pwd and test_grp) will fail if valid password and -group files cannot be found, but should pass otherwise. - -Be aware that Python's pwd & group modules are for reading password and -group information only. - -11. EMX's termios routines don't support all of the functionality now -exposed by the termios module - refer to the EMX documentation to find -out what is supported. - -12. The case sensitive import semantics introduced in Python 2.1 for other -case insensitive but case preserving file/operating systems (Windows etc), -have been incorporated into this port, and are active by default. Setting -the PYTHONCASEOK environment variable (to any value) reverts to the -previous (case insensitive) semantics. This can be an issue with some -file management utilities that do not preserve the case of file and -directory names. - -13. Because I am statically linking ncurses, the _curses_panel -module has potential problems arising from separate library data areas. -To avoid this, I have configured the _curses_.pyd (imported as -"_curses_panel") to import the ncurses symbols it needs from _curses.dll -(which is the curses module, but with a .dll extension rather than .pyd -so that the dynamic loader can actually import the symbols from it as a -DLL). - -The site module (Lib/site.py) has code added to tweak BEGINLIBPATH so -that _curses.dll is found when _curses_panel is imported. If you have -problems attempting to use the _curses_panel support please let me know, -and I'll have another look at this. - -14. sys.platform reports "os2emx" instead of "os2". os.name still -reports "os2". This change was to make it easier to distinguish between -the VAC++ build (formerly maintained by Michael Muller) and the EMX build -(this port), principally for DistUtils. - -15. it appears that the %W substitution in the EMX strftime() routine has -an off-by-one bug. strftime was listed as passing the regression tests -in previous releases, but this fact appears to have been an oversight in -the regression test suite. To fix this really requires a portable -strftime routine - I'm looking into using one from FreeBSD, but its not -ready yet. - -16. I have successfully built this port with Andy Zabolotny's ports of -pgcc 2.95 and gcc 3.2.1, in addition to EM's gcc 2.8.1. - -I have not attempted to compile Python with any version of gcc prior to -v2.8.1. - -This release sees the default optimisation change to -"-O3 -fomit-frame-pointer -mprobe". This works fine too for pgcc 2.95 -but not for gcc 3.2.1. - -With gcc 3.2.1, -O3 causes 2 unexpected test failures: test_format and -test_unicode. Both these tests pass if -O2 is instead of -O3 with this -compiler, and the performance difference is negligible (in contrast to -gcc 2.8.1 and pgcc 2.95, where the performance difference between the -2 optimisation settings approaches 10%). - -17. os.spawnv() and os.spawnve() expose EMX's library routines rather -than use the emulation in os.py. - -In order to make use of some of the features this makes available in -the OS/2 environment, you should peruse the relevant EMX documentation -(EMXLIB.INF in the EMXVIEW.ZIP archive accompanying the EMX archives -on Hobbes or LEO). Be aware that I have exposed all the "mode" options -supported by EMX, but there are combinations that either cannot be -practically used by/in Python or have the potential to compromise your -system's stability. - -18. pythonpm.exe used to be just python.exe with the WINDOWAPI linker -option set in the pythonpm.def file. In practice, this turns out to do -nothing useful. - -I have written a replacement which wraps the Python DLL in a genuine -Presentation Manager application. This version actually runs the -Python interpreter in a separate thread from the PM shell, in order -that PythonPM has a functioning message queue as good PM apps should. -In its current state, PythonPM's window is hidden. It can be displayed, -although it will have no content as nothing is ever written to the -window. Only the "hide" button is available. Although the code -has support for shutting PythonPM down when the Python interpreter is -still busy (via the "control" menu), this is not well tested and given -comments I've come across in EMX documentation suggesting that the -thread killing operation has problems I would suggest caution in -relying on this capability. - -PythonPM processes commandline parameters normally. The standard input, -output and error streams are only useful if redirected, as PythonPM's -window is not a console in any form and so cannot accept or display -anything. This means that the -i option is ineffective. - -Because the Python thread doesn't create its own message queue, creating -PM Windows and performing most PM operations is not possible from within -this thread. How this will affect supporting PM extensions (such as -Tkinter using a PM port of Tcl/Tk, or wxPython using the PM port of -WxWindows) is still being researched. - -Note that os.fork() _DOES_NOT_WORK_ in PythonPM - SYS3175s are the result -of trying. os.spawnv() _does_ work. PythonPM passes all regression tests -that the standard Python interpreter (python.exe) passes, with the exception -of test_fork1 and test_socket which both attempt to use os.fork(). - -I very much want feedback on the performance, behaviour and utility of -PythonPM. I would like to add a PM console capability to it, but that -will be a non-trivial effort. I may be able to leverage the code in -Illya Vaes' Tcl/Tk port, which would make it easier. - -19. os.chdir() uses EMX's _chdir2(), which supports changing both drive -and directory at once. Similarly, os.getcwd() uses EMX's _getcwd() -which returns drive as well as path. - -20. pyconfig.h is installed in the Include subdirectory with all -other include files. - -21. the default build explicitly sets the number of file handles -available to a Python process to 250. EMX default is 40, which is -insufficient for the tempfile regression test (test_tempfile) which -tries to create 100 temporary files. - -This setting can be overridden via the EMXOPT environment variable: - set EMXOPT=-h250 -is equivalent to the setting currently used. The emxbind utility (if you -have it installed) can also be used to permanently change the setting in -python.exe - please refer to the EMX documentation for more information. - -22. a pure python strptime module is now part of the Python standard -library, superceding a platform specific extension module. This module -leverages the strftime module, and as a result test_strptime fails -due to the EMX strftime bug in item 20 above. - -23. test_posixpath attempts to exercise various Posix path related -functionality. Most of the sub-tests pass, but the "ismount" and -"samestat" subtests fail: -- EMX provides not satisfactory mount point emulation, so "ismount" - cannot succeed; -- EMX documents that successive stat() calls will produce different - results, so "samestat" cannot succeed. - -test_posixpath should skip these tests on EMX. - -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 -Lib/plat-os2emx/_emx_link.py. This is imported into the os module, and -becomes available as os.link() in the normal way. - -The emulation copies the source file in binary mode, and will fail if -disk space is exhausted. The call fails if the target already exists. -There are no guarantees to thread safety with this emulation - beware! - -The emulation was written to support a link() based file locking system -used in GNU Mailman. - -26. AF_UNIX sockets, otherwise known as Unix domain sockets, are now -supported. Unfortunately, there are some traps arising from the -implementation in IBM's TCP/IP stack:- -- the path name must start with '\\socket\\' ('/socket/' won't work!), - with the length of the full path name less than 108 characters; -- unlike Unix, the socket endpoints don't exist in the filesystem; -- by default, sockets are in binary mode. - -27. As of Python 2.4, the mpz, rotor and xreadlines modules have been -dropped from the Python source tree. - -28. The subprocess module was added to the standard library relatively -late in the 2.4 development cycle. Unfortunately I haven't had the -round tuits to adapt the module to the EMX environment yet, and -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 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. 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 :-( - -If you encounter other difficulties with this port, which can be -characterised as peculiar to this port rather than to the Python release, -I would like to hear about them. However I cannot promise to be able to do -anything to resolve such problems. See the Contact section below... - - -To do... --------- - -In no particular order of apparent importance or likelihood... - -- support Tkinter and/or alternative GUI (wxWindows??) - - -Credits -------- - -In addition to people identified above, I'd like to thank: -- the BDFL, Guido van Rossum, and crew for Python; -- Dr David Mertz, for trying out a pre-release of this port; -- the Python-list/comp.lang.python community; -- John Poltorak, for input about pwd/grp. - -Contact -------- - -Constructive feedback, negative or positive, about this port is welcome -and should be addressed to me at the e-mail addresses below. - -I have a private mailing list for announcements of fixes & updates to -this port. If you wish to receive such e-mail announcments, please send -me an e-mail requesting that you be added to this list. - -Andrew MacIntyre -E-mail: andymac@bullseye.apana.org.au, or andymac@pcug.org.au -Web: http://www.andymac.org/ - -28 January, 2008. diff --git a/PC/os2emx/config.c b/PC/os2emx/config.c deleted file mode 100644 index 5879110aa6a..00000000000 --- a/PC/os2emx/config.c +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- C -*- *********************************************** -Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, -The Netherlands. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Stichting Mathematisch -Centrum or CWI or Corporation for National Research Initiatives or -CNRI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -While CWI is the initial source for this software, a modified version -is made available by the Corporation for National Research Initiatives -(CNRI) at the Internet address ftp://ftp.python.org. - -STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH -CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -/* Module configuration */ - -/* This file contains the table of built-in modules. - See init_builtin() in import.c. */ - -#include "Python.h" - -extern void initos2(); -extern void initsignal(); -#ifdef WITH_THREAD -extern void init_thread(); -#endif -extern void init_codecs(); -extern void init_csv(); -extern void init_locale(); -extern void init_random(); -extern void init_sre(); -extern void init_symtable(); -extern void init_weakref(); -extern void initarray(); -extern void initbinascii(); -extern void initcollections(); -extern void initcmath(); -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 init_md5(); -extern void initoperator(); -extern void init_sha(); -extern void init_sha256(); -extern void init_sha512(); -extern void init_struct(); -extern void inittermios(); -extern void inittime(); -extern void initxxsubtype(); -extern void initzipimport(); -#if !HAVE_DYNAMIC_LOADING -extern void init_curses(); -extern void init_curses_panel(); -extern void init_testcapi(); -extern void initbz2(); -extern void initfpectl(); -extern void initfpetest(); -extern void initparser(); -extern void initpwd(); -extern void initunicodedata(); -extern void initzlib(); -#ifdef USE_SOCKET -extern void init_socket(); -extern void initselect(); -#endif -#endif -/* -- ADDMODULE MARKER 1 -- */ - -extern void PyMarshal_Init(); -extern void initimp(); -extern void initgc(); - -struct _inittab _PyImport_Inittab[] = { - - {"os2", initos2}, - {"signal", initsignal}, -#ifdef WITH_THREAD - {"_thread", init_thread}, -#endif - {"_codecs", init_codecs}, - {"_csv", init_csv}, - {"_locale", init_locale}, - {"_random", init_random}, - {"_sre", init_sre}, - {"_symtable", init_symtable}, - {"_weakref", init_weakref}, - {"array", initarray}, - {"binascii", initbinascii}, - {"collections", initcollections}, - {"cmath", initcmath}, - {"datetime", initdatetime}, - {"dl", initdl}, - {"errno", initerrno}, - {"fcntl", initfcntl}, - {"_functools", init_functools}, - {"_heapq", init_heapq}, - {"imageop", initimageop}, - {"itertools", inititertools}, - {"math", initmath}, - {"operator", initoperator}, - {"_sha256", init_sha256}, - {"_sha512", init_sha512}, - {"_struct", init_struct}, - {"termios", inittermios}, - {"time", inittime}, - {"xxsubtype", initxxsubtype}, - {"zipimport", initzipimport}, -#if !HAVE_DYNAMIC_LOADING - {"_curses", init_curses}, - {"_curses_panel", init_curses_panel}, - {"_testcapi", init_testcapi}, - {"bz2", initbz2}, - {"fpectl", initfpectl}, - {"fpetest", initfpetest}, - {"parser", initparser}, - {"pwd", initpwd}, - {"unicodedata", initunicodedata}, - {"zlib", initzlib}, -#ifdef USE_SOCKET - {"_socket", init_socket}, - {"select", initselect}, -#endif -#endif -/* -- ADDMODULE MARKER 2 -- */ - - /* This module "lives in" with marshal.c */ - {"marshal", PyMarshal_Init}, - - /* This lives it with import.c */ - {"_imp", initimp}, - - /* These entries are here for sys.builtin_module_names */ - {"builtins", NULL}, - {"sys", NULL}, - - /* This lives in gcmodule.c */ - {"gc", initgc}, - - /* Sentinel */ - {0, 0} -}; diff --git a/PC/os2emx/dlfcn.c b/PC/os2emx/dlfcn.c deleted file mode 100644 index ebda9cd94b5..00000000000 --- a/PC/os2emx/dlfcn.c +++ /dev/null @@ -1,223 +0,0 @@ -/* -*- C -*- *********************************************** -Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, -The Netherlands. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Stichting Mathematisch -Centrum or CWI or Corporation for National Research Initiatives or -CNRI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -While CWI is the initial source for this software, a modified version -is made available by the Corporation for National Research Initiatives -(CNRI) at the Internet address ftp://ftp.python.org. - -STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH -CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -/* This library implements dlopen() - Unix-like dynamic linking - * emulation functions for OS/2 using DosLoadModule() and company. - */ - -#define INCL_DOS -#define INCL_DOSERRORS -#define INCL_DOSSESMGR -#define INCL_WINPROGRAMLIST -#define INCL_WINFRAMEMGR -#include - -#include -#include -#include -#include - -typedef struct _track_rec { - char *name; - HMODULE handle; - void *id; - struct _track_rec *next; -} tDLLchain, *DLLchain; - -static DLLchain dlload = NULL; /* A simple chained list of DLL names */ -static char dlerr [256]; /* last error text string */ -static void *last_id; - -static DLLchain find_id(void *id) -{ - DLLchain tmp; - - for (tmp = dlload; tmp; tmp = tmp->next) - if (id == tmp->id) - return tmp; - - return NULL; -} - -/* load a dynamic-link library and return handle */ -void *dlopen(char *filename, int flags) -{ - HMODULE hm; - DLLchain tmp; - char err[256]; - char *errtxt; - int rc = 0, set_chain = 0; - - for (tmp = dlload; tmp; tmp = tmp->next) - if (strnicmp(tmp->name, filename, 999) == 0) - break; - - if (!tmp) - { - tmp = (DLLchain) malloc(sizeof(tDLLchain)); - if (!tmp) - goto nomem; - tmp->name = strdup(filename); - tmp->next = dlload; - set_chain = 1; - } - - switch (rc = DosLoadModule((PSZ)&err, sizeof(err), filename, &hm)) - { - case NO_ERROR: - tmp->handle = hm; - if (set_chain) - { - do - last_id++; - while ((last_id == 0) || (find_id(last_id))); - tmp->id = last_id; - dlload = tmp; - } - return tmp->id; - case ERROR_FILE_NOT_FOUND: - case ERROR_PATH_NOT_FOUND: - errtxt = "module `%s' not found"; - break; - case ERROR_TOO_MANY_OPEN_FILES: - case ERROR_NOT_ENOUGH_MEMORY: - case ERROR_SHARING_BUFFER_EXCEEDED: -nomem: - errtxt = "out of system resources"; - break; - case ERROR_ACCESS_DENIED: - errtxt = "access denied"; - break; - case ERROR_BAD_FORMAT: - case ERROR_INVALID_SEGMENT_NUMBER: - case ERROR_INVALID_ORDINAL: - case ERROR_INVALID_MODULETYPE: - case ERROR_INVALID_EXE_SIGNATURE: - case ERROR_EXE_MARKED_INVALID: - case ERROR_ITERATED_DATA_EXCEEDS_64K: - case ERROR_INVALID_MINALLOCSIZE: - case ERROR_INVALID_SEGDPL: - case ERROR_AUTODATASEG_EXCEEDS_64K: - case ERROR_RELOCSRC_CHAIN_EXCEEDS_SEGLIMIT: - errtxt = "invalid module format"; - break; - case ERROR_INVALID_NAME: - errtxt = "filename doesn't match module name"; - break; - case ERROR_SHARING_VIOLATION: - case ERROR_LOCK_VIOLATION: - errtxt = "sharing violation"; - break; - case ERROR_INIT_ROUTINE_FAILED: - errtxt = "module initialization failed"; - break; - default: - errtxt = "cause `%s', error code = %d"; - break; - } - snprintf(dlerr, sizeof(dlerr), errtxt, &err, rc); - if (tmp) - { - if (tmp->name) - free(tmp->name); - free(tmp); - } - return 0; -} - -/* return a pointer to the `symbol' in DLL */ -void *dlsym(void *handle, char *symbol) -{ - int rc = 0; - PFN addr; - char *errtxt; - int symord = 0; - DLLchain tmp = find_id(handle); - - if (!tmp) - goto inv_handle; - - if (*symbol == '#') - symord = atoi(symbol + 1); - - switch (rc = DosQueryProcAddr(tmp->handle, symord, symbol, &addr)) - { - case NO_ERROR: - return (void *)addr; - case ERROR_INVALID_HANDLE: -inv_handle: - errtxt = "invalid module handle"; - break; - case ERROR_PROC_NOT_FOUND: - case ERROR_INVALID_NAME: - errtxt = "no symbol `%s' in module"; - break; - default: - errtxt = "symbol `%s', error code = %d"; - break; - } - snprintf(dlerr, sizeof(dlerr), errtxt, symbol, rc); - return NULL; -} - -/* free dynamically-linked library */ -int dlclose(void *handle) -{ - int rc; - DLLchain tmp = find_id(handle); - - if (!tmp) - goto inv_handle; - - switch (rc = DosFreeModule(tmp->handle)) - { - case NO_ERROR: - free(tmp->name); - dlload = tmp->next; - free(tmp); - return 0; - case ERROR_INVALID_HANDLE: -inv_handle: - strcpy(dlerr, "invalid module handle"); - return -1; - case ERROR_INVALID_ACCESS: - strcpy(dlerr, "access denied"); - return -1; - default: - return -1; - } -} - -/* return a string describing last occurred dl error */ -char *dlerror() -{ - return dlerr; -} diff --git a/PC/os2emx/dlfcn.h b/PC/os2emx/dlfcn.h deleted file mode 100644 index f73ae695133..00000000000 --- a/PC/os2emx/dlfcn.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- C -*- *********************************************** -Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, -The Netherlands. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Stichting Mathematisch -Centrum or CWI or Corporation for National Research Initiatives or -CNRI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -While CWI is the initial source for this software, a modified version -is made available by the Corporation for National Research Initiatives -(CNRI) at the Internet address ftp://ftp.python.org. - -STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH -CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -/* This library implements dlopen() - Unix-like dynamic linking - * emulation functions for OS/2 using DosLoadModule() and company. - */ - -#ifndef _DLFCN_H -#define _DLFCN_H - -/* load a dynamic-link library and return handle */ -void *dlopen(char *filename, int flags); - -/* return a pointer to the `symbol' in DLL */ -void *dlsym(void *handle, char *symbol); - -/* free dynamically-linked library */ -int dlclose(void *handle); - -/* return a string describing last occurred dl error */ -char *dlerror(void); - -#endif /* !_DLFCN_H */ diff --git a/PC/os2emx/dllentry.c b/PC/os2emx/dllentry.c deleted file mode 100644 index 9ccca1c8c82..00000000000 --- a/PC/os2emx/dllentry.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This is the entry point for the Python 2.3 core DLL. - */ - -#define NULL 0 - -#define REF(s) extern void s(); void *____ref_##s = &s; - -/* Make references to imported symbols to pull them from static library */ -REF(Py_Main); - -#include - -extern int _CRT_init(void); -extern void _CRT_term(void); -extern void __ctordtorInit(void); -extern void __ctordtorTerm(void); - -unsigned long _DLL_InitTerm(unsigned long mod_handle, unsigned long flag) -{ - switch (flag) - { - case 0: - if (_CRT_init()) - return 0; - __ctordtorInit(); - - /* Ignore fatal signals */ - signal(SIGSEGV, SIG_IGN); - signal(SIGFPE, SIG_IGN); - - return 1; - - case 1: - __ctordtorTerm(); - _CRT_term(); - return 1; - - default: - return 0; - } -} diff --git a/PC/os2emx/getpathp.c b/PC/os2emx/getpathp.c deleted file mode 100644 index 0d73774ce0e..00000000000 --- a/PC/os2emx/getpathp.c +++ /dev/null @@ -1,418 +0,0 @@ - -/* Return the initial module search path. */ -/* This version used by OS/2+EMX */ - -/* ---------------------------------------------------------------- - PATH RULES FOR OS/2+EMX: - This describes how sys.path is formed on OS/2+EMX. It describes the - functionality, not the implementation (ie, the order in which these - are actually fetched is different) - - * Python always adds an empty entry at the start, which corresponds - to the current directory. - - * If the PYTHONPATH env. var. exists, its entries are added next. - - * We attempt to locate the "Python Home" - if the PYTHONHOME env var - is set, we believe it. Otherwise, we use the path of our host .EXE's - to try and locate our "landmark" (lib\\os.py) and deduce our home. - - If we DO have a Python Home: The relevant sub-directories (Lib, - plat-win, etc) are based on the Python Home - - If we DO NOT have a Python Home, the core Python Path is - loaded from the registry. This is the main PythonPath key, - and both HKLM and HKCU are combined to form the path) - - * Iff - we can not locate the Python Home, and have not had a PYTHONPATH - specified (ie, we have _nothing_ we can assume is a good path), a - default path with relative entries is used (eg. .\Lib;.\plat-win, etc) - - - The end result of all this is: - * When running python.exe, or any other .exe in the main Python directory - (either an installed version, or directly from the PCbuild directory), - the core path is deduced. - - * When Python is hosted in another exe (different directory, embedded via - COM, etc), the Python Home will not be deduced, so the core path from - the registry is used. Other "application paths "in the registry are - always read. - - * If Python can't find its home and there is no registry (eg, frozen - exe, some very strange installation setup) you get a path with - some default, but relative, paths. - - ---------------------------------------------------------------- */ - - -#include "Python.h" -#include "osdefs.h" - -#ifndef PYOS_OS2 -#error This file only compilable on OS/2 -#endif - -#define INCL_DOS -#include - -#include -#include -#include - -#if HAVE_UNISTD_H -#include -#endif /* HAVE_UNISTD_H */ - -/* Search in some common locations for the associated Python libraries. - * - * Py_GetPath() tries to return a sensible Python module search path. - * - * The approach is an adaptation for Windows of the strategy used in - * ../Modules/getpath.c; it uses the Windows Registry as one of its - * information sources. - */ - -#ifndef LANDMARK -#if defined(PYCC_GCC) -#define LANDMARK "lib/os.py" -#else -#define LANDMARK "lib\\os.py" -#endif -#endif - -static char prefix[MAXPATHLEN+1]; -static char progpath[MAXPATHLEN+1]; -static char *module_search_path = NULL; - - -static int -is_sep(char ch) /* determine if "ch" is a separator character */ -{ -#ifdef ALTSEP - return ch == SEP || ch == ALTSEP; -#else - return ch == SEP; -#endif -} - -/* assumes 'dir' null terminated in bounds. - * Never writes beyond existing terminator. - */ -static void -reduce(char *dir) -{ - size_t i = strlen(dir); - while (i > 0 && !is_sep(dir[i])) - --i; - dir[i] = '\0'; -} - -static int -exists(char *filename) -{ - struct stat buf; - return stat(filename, &buf) == 0; -} - -/* Is module (check for .pyc/.pyo too) - * Assumes 'filename' MAXPATHLEN+1 bytes long - - * may extend 'filename' by one character. - */ -static int -ismodule(char *filename) -{ - if (exists(filename)) - return 1; - - /* Check for the compiled version of prefix. */ - if (strlen(filename) < MAXPATHLEN) { - strcat(filename, Py_OptimizeFlag ? "o" : "c"); - if (exists(filename)) - return 1; - } - return 0; -} - -/* Add a path component, by appending stuff to buffer. - buffer must have at least MAXPATHLEN + 1 bytes allocated, and contain a - NUL-terminated string with no more than MAXPATHLEN characters (not counting - the trailing NUL). It's a fatal error if it contains a string longer than - that (callers must be careful!). If these requirements are met, it's - guaranteed that buffer will still be a NUL-terminated string with no more - than MAXPATHLEN characters at exit. If stuff is too long, only as much of - stuff as fits will be appended. -*/ - -static void -join(char *buffer, char *stuff) -{ - size_t n, k; - if (is_sep(stuff[0])) - n = 0; - else { - n = strlen(buffer); - if (n > 0 && !is_sep(buffer[n-1]) && n < MAXPATHLEN) - buffer[n++] = SEP; - } - if (n > MAXPATHLEN) - Py_FatalError("buffer overflow in getpathp.c's joinpath()"); - k = strlen(stuff); - if (n + k > MAXPATHLEN) - k = MAXPATHLEN - n; - strncpy(buffer+n, stuff, k); - buffer[n+k] = '\0'; -} - -/* gotlandmark only called by search_for_prefix, which ensures - * 'prefix' is null terminated in bounds. join() ensures - * 'landmark' can not overflow prefix if too long. - */ -static int -gotlandmark(char *landmark) -{ - int n, ok; - - n = strlen(prefix); - join(prefix, landmark); - ok = ismodule(prefix); - prefix[n] = '\0'; - return ok; -} - -/* assumes argv0_path is MAXPATHLEN+1 bytes long, already \0 term'd. - * assumption provided by only caller, calculate_path() - */ -static int -search_for_prefix(char *argv0_path, char *landmark) -{ - /* Search from argv0_path, until landmark is found */ - strcpy(prefix, argv0_path); - do { - if (gotlandmark(landmark)) - return 1; - reduce(prefix); - } while (prefix[0]); - return 0; -} - - -static void -get_progpath(void) -{ - extern char *Py_GetProgramName(void); - char *path = getenv("PATH"); - char *prog = Py_GetProgramName(); - - PPIB pib; - if ((DosGetInfoBlocks(NULL, &pib) == 0) && - (DosQueryModuleName(pib->pib_hmte, sizeof(progpath), progpath) == 0)) - return; - - if (prog == NULL || *prog == '\0') - prog = "python"; - - /* If there is no slash in the argv0 path, then we have to - * assume python is on the user's $PATH, since there's no - * other way to find a directory to start the search from. If - * $PATH isn't exported, you lose. - */ -#ifdef ALTSEP - if (strchr(prog, SEP) || strchr(prog, ALTSEP)) -#else - if (strchr(prog, SEP)) -#endif - strncpy(progpath, prog, MAXPATHLEN); - else if (path) { - while (1) { - char *delim = strchr(path, DELIM); - - if (delim) { - size_t len = delim - path; - /* ensure we can't overwrite buffer */ -#if !defined(PYCC_GCC) - len = min(MAXPATHLEN,len); -#else - len = MAXPATHLEN < len ? MAXPATHLEN : len; -#endif - strncpy(progpath, path, len); - *(progpath + len) = '\0'; - } - else - strncpy(progpath, path, MAXPATHLEN); - - /* join() is safe for MAXPATHLEN+1 size buffer */ - join(progpath, prog); - if (exists(progpath)) - break; - - if (!delim) { - progpath[0] = '\0'; - break; - } - path = delim + 1; - } - } - else - progpath[0] = '\0'; -} - -static void -calculate_path(void) -{ - char argv0_path[MAXPATHLEN+1]; - char *buf; - size_t bufsz; - char *pythonhome = Py_GetPythonHome(); - char *envpath = getenv("PYTHONPATH"); - char zip_path[MAXPATHLEN+1]; - size_t len; - - get_progpath(); - /* progpath guaranteed \0 terminated in MAXPATH+1 bytes. */ - strcpy(argv0_path, progpath); - reduce(argv0_path); - if (pythonhome == NULL || *pythonhome == '\0') { - if (search_for_prefix(argv0_path, LANDMARK)) - pythonhome = prefix; - else - pythonhome = NULL; - } - else - strncpy(prefix, pythonhome, MAXPATHLEN); - - if (envpath && *envpath == '\0') - envpath = NULL; - - /* Calculate zip archive path */ - strncpy(zip_path, progpath, MAXPATHLEN); - zip_path[MAXPATHLEN] = '\0'; - len = strlen(zip_path); - if (len > 4) { - zip_path[len-3] = 'z'; /* change ending to "zip" */ - zip_path[len-2] = 'i'; - zip_path[len-1] = 'p'; - } - else { - zip_path[0] = 0; - } - - /* We need to construct a path from the following parts. - * (1) the PYTHONPATH environment variable, if set; - * (2) the zip archive file path; - * (3) the PYTHONPATH config macro, with the leading "." - * of each component replaced with pythonhome, if set; - * (4) the directory containing the executable (argv0_path). - * The length calculation calculates #3 first. - */ - - /* Calculate size of return buffer */ - if (pythonhome != NULL) { - char *p; - bufsz = 1; - for (p = PYTHONPATH; *p; p++) { - if (*p == DELIM) - bufsz++; /* number of DELIM plus one */ - } - bufsz *= strlen(pythonhome); - } - else - bufsz = 0; - bufsz += strlen(PYTHONPATH) + 1; - bufsz += strlen(argv0_path) + 1; - bufsz += strlen(zip_path) + 1; - if (envpath != NULL) - bufsz += strlen(envpath) + 1; - - module_search_path = buf = malloc(bufsz); - if (buf == NULL) { - /* We can't exit, so print a warning and limp along */ - fprintf(stderr, "Can't malloc dynamic PYTHONPATH.\n"); - if (envpath) { - fprintf(stderr, "Using environment $PYTHONPATH.\n"); - module_search_path = envpath; - } - else { - fprintf(stderr, "Using default static path.\n"); - module_search_path = PYTHONPATH; - } - return; - } - - if (envpath) { - strcpy(buf, envpath); - buf = strchr(buf, '\0'); - *buf++ = DELIM; - } - if (zip_path[0]) { - strcpy(buf, zip_path); - buf = strchr(buf, '\0'); - *buf++ = DELIM; - } - - if (pythonhome == NULL) { - strcpy(buf, PYTHONPATH); - buf = strchr(buf, '\0'); - } - else { - char *p = PYTHONPATH; - char *q; - size_t n; - for (;;) { - q = strchr(p, DELIM); - if (q == NULL) - n = strlen(p); - else - n = q-p; - if (p[0] == '.' && is_sep(p[1])) { - strcpy(buf, pythonhome); - buf = strchr(buf, '\0'); - p++; - n--; - } - strncpy(buf, p, n); - buf += n; - if (q == NULL) - break; - *buf++ = DELIM; - p = q+1; - } - } - if (argv0_path) { - *buf++ = DELIM; - strcpy(buf, argv0_path); - buf = strchr(buf, '\0'); - } - *buf = '\0'; -} - - -/* External interface */ - -char * -Py_GetPath(void) -{ - if (!module_search_path) - calculate_path(); - return module_search_path; -} - -char * -Py_GetPrefix(void) -{ - if (!module_search_path) - calculate_path(); - return prefix; -} - -char * -Py_GetExecPrefix(void) -{ - return Py_GetPrefix(); -} - -char * -Py_GetProgramFullPath(void) -{ - if (!module_search_path) - calculate_path(); - return progpath; -} diff --git a/PC/os2emx/pyconfig.h b/PC/os2emx/pyconfig.h deleted file mode 100644 index e56105af574..00000000000 --- a/PC/os2emx/pyconfig.h +++ /dev/null @@ -1,332 +0,0 @@ -#ifndef Py_CONFIG_H -#define Py_CONFIG_H - -#error "PEP 11: OS/2 is now unsupported, code will be removed in Python 3.4" - -/* config.h. - * At some time in the past, generated automatically by/from configure. - * now maintained manually. - */ - -/* build environment */ -#define PLATFORM "os2emx" -#define COMPILER "[EMX GCC " __VERSION__ "]" -#define PYOS_OS2 1 -#define PYCC_GCC 1 - -/* default location(s) */ -#ifndef PREFIX -#define PREFIX "" -#endif -#ifndef PYTHONPATH -#define PYTHONPATH "./Lib;./Lib/plat-" PLATFORM \ - ";./Lib/lib-dynload;./Lib/site-packages" -#endif - -/* Debugging */ -#ifndef Py_DEBUG -/*#define Py_DEBUG 1*/ -#endif - -/* if building an extension or wrapper executable, - * mark Python API symbols "extern" so that symbols - * imported from the Python core DLL aren't duplicated. - */ -#ifdef Py_BUILD_CORE -# define PyAPI_FUNC(RTYPE) RTYPE -#else -# define PyAPI_FUNC(RTYPE) extern RTYPE -#endif -#define PyAPI_DATA(RTYPE) extern RTYPE -#define PyMODINIT_FUNC void - -/* Use OS/2 flavour of threads */ -#define WITH_THREAD 1 -#define OS2_THREADS 1 - -/* We want sockets */ -#define TCPIPV4 1 -#define USE_SOCKET 1 -#define socklen_t int -#define FD_SETSIZE 1024 - -/* enable the Python object allocator */ -#define WITH_PYMALLOC 1 - -/* enable the GC module */ -#define WITH_CYCLE_GC 1 - -/* Define if you want documentation strings in extension modules */ -#define WITH_DOC_STRINGS 1 - -/* Unicode related */ -#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 -#define HAVE_GETEGID 1 -#define HAVE_GETEUID 1 -#define HAVE_GETGID 1 -#define HAVE_GETPPID 1 -#define HAVE_GETUID 1 -#define HAVE_OPENDIR 1 -#define HAVE_PIPE 1 -#define HAVE_POPEN 1 -#define HAVE_SYSTEM 1 -#define HAVE_TTYNAME 1 -#define HAVE_DYNAMIC_LOADING 1 - -/* if port of GDBM installed, it includes NDBM emulation */ -#define HAVE_NDBM_H 1 - -/* need this for spawnv code in posixmodule (cloned from WIN32 def'n) */ -typedef long intptr_t; - -/* we don't have tm_zone but do have the external array tzname */ -#define HAVE_TZNAME 1 - -/* Define as the return type of signal handlers (int or void). */ -#define RETSIGTYPE void - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both and . */ -#define TIME_WITH_SYS_TIME 1 - -/* Define this if you have the type long long. */ -#define HAVE_LONG_LONG 1 - -/* Define if your compiler supports function prototypes. */ -#define HAVE_PROTOTYPES 1 - -/* Define if your compiler supports variable length function prototypes - * (e.g. void fprintf(FILE *, char *, ...);) *and* . - */ -#define HAVE_STDARG_PROTOTYPES 1 - -/* Define if malloc(0) returns a NULL pointer. */ -#define MALLOC_ZERO_RETURNS_NULL 1 - -/* Define to force use of thread-safe errno, h_errno, and other functions. */ -#define _REENTRANT 1 - -/* Define if you can safely include both and - * (which you can't on SCO ODT 3.0). - */ -#define SYS_SELECT_WITH_SYS_TIME 1 - -/* The number of bytes in an off_t. */ -#define SIZEOF_OFF_T 4 - -/* The number of bytes in an time_t. */ -#define SIZEOF_TIME_T 4 - -/* The number of bytes in a short. */ -#define SIZEOF_SHORT 2 - -/* The number of bytes in a int. */ -#define SIZEOF_INT 4 - -/* The number of bytes in a long. */ -#define SIZEOF_LONG 4 - -/* The number of bytes in a long long. */ -#define SIZEOF_LONG_LONG 8 - -/* 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 - -/* Define if you have the clock function. */ -#define HAVE_CLOCK 1 - -/* Define if you have the dup2 function. */ -#define HAVE_DUP2 1 - -/* Define if you have the execv function. */ -#define HAVE_EXECV 1 - -/* Define if you have the spawnv function. */ -#define HAVE_SPAWNV 1 - -/* Define if you have the flock function. */ -#define HAVE_FLOCK 1 - -/* Define if you have the fork function. */ -#define HAVE_FORK 1 - -/* Define if you have the fsync function. */ -#define HAVE_FSYNC 1 - -/* Define if you have the ftime function. */ -#define HAVE_FTIME 1 - -/* Define if you have the ftruncate function. */ -#define HAVE_FTRUNCATE 1 - -/* Define if you have the getcwd function. */ -#define HAVE_GETCWD 1 - -/* Define if you have the getpeername function. */ -#define HAVE_GETPEERNAME 1 - -/* Define if you have the getpgrp function. */ -#define HAVE_GETPGRP 1 - -/* Define if you have the getpid function. */ -#define HAVE_GETPID 1 - -/* Define if you have the getpwent function. */ -#define HAVE_GETPWENT 1 - -/* Define if you have the gettimeofday function. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define if you have the getwd function. */ -#define HAVE_GETWD 1 - -/* Define if you have the hypot function. */ -#define HAVE_HYPOT 1 - -/* Define if you have the kill function. */ -#define HAVE_KILL 1 - -/* Define if you have the memmove function. */ -#define HAVE_MEMMOVE 1 - -/* Define if you have the mktime function. */ -#define HAVE_MKTIME 1 - -/* Define if you have the pause function. */ -#define HAVE_PAUSE 1 - -/* Define if you have the putenv function. */ -#define HAVE_PUTENV 1 - -/* Define if you have the select function. */ -#define HAVE_SELECT 1 - -/* Define if you have the setgid function. */ -#define HAVE_SETGID 1 - -/* Define if you have the setlocale function. */ -#define HAVE_SETLOCALE 1 - -/* Define if you have the setpgid function. */ -#define HAVE_SETPGID 1 - -/* Define if you have the setuid function. */ -#define HAVE_SETUID 1 - -/* Define if you have the setvbuf function. */ -#define HAVE_SETVBUF 1 - -/* Define if you have the sigaction function. */ -#define HAVE_SIGACTION 1 - -/* Define if you have the strerror function. */ -#define HAVE_STRERROR 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have the tcgetpgrp function. */ -#define HAVE_TCGETPGRP 1 - -/* Define if you have the tcsetpgrp function. */ -#define HAVE_TCSETPGRP 1 - -/* Define if you have the tmpfile function. */ -#define HAVE_TMPFILE 1 - -/* Define if you have the times function. */ -#define HAVE_TIMES 1 - -/* Define if you have the truncate function. */ -#define HAVE_TRUNCATE 1 - -/* Define if you have the uname function. */ -#define HAVE_UNAME 1 - -/* Define if you have the waitpid function. */ -#define HAVE_WAITPID 1 - -/* Define if you have the header file. */ -#undef HAVE_CONIO_H - -/* Define if you have the header file. */ -#undef HAVE_DIRECT_H - -/* Define if you have the header file. */ -#define HAVE_DIRENT_H 1 - -/* Define if you have the header file. */ -#define HAVE_ERRNO_H 1 - -/* Define if you have the header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the header file. */ -#undef HAVE_IO_H - -/* Define if you have the header file. */ -#define HAVE_NCURSES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_PROCESS_H 1 - -/* Define if you have the header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_FILE_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_PARAM_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_TIMES_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_UN_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_UTSNAME_H 1 - -/* Define if you have the header file. */ -#define HAVE_SYS_WAIT_H 1 - -/* Define if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the header file. */ -#define HAVE_UTIME_H 1 - -/* EMX has an snprintf(). */ -#define HAVE_SNPRINTF 1 - -#endif /* !Py_CONFIG_H */ - diff --git a/PC/os2emx/python34.def b/PC/os2emx/python34.def deleted file mode 100644 index 0a718a1ae9a..00000000000 --- a/PC/os2emx/python34.def +++ /dev/null @@ -1,1314 +0,0 @@ -LIBRARY python34 INITINSTANCE TERMINSTANCE -DESCRIPTION "Python 2.6 Core DLL" -PROTMODE -DATA MULTIPLE NONSHARED -EXPORTS - -; From python34_s.lib(config) - "_PyImport_Inittab" - -; From python34_s.lib(dlfcn) -; "dlopen" -; "dlsym" -; "dlclose" -; "dlerror" - -; From python34_s.lib(getpathp) - "Py_GetProgramFullPath" - "Py_GetPrefix" - "Py_GetExecPrefix" - "Py_GetPath" - -; From python34_s.lib(getbuildinfo) - "Py_GetBuildInfo" - "_Py_svnversion" - -; From python34_s.lib(main) - "Py_Main" - "Py_GetArgcArgv" - -; From python34_s.lib(acceler) - "PyGrammar_AddAccelerators" - "PyGrammar_RemoveAccelerators" - -; From python34_s.lib(grammar1) - "PyGrammar_FindDFA" - "PyGrammar_LabelRepr" - -; From python34_s.lib(listnode) - "PyNode_ListTree" - -; From python34_s.lib(node) - "PyNode_New" - "PyNode_AddChild" - "PyNode_Free" - -; From python34_s.lib(parser) - "PyParser_AddToken" - "PyParser_New" - "PyParser_Delete" - -; From python34_s.lib(parsetok) - "PyParser_ParseString" - "PyParser_ParseStringFlagsFilename" - "PyParser_ParseFile" - "PyParser_ParseFileFlags" - "PyParser_ParseStringFlags" - -; From python34_s.lib(bitset) - "_Py_newbitset" - "_Py_delbitset" - "_Py_addbit" - "_Py_samebitset" - "_Py_mergebitset" - -; From python34_s.lib(metagrammar) - "_Py_meta_grammar" - "Py_meta_grammar" - -; From python34_s.lib(tokenizer) - "PyToken_OneChar" - "PyToken_TwoChars" - "PyToken_ThreeChars" - "PyTokenizer_FromString" - "PyTokenizer_Free" - "PyTokenizer_FromFile" - "PyTokenizer_Get" - "_PyParser_TokenNames" - -; From python34_s.lib(myreadline) - "_PyOS_ReadlineTState" - "PyOS_ReadlineFunctionPointer" - "PyOS_StdioReadline" - "PyOS_Readline" - "PyOS_InputHook" - -; From python34_s.lib(abstract) - "_PyObject_LengthHint" - "PyMapping_Size" - "PyObject_CallMethod" - "PyObject_GetItem" - "PySequence_GetItem" - "PyObject_SetItem" - "PySequence_SetItem" - "PyObject_DelItem" - "PySequence_DelItem" - "PyNumber_Multiply" - "PyNumber_InPlaceAdd" - "PyNumber_InPlaceMultiply" - "PyNumber_Int" - "PyNumber_Long" - "PyNumber_Float" - "PySequence_Concat" - "PySequence_Repeat" - "PySequence_InPlaceConcat" - "PySequence_InPlaceRepeat" - "PySequence_GetSlice" - "PySequence_SetSlice" - "PySequence_Tuple" - "PyObject_GetIter" - "PyIter_Next" - "PySequence_Fast" - "_PySequence_IterSearch" - "PyObject_CallFunction" - "_PyObject_CallFunction_SizeT" - "_PyObject_CallMethod_SizeT" - "PyObject_CallMethodObjArgs" - "PyObject_CallFunctionObjArgs" - "PyObject_Cmp" - "PyObject_Call" - "PyObject_CallObject" - "PyObject_Type" - "PyObject_Size" - "PyObject_Length" - "PyObject_DelItemString" - "PyObject_AsCharBuffer" - "PyObject_CheckReadBuffer" - "PyObject_AsReadBuffer" - "PyObject_AsWriteBuffer" - "PyNumber_Check" - "PyNumber_Add" - "PyNumber_Subtract" - "PyNumber_Divide" - "PyNumber_FloorDivide" - "PyNumber_TrueDivide" - "PyNumber_Remainder" - "PyNumber_Divmod" - "PyNumber_Power" - "PyNumber_Negative" - "PyNumber_Positive" - "PyNumber_Absolute" - "PyNumber_Invert" - "PyNumber_Lshift" - "PyNumber_Rshift" - "PyNumber_And" - "PyNumber_Xor" - "PyNumber_Or" - "PyNumber_Index" - "PyNumber_InPlaceSubtract" - "PyNumber_InPlaceDivide" - "PyNumber_InPlaceFloorDivide" - "PyNumber_InPlaceTrueDivide" - "PyNumber_InPlaceRemainder" - "PyNumber_InPlacePower" - "PyNumber_InPlaceLshift" - "PyNumber_InPlaceRshift" - "PyNumber_InPlaceAnd" - "PyNumber_InPlaceXor" - "PyNumber_InPlaceOr" - "PySequence_Check" - "PySequence_Size" - "PySequence_Length" - "PySequence_DelSlice" - "PySequence_List" - "PySequence_Count" - "PySequence_Contains" - "PySequence_In" - "PySequence_Index" - "PyMapping_Check" - "PyMapping_Length" - "PyMapping_HasKeyString" - "PyMapping_HasKey" - "PyMapping_GetItemString" - "PyMapping_SetItemString" - "PyObject_IsInstance" - "PyObject_IsSubclass" - -; From python34_s.lib(boolobject) - "PyBool_FromLong" - "PyBool_Type" - "_Py_ZeroStruct" - "_Py_TrueStruct" - -; From python34_s.lib(bufferobject) - "PyBuffer_FromObject" - "PyBuffer_FromReadWriteObject" - "PyBuffer_FromMemory" - "PyBuffer_FromReadWriteMemory" - "PyBuffer_New" - "PyBuffer_Type" - -; From python34_s.lib(cellobject) - "PyCell_New" - "PyCell_Get" - "PyCell_Set" - "PyCell_Type" - -; From python34_s.lib(classobject) - "PyClass_New" - "PyClass_IsSubclass" - "PyInstance_New" - "PyInstance_NewRaw" - "PyMethod_New" - "PyMethod_Function" - "PyMethod_Self" - "PyMethod_Class" - "_PyInstance_Lookup" - "PyMethod_Fini" - "PyClass_Type" - "PyInstance_Type" - "PyMethod_Type" - -; From python34_s.lib(capsule) - "PyCapsule_GetContext" - "PyCapsule_GetDestructor" - "PyCapsule_GetName" - "PyCapsule_GetPointer" - "PyCapsule_Import" - "PyCapsule_IsValid" - "PyCapsule_New" - "PyCapsule_SetContext" - "PyCapsule_SetDestructor" - "PyCapsule_SetName" - "PyCapsule_SetPointer" - -; From python34_s.lib(cobject) - "PyCObject_FromVoidPtr" - "PyCObject_FromVoidPtrAndDesc" - "PyCObject_AsVoidPtr" - "PyCObject_GetDesc" - "PyCObject_Import" - "PyCObject_SetVoidPtr" - "PyCObject_Type" - -; From python34_s.lib(codeobject) - "PyCode_New" - "PyCode_Addr2Line" - "PyCode_CheckLineNumber" - "PyCode_Type" - -; From python34_s.lib(complexobject) - "_Py_c_pow" - "_Py_c_sum" - "_Py_c_diff" - "_Py_c_neg" - "_Py_c_prod" - "_Py_c_quot" - "PyComplex_FromCComplex" - "PyComplex_FromDoubles" - "PyComplex_RealAsDouble" - "PyComplex_ImagAsDouble" - "PyComplex_AsCComplex" - "PyComplex_Type" - -; From python34_s.lib(descrobject) - "PyWrapper_New" - "PyDescr_NewMethod" - "PyDescr_NewClassMethod" - "PyDescr_NewMember" - "PyDescr_NewGetSet" - "PyDescr_NewWrapper" - "PyDictProxy_New" - "PyWrapperDescr_Type" - "PyProperty_Type" - -; From python34_s.lib(dictobject) - "PyDict_New" - "PyDict_GetItem" - "PyDict_SetItem" - "PyDict_DelItem" - "PyDict_Clear" - "PyDict_MergeFromSeq2" - "PyDict_Merge" - "PyDict_Keys" - "PyDict_Values" - "PyDict_Contains" - "PyDict_Next" - "PyDict_Items" - "PyDict_Size" - "PyDict_Copy" - "PyDict_Update" - "PyDict_GetItemString" - "PyDict_SetItemString" - "PyDict_DelItemString" - "PyDict_Type" - "PyDictIterKey_Type" - "PyDictIterValue_Type" - "PyDictIterItem_Type" - -; From python34_s.lib(enumobject) - "PyEnum_Type" - "PyReversed_Type" - -; From python34_s.lib(fileobject) - "PyFile_FromString" - "Py_UniversalNewlineFread" - "PyFile_GetLine" - "PyFile_SoftSpace" - "PyFile_WriteObject" - "PyFile_WriteString" - "PyObject_AsFileDescriptor" - "Py_UniversalNewlineFgets" - "PyFile_SetBufSize" - "PyFile_SetEncoding" - "PyFile_FromFile" - "PyFile_AsFile" - "PyFile_Name" - "PyFile_Type" - -; From python34_s.lib(floatobject) - "PyFloat_FromString" - "PyFloat_AsDouble" - "PyFloat_Fini" - "_PyFloat_Pack4" - "_PyFloat_Pack8" - "_PyFloat_Unpack4" - "_PyFloat_Unpack8" - "PyFloat_FromDouble" - "PyFloat_AsReprString" - "PyFloat_AsString" - "_PyFloat_Init" - "PyFloat_AsStringEx" - "PyFloat_Type" - -; From python34_s.lib(frameobject) - "PyFrame_New" - "PyFrame_FastToLocals" - "PyFrame_LocalsToFast" - "_PyFrame_Init" - "PyFrame_Fini" - "PyFrame_BlockSetup" - "PyFrame_BlockPop" - "PyFrame_Type" - -; From python34_s.lib(funcobject) - "PyFunction_New" - "PyFunction_GetCode" - "PyFunction_GetGlobals" - "PyFunction_GetModule" - "PyFunction_GetDefaults" - "PyFunction_SetDefaults" - "PyFunction_GetClosure" - "PyFunction_SetClosure" - "PyClassMethod_New" - "PyStaticMethod_New" - "PyFunction_Type" - "PyClassMethod_Type" - "PyStaticMethod_Type" - -; From python34_s.lib(genobject) - "PyGen_New" - "PyGen_NeedsFinalizing" - "PyGen_Type" - -; From python34_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 python34_s.lib(iterobject) - "PySeqIter_New" - "PyCallIter_New" - "PySeqIter_Type" - "PyCallIter_Type" - -; From python34_s.lib(listobject) - "PyList_New" - "PyList_Append" - "PyList_Size" - "PyList_GetItem" - "PyList_SetItem" - "PyList_Insert" - "PyList_GetSlice" - "PyList_SetSlice" - "PyList_Sort" - "PyList_Reverse" - "PyList_AsTuple" - "_PyList_Extend" - "PyList_Fini" - "PyList_Type" - "PyListIter_Type" - "PyListRevIter_Type" - -; From python34_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_FromUnsignedLongLong" - "PyLong_AsUnsignedLongLong" - "PyLong_AsUnsignedLongLongMask" - "PyLong_FromUnicode" - "_PyLong_Sign" - "_PyLong_NumBits" - "_PyLong_New" - "_PyLong_Copy" - "PyLong_Type" - "_PyLong_DigitValue" - -; From python34_s.lib(methodobject) - "PyCFunction_Call" - "Py_FindMethodInChain" - "PyCFunction_GetFunction" - "PyCFunction_GetSelf" - "PyCFunction_GetFlags" - "Py_FindMethod" - "PyCFunction_NewEx" - "PyCFunction_Fini" - "PyCFunction_New" - "PyCFunction_Type" - -; From python34_s.lib(moduleobject) - "PyModule_New" - "_PyModule_Clear" - "PyModule_GetDict" - "PyModule_GetName" - "PyModule_GetFilename" - "PyModule_Type" - -; From python34_s.lib(object) - "Py_DivisionWarningFlag" - "PyObject_Str" - "PyObject_Repr" - "_PyObject_Str" - "PyObject_Unicode" - "PyObject_GetAttr" - "PyObject_IsTrue" - "PyNumber_CoerceEx" - "PyObject_Compare" - "PyObject_RichCompare" - "_Py_HashDouble" - "PyObject_Hash" - "PyObject_SetAttr" - "PyObject_GenericGetAttr" - "PyObject_GenericSetAttr" - "PyCallable_Check" - "PyObject_Dir" - "PyMem_Malloc" - "PyMem_Realloc" - "PyMem_Free" - "PyObject_Print" - "_PyObject_Dump" - "PyObject_RichCompareBool" - "PyObject_GetAttrString" - "PyObject_SetAttrString" - "PyObject_HasAttrString" - "PyObject_HasAttr" - "_PyObject_GetDictPtr" - "PyObject_SelfIter" - "PyObject_Not" - "PyNumber_Coerce" - "Py_ReprEnter" - "Py_ReprLeave" - "_Py_HashPointer" - "Py_IncRef" - "Py_DecRef" - "_PyTrash_deposit_object" - "_PyTrash_destroy_chain" - "PyObject_Init" - "PyObject_InitVar" - "_PyObject_New" - "_PyObject_NewVar" - "_PyObject_Del" - "_Py_ReadyTypes" - "_Py_SwappedOp" - "_Py_NotImplementedStruct" - "_Py_NoneStruct" - "_Py_cobject_hack" - "_Py_abstract_hack" - "_PyTrash_delete_nesting" - "_PyTrash_delete_later" - -; From python34_s.lib(obmalloc) - "PyObject_Malloc" - "PyObject_Free" - "PyObject_Realloc" - -; From python34_s.lib(rangeobject) - "PyRange_Type" - -; From python34_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 python34_s.lib(sliceobject) - "_PySlice_FromIndices" - "PySlice_GetIndices" - "PySlice_GetIndicesEx" - "PySlice_New" - "_Py_EllipsisObject" - "PySlice_Type" - -; From python34_s.lib(stringobject) - "PyString_FromStringAndSize" - "PyString_InternInPlace" - "PyString_FromString" - "PyString_FromFormatV" - "PyString_AsString" - "_PyString_Resize" - "PyString_FromFormat" - "PyString_AsDecodedString" - "PyString_AsEncodedString" - "PyString_DecodeEscape" - "PyString_Repr" - "PyString_AsStringAndSize" - "_PyString_FormatLong" - "PyString_Format" - "_Py_ReleaseInternedStrings" - "PyString_Size" - "PyString_Concat" - "PyString_ConcatAndDel" - "_PyString_Eq" - "PyString_InternImmortal" - "PyString_InternFromString" - "_PyString_Join" - "PyString_Decode" - "PyString_Encode" - "PyString_AsEncodedObject" - "PyString_AsDecodedObject" - "PyString_Fini" - "PyString_Type" - "PyBaseString_Type" - -; From python34_s.lib(structseq) - "PyStructSequence_InitType" - "PyStructSequence_New" - "PyStructSequence_UnnamedField" - -; From python34_s.lib(tupleobject) - "PyTuple_New" - "PyTuple_Pack" - "_PyTuple_Resize" - "PyTuple_Size" - "PyTuple_GetItem" - "PyTuple_SetItem" - "PyTuple_GetSlice" - "PyTuple_Fini" - "PyTuple_Type" - "PyTupleIter_Type" - -; From python34_s.lib(typeobject) - "PyType_IsSubtype" - "_PyType_Lookup" - "PyType_Ready" - "PyType_GenericAlloc" - "_PyObject_SlotCompare" - "PyType_GenericNew" - "PyType_Type" - "PyBaseObject_Type" - "PySuper_Type" - -; From python34_s.lib(unicodeobject) - "PyUnicodeUCS2_Resize" - "PyUnicodeUCS2_FromOrdinal" - "PyUnicodeUCS2_FromObject" - "PyUnicodeUCS2_FromEncodedObject" - "PyUnicodeUCS2_Decode" - "PyUnicodeUCS2_GetDefaultEncoding" - "PyUnicodeUCS2_DecodeUTF8" - "PyUnicodeUCS2_DecodeLatin1" - "PyUnicodeUCS2_DecodeASCII" - "PyUnicodeUCS2_AsEncodedString" - "PyUnicodeUCS2_AsUTF8String" - "PyUnicodeUCS2_AsLatin1String" - "PyUnicodeUCS2_AsASCIIString" - "PyUnicode_DecodeUTF7" - "PyUnicode_EncodeUTF7" - "PyUnicodeUCS2_DecodeUTF8Stateful" - "PyUnicodeUCS2_EncodeUTF8" - "PyUnicodeUCS2_DecodeUTF16Stateful" - "PyUnicodeUCS2_AsUTF16String" - "PyUnicodeUCS2_DecodeUnicodeEscape" - "PyUnicodeUCS2_DecodeRawUnicodeEscape" - "PyUnicodeUCS2_EncodeRawUnicodeEscape" - "_PyUnicode_DecodeUnicodeInternal" - "PyUnicodeUCS2_DecodeCharmap" - "PyUnicode_BuildEncodingMap" - "PyUnicodeUCS2_EncodeCharmap" - "PyUnicodeUCS2_TranslateCharmap" - "PyUnicodeUCS2_EncodeDecimal" - "PyUnicodeUCS2_Count" - "PyUnicodeUCS2_Find" - "PyUnicodeUCS2_Join" - "PyUnicodeUCS2_Splitlines" - "PyUnicodeUCS2_Compare" - "PyUnicodeUCS2_Contains" - "PyUnicodeUCS2_Concat" - "_PyUnicode_XStrip" - "PyUnicodeUCS2_Replace" - "PyUnicodeUCS2_Split" - "PyUnicodeUCS2_RSplit" - "PyUnicodeUCS2_Format" - "_PyUnicodeUCS2_Init" - "_PyUnicodeUCS2_Fini" - "PyUnicodeUCS2_FromUnicode" - "PyUnicodeUCS2_AsUnicode" - "PyUnicodeUCS2_GetSize" - "PyUnicodeUCS2_GetMax" - "_PyUnicodeUCS2_AsDefaultEncodedString" - "PyUnicodeUCS2_SetDefaultEncoding" - "PyUnicodeUCS2_Encode" - "PyUnicodeUCS2_AsEncodedObject" - "PyUnicodeUCS2_DecodeUTF16" - "PyUnicodeUCS2_EncodeUTF16" - "PyUnicodeUCS2_AsUnicodeEscapeString" - "PyUnicodeUCS2_EncodeUnicodeEscape" - "PyUnicodeUCS2_AsRawUnicodeEscapeString" - "PyUnicodeUCS2_EncodeLatin1" - "PyUnicodeUCS2_EncodeASCII" - "PyUnicodeUCS2_AsCharmapString" - "PyUnicodeUCS2_Partition" - "PyUnicodeUCS2_RPartition" - "PyUnicodeUCS2_Translate" - "PyUnicodeUCS2_Tailmatch" - "PyUnicode_AsDecodedObject" - "PyUnicode_Type" - -; From python34_s.lib(unicodectype) - "_PyUnicode_TypeRecords" - "_PyUnicodeUCS2_ToNumeric" - "_PyUnicodeUCS2_IsLowercase" - "_PyUnicodeUCS2_IsUppercase" - "_PyUnicodeUCS2_IsTitlecase" - "_PyUnicodeUCS2_IsWhitespace" - "_PyUnicodeUCS2_IsLinebreak" - "_PyUnicodeUCS2_ToLowercase" - "_PyUnicodeUCS2_ToUppercase" - "_PyUnicodeUCS2_ToTitlecase" - "_PyUnicodeUCS2_ToDecimalDigit" - "_PyUnicodeUCS2_ToDigit" - "_PyUnicodeUCS2_IsDecimalDigit" - "_PyUnicodeUCS2_IsDigit" - "_PyUnicodeUCS2_IsNumeric" - "_PyUnicodeUCS2_IsAlpha" - -; From python34_s.lib(weakrefobject) - "PyWeakref_NewRef" - "PyWeakref_NewProxy" - "PyObject_ClearWeakRefs" - "PyWeakref_GetObject" - "_PyWeakref_GetWeakrefCount" - "_PyWeakref_ClearRef" - "_PyWeakref_RefType" - "_PyWeakref_ProxyType" - "_PyWeakref_CallableProxyType" - -; From python34_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 python34_s.lib(asdl) - "asdl_seq_new" - "asdl_int_seq_new" - -; From python34_s.lib(ast) - "PyAST_FromNode" - -; From python34_s.lib(bltinmodule) - "_PyBuiltin_Init" - "Py_FileSystemDefaultEncoding" - -; From python34_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_GeneratorExit" - "PyExc_SystemExit" - "PyExc_KeyboardInterrupt" - "PyExc_ImportError" - "PyExc_EnvironmentError" - "PyExc_IOError" - "PyExc_OSError" - "PyExc_EOFError" - "PyExc_RuntimeError" - "PyExc_NotImplementedError" - "PyExc_NameError" - "PyExc_UnboundLocalError" - "PyExc_AttributeError" - "PyExc_IndexError" - "PyExc_SyntaxError" - "PyExc_IndentationError" - "PyExc_TabError" - "PyExc_LookupError" - "PyExc_KeyError" - "PyExc_ValueError" - "PyExc_UnicodeError" - "PyExc_UnicodeEncodeError" - "PyExc_UnicodeDecodeError" - "PyExc_UnicodeTranslateError" - "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_RuntimeWarning" - "PyExc_FutureWarning" - "PyExc_ImportWarning" - "PyExc_MemoryErrorInst" - -; From python34_s.lib(ceval) - "PyEval_EvalFrameEx" - "PyEval_CallObjectWithKeywords" - "PyEval_EvalCodeEx" - "PyEval_GetFrame" - "PyEval_CallObject" - "PyEval_SetProfile" - "PyEval_SetTrace" - "PyEval_GetBuiltins" - "PyEval_GetGlobals" - "PyEval_GetLocals" - "PyEval_GetRestricted" - "PyEval_MergeCompilerFlags" - "Py_FlushLine" - "Py_AddPendingCall" - "Py_MakePendingCalls" - "Py_SetRecursionLimit" - "Py_GetRecursionLimit" - "_Py_CheckRecursiveCall" - "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 python34_s.lib(compile) - "_Py_Mangle" - "PyAST_Compile" - "PyNode_Compile" - "Py_OptimizeFlag" - -; From python34_s.lib(codecs) - "_PyCodec_Lookup" - "PyCodec_Encode" - "PyCodec_Decode" - "PyCodec_IgnoreErrors" - "PyCodec_ReplaceErrors" - "PyCodec_XMLCharRefReplaceErrors" - "PyCodec_BackslashReplaceErrors" - "PyCodec_Register" - "PyCodec_Encoder" - "PyCodec_Decoder" - "PyCodec_IncrementalEncoder" - "PyCodec_IncrementalDecoder" - "PyCodec_StreamReader" - "PyCodec_StreamWriter" - "PyCodec_RegisterError" - "PyCodec_LookupError" - "PyCodec_StrictErrors" - -; From python34_s.lib(errors) - "PyErr_SetNone" - "PyErr_SetString" - "PyErr_GivenExceptionMatches" - "PyErr_NormalizeException" - "PyErr_Fetch" - "PyErr_Clear" - "PyErr_NoMemory" - "PyErr_SetFromErrnoWithFilenameObject" - "PyErr_Format" - "PyErr_NewException" - "PyErr_WriteUnraisable" - "PyErr_SyntaxLocation" - "PyErr_ProgramText" - "PyErr_SetObject" - "PyErr_Occurred" - "PyErr_Restore" - "PyErr_ExceptionMatches" - "PyErr_BadArgument" - "PyErr_SetFromErrno" - "PyErr_SetFromErrnoWithFilename" - "PyErr_BadInternalCall" - "_PyErr_BadInternalCall" - "PyErr_Warn" - "PyErr_WarnExplicit" - -; From python34_s.lib(frozen) - "PyImport_FrozenModules" - -; From python34_s.lib(frozenmain) - "Py_FrozenMain" - -; From python34_s.lib(future) - "PyFuture_FromAST" - -; From python34_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 python34_s.lib(getcompiler) - "Py_GetCompiler" - -; From python34_s.lib(getcopyright) - "Py_GetCopyright" - -; From python34_s.lib(getplatform) - "Py_GetPlatform" - -; From python34_s.lib(getversion) - "Py_GetVersion" - -; From python34_s.lib(graminit) - "_PyParser_Grammar" - -; From python34_s.lib(import) - "_PyImport_Init" - "_PyImportHooks_Init" - "PyImport_ImportModule" - "PyImport_Cleanup" - "_PyImport_FixupExtension" - "PyImport_AddModule" - "PyImport_ExecCodeModuleEx" - "PyImport_ImportFrozenModule" - "PyImport_ImportModuleEx" - "PyImport_ImportModuleLevel" - "PyImport_ReloadModule" - "PyImport_Import" -; "initimp" - "_PyImport_Fini" - "PyImport_GetMagicNumber" - "PyImport_ExecCodeModule" - "PyImport_GetModuleDict" - "_PyImport_FindModule" - "_PyImport_IsScript" - "_PyImport_ReInitLock" - "_PyImport_FindExtension" - "PyImport_AppendInittab" - "PyImport_ExtendInittab" - "PyImport_Inittab" - "_PyImport_Filetab" - -; From python34_s.lib(importdl) - "_PyImport_LoadDynamicModule" - -; From python34_s.lib(marshal) - "PyMarshal_ReadLongFromFile" - "PyMarshal_WriteObjectToString" - "PyMarshal_WriteLongToFile" - "PyMarshal_WriteObjectToFile" - "PyMarshal_ReadShortFromFile" - "PyMarshal_ReadObjectFromFile" - "PyMarshal_ReadLastObjectFromFile" - "PyMarshal_ReadObjectFromString" - "PyMarshal_Init" - -; From python34_s.lib(modsupport) - "Py_InitModule4" - "Py_BuildValue" - "_Py_BuildValue_SizeT" - "PyEval_CallFunction" - "PyEval_CallMethod" - "_Py_VaBuildValue_SizeT" - "Py_VaBuildValue" - "PyModule_AddObject" - "PyModule_AddIntConstant" - "PyModule_AddStringConstant" - "_Py_PackageContext" - -; From python34_s.lib(mysnprintf) - "PyOS_snprintf" - "PyOS_vsnprintf" - -; From python34_s.lib(mystrtoul) - "PyOS_strtoul" - "PyOS_strtol" - -; From python34_s.lib(pyarena) - "PyArena_New" - "PyArena_Free" - "PyArena_Malloc" - "PyArena_AddPyObject" - -; From python34_s.lib(pyfpe) - "PyFPE_dummy" - -; From python34_s.lib(pystate) - "PyInterpreterState_Clear" - "PyThreadState_Clear" - "_PyThread_CurrentFrames" - "PyGILState_Ensure" - "PyGILState_Release" - "PyInterpreterState_New" - "PyInterpreterState_Delete" - "PyThreadState_Delete" - "PyThreadState_New" - "PyThreadState_DeleteCurrent" - "PyThreadState_Get" - "PyThreadState_Swap" - "PyThreadState_GetDict" - "PyThreadState_SetAsyncExc" - "PyGILState_GetThisThreadState" - "PyInterpreterState_Head" - "PyInterpreterState_Next" - "PyInterpreterState_ThreadHead" - "PyThreadState_Next" - "_PyGILState_Init" - "_PyGILState_Fini" - "_PyThreadState_Current" - "_PyThreadState_GetFrame" - -; From python34_s.lib(pythonrun) - "Py_IgnoreEnvironmentFlag" - "Py_DebugFlag" - "Py_VerboseFlag" - "Py_NoSiteFlag" - "Py_InteractiveFlag" - "Py_FrozenFlag" - "Py_InitializeEx" - "Py_FatalError" - "Py_NewInterpreter" - "PyErr_Print" - "PyRun_InteractiveOneFlags" - "PyParser_ASTFromFile" - "PyRun_SimpleFileExFlags" - "PyRun_FileExFlags" - "Py_Exit" - "PyErr_PrintEx" - "PyErr_Display" - "Py_SetProgramName" - "Py_GetProgramName" - "Py_SetPythonHome" - "Py_GetPythonHome" - "Py_Initialize" - "Py_Finalize" - "Py_IsInitialized" - "Py_EndInterpreter" - "PyRun_AnyFileFlags" - "Py_FdIsInteractive" - "PyRun_InteractiveLoopFlags" - "PyRun_AnyFileExFlags" - "PyRun_SimpleStringFlags" - "PyRun_StringFlags" - "PyParser_ASTFromString" - "PyParser_SimpleParseStringFlags" - "PyParser_SimpleParseFileFlags" - "Py_CompileStringFlags" - "Py_SymtableString" - "Py_AtExit" - "PyOS_getsig" - "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 python34_s.lib(structmember) - "PyMember_Get" - "PyMember_GetOne" - "PyMember_SetOne" - "PyMember_Set" - -; From python34_s.lib(symtable) - "PySymtable_Build" - "PySymtable_Free" - "PyST_GetScope" - "PySymtable_Lookup" - "PySTEntry_Type" - -; From python34_s.lib(sysmodule) - "_PySys_Init" - "PySys_WriteStderr" - "PySys_SetPath" - "PySys_SetArgv" - "PySys_WriteStdout" - "Py_SubversionRevision" - "Py_SubversionShortBranch" - "PySys_GetObject" - "PySys_SetObject" - "PySys_GetFile" - "PySys_ResetWarnOptions" - "PySys_AddWarnOption" - -; From python34_s.lib(traceback) - "PyTraceBack_Here" - "PyTraceBack_Print" - "PyTraceBack_Type" - -; From python34_s.lib(getopt) - "_PyOS_GetOpt" - "_PyOS_opterr" - "_PyOS_optind" - "_PyOS_optarg" - -; From python34_s.lib(dynload_shlib) - "_PyImport_DynLoadFiletab" - "_PyImport_GetDynLoadFunc" - -; From python34_s.lib(thread) - "PyThread_delete_key_value" - "PyThread_init_thread" - "PyThread_start_new_thread" - "PyThread_exit_thread" - "PyThread_get_thread_ident" - "PyThread_allocate_lock" - "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" - -; From python34_s.lib(gcmodule) -; "initgc" - "_PyObject_GC_New" - "_PyObject_GC_NewVar" - "PyGC_Collect" - "_PyObject_GC_Resize" - "_PyObject_GC_Malloc" - "PyObject_GC_Track" - "PyObject_GC_UnTrack" - "PyObject_GC_Del" - "_PyGC_Dump" - "_PyObject_GC_Track" - "_PyObject_GC_UnTrack" - "_PyObject_GC_Del" - "_PyGC_generation0" - -; From python34_s.lib(signalmodule) -; "initsignal" - "PyErr_CheckSignals" - "PyErr_SetInterrupt" - "PyOS_FiniInterrupts" - "PyOS_InterruptOccurred" - "PyOS_InitInterrupts" - "PyOS_AfterFork" - -; From python34_s.lib(posixmodule) -; "initos2" - -; From python34_s.lib(_threadmodule) -; "init_thread" - -; From python34_s.lib(arraymodule) -; "initarray" -; "array_methods" - -; From python34_s.lib(binascii) -; "initbinascii" - -; From python34_s.lib(cmathmodule) -; "initcmath" - -; From python34_s.lib(_codecsmodule) -; "init_codecs" - -; From python34_s.lib(collectionsmodule) -; "initcollections" - "dequeiter_type" - "dequereviter_type" - -; From python34_s.lib(cPickle) -; "initcPickle" -; "fast_save_leave" - -; From python34_s.lib(_csv) -; "init_csv" - -; From python34_s.lib(datetimemodule) -; "initdatetime" - -; From python34_s.lib(dlmodule) -; "initdl" - -; From python34_s.lib(errnomodule) -; "initerrno" - -; From python34_s.lib(fcntlmodule) -; "initfcntl" - -; From python34_s.lib(_functoolsmodule) -; "init_functools" - -; From python34_s.lib(_heapqmodule) -; "init_heapq" - -; From python34_s.lib(imageop) -; "initimageop" - -; From python34_s.lib(itertoolsmodule) -; "inititertools" - -; From python34_s.lib(_localemodule) -; "init_locale" - -; From python34_s.lib(mathmodule) -; "initmath" - -; From python34_s.lib(md5) - "md5_finish" - "md5_init" - "md5_append" - -; From python34_s.lib(md5module) -; "init_md5" - -; From python34_s.lib(operator) -; "initoperator" - -; From python34_s.lib(_randommodule) -; "init_random" - -; From python34_s.lib(rgbimgmodule) -; "initrgbimg" - -; From python34_s.lib(shamodule) -; "init_sha" - -; From python34_s.lib(sha256module) -; "init_sha256" - -; From python34_s.lib(sha512module) -; "init_sha512" - -; From python34_s.lib(_sre) -; "init_sre" - -; From python34_s.lib(stropmodule) -; "initstrop" - -; From python34_s.lib(_struct) -; "init_struct" - -; From python34_s.lib(symtablemodule) -; "init_symtable" - -; From python34_s.lib(termios) -; "inittermios" - -; From python34_s.lib(timemodule) -; "inittime" - "_PyTime_DoubleToTimet" -; "inittimezone" - -; From python34_s.lib(timingmodule) -; "inittiming" - -; From python34_s.lib(_weakref) -; "init_weakref" - -; From python34_s.lib(xxsubtype) -; "initxxsubtype" - -; From python34_s.lib(zipimport) -; "initzipimport" diff --git a/PC/os2emx/pythonpm.c b/PC/os2emx/pythonpm.c deleted file mode 100644 index ba47f4b224b..00000000000 --- a/PC/os2emx/pythonpm.c +++ /dev/null @@ -1,124 +0,0 @@ -/* OS/2 PM main program - creates a hidden window, and starts Python - * interpreter in a separate thread, so that Python scripts can be - * run in PM process space without a console Window. The interpreter - * is incorporated by linking in the Python DLL. - * - * As it stands, I don't think this is adequate for supporting Python - * GUI modules, as the Python thread doesn't have its own message - * queue - which is required of threads that want to create/use - * PM windows. - * - * This code owes a lot to "OS/2 Presentation Manager Programming", by - * Charles Petzold. - * - * Andrew MacIntyre , August 2001. - * Released under the terms of the Python 2.1.1 licence - see the LICENCE - * file in the Python v2.1.1 (or later) source distribution. - * Copyright assigned to the Python Software Foundation, 2001. - */ - -#define INCL_DOS -#define INCL_WIN -#include -#include - -#include "Python.h" - -/* use structure to pass command line to Python thread */ -typedef struct -{ - int argc; - char **argv; - HWND Frame; - int running; -} arglist; - -/* make this a global to simplify access. - * it should only be set from the Python thread, or by the code that - * initiates the Python thread when the thread cannot be created. - */ -int PythonRC; - -extern DL_EXPORT(int) Py_Main(int, char **); -void PythonThread(void *); - -int -main(int argc, char **argv) -{ - ULONG FrameFlags = FCF_TITLEBAR | - FCF_SYSMENU | - FCF_SIZEBORDER | - FCF_HIDEBUTTON | - FCF_SHELLPOSITION | - FCF_TASKLIST; - HAB hab; - HMQ hmq; - HWND Client; - QMSG qmsg; - arglist args; - int python_tid; - - /* init PM and create message queue */ - hab = WinInitialize(0); - hmq = WinCreateMsgQueue(hab, 0); - - /* create a (hidden) Window to house the window procedure */ - args.Frame = WinCreateStdWindow(HWND_DESKTOP, - 0, - &FrameFlags, - NULL, - "PythonPM", - 0L, - 0, - 0, - &Client); - - /* run Python interpreter in a thread */ - args.argc = argc; - args.argv = argv; - args.running = 0; - if (-1 == (python_tid = _beginthread(PythonThread, NULL, 1024 * 1024, &args))) - { - /* couldn't start thread */ - WinAlarm(HWND_DESKTOP, WA_ERROR); - PythonRC = 1; - } - else - { - /* process PM messages, until Python exits */ - while (WinGetMsg(hab, &qmsg, NULLHANDLE, 0, 0)) - WinDispatchMsg(hab, &qmsg); - if (args.running > 0) - DosKillThread(python_tid); - } - - /* destroy window, shutdown message queue and PM */ - WinDestroyWindow(args.Frame); - WinDestroyMsgQueue(hmq); - WinTerminate(hab); - - return PythonRC; -} - -void PythonThread(void *argl) -{ - HAB hab; - arglist *args; - - /* PM initialisation */ - hab = WinInitialize(0); - - /* start Python */ - args = (arglist *)argl; - args->running = 1; - PythonRC = Py_Main(args->argc, args->argv); - - /* enter a critical section and send the termination message */ - DosEnterCritSec(); - args->running = 0; - WinPostMsg(args->Frame, WM_QUIT, NULL, NULL); - - /* shutdown PM and terminate thread */ - WinTerminate(hab); - _endthread(); -} diff --git a/PC/os2vacpp/_tkinter.def b/PC/os2vacpp/_tkinter.def deleted file mode 100644 index 49dab8da230..00000000000 --- a/PC/os2vacpp/_tkinter.def +++ /dev/null @@ -1,8 +0,0 @@ -LIBRARY _TKINTER INITINSTANCE TERMINSTANCE -DESCRIPTION 'Python Extension DLL v1.0 for Access to Tcl/Tk Environment' -PROTMODE -DATA MULTIPLE NONSHARED - -EXPORTS - init_tkinter - diff --git a/PC/os2vacpp/config.c b/PC/os2vacpp/config.c deleted file mode 100644 index b26b5217da0..00000000000 --- a/PC/os2vacpp/config.c +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- C -*- *********************************************** -Copyright (c) 2000, BeOpen.com. -Copyright (c) 1995-2000, Corporation for National Research Initiatives. -Copyright (c) 1990-1995, Stichting Mathematisch Centrum. -All rights reserved. - -See the file "Misc/COPYRIGHT" for information on usage and -redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. -******************************************************************/ - -/* Module configuration */ - -/* This file contains the table of built-in modules. - See init_builtin() in import.c. */ - -#include "Python.h" - -extern void initarray(void); -extern void initaudioop(void); -extern void initbinascii(void); -extern void initcmath(void); -extern void initerrno(void); -extern void initimageop(void); -extern void initmath(void); -extern void initmd5(void); -extern void initnt(void); -extern void initos2(void); -extern void initoperator(void); -extern void initposix(void); -extern void initrgbimg(void); -extern void initsignal(void); -extern void initselect(void); -extern void init_socket(void); -extern void initstruct(void); -extern void inittime(void); -extern void init_thread(void); -extern void initpcre(void); -#ifdef WIN32 -extern void initmsvcrt(void); -#endif - -/* -- ADDMODULE MARKER 1 -- */ - -extern void PyMarshal_Init(void); -extern void initimp(void); - -struct _inittab _PyImport_Inittab[] = { - - {"array", initarray}, -#ifdef M_I386 - {"audioop", initaudioop}, -#endif - {"binascii", initbinascii}, - {"cmath", initcmath}, - {"errno", initerrno}, -// {"imageop", initimageop}, - {"math", initmath}, - {"md5", initmd5}, -#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) - {"nt", initnt}, /* Use the NT os functions, not posix */ -#else -#if defined(PYOS_OS2) - {"os2", initos2}, -#else - {"posix", initposix}, -#endif -#endif - {"operator", initoperator}, -// {"rgbimg", initrgbimg}, - {"signal", initsignal}, -#ifdef USE_SOCKET - {"_socket", init_socket}, - {"select", initselect}, -#endif - {"struct", initstruct}, - {"time", inittime}, -#ifdef WITH_THREAD - {"_thread", init_thread}, -#endif - {"pcre", initpcre}, -#ifdef WIN32 - {"msvcrt", initmsvcrt}, -#endif - -/* -- ADDMODULE MARKER 2 -- */ - - /* This module "lives in" with marshal.c */ - {"marshal", PyMarshal_Init}, - - /* This lives it with import.c */ - {"_imp", initimp}, - - /* These entries are here for sys.builtin_module_names */ - {"builtins", NULL}, - {"sys", NULL}, - - /* Sentinel */ - {0, 0} -}; diff --git a/PC/os2vacpp/getpathp.c b/PC/os2vacpp/getpathp.c deleted file mode 100644 index 5bc2827a89b..00000000000 --- a/PC/os2vacpp/getpathp.c +++ /dev/null @@ -1,482 +0,0 @@ - -/* Return the initial module search path. */ -/* Used by DOS, OS/2, Windows 3.1. Works on NT too. */ - -#include "Python.h" -#include "osdefs.h" - -#ifdef MS_WIN32 -#include -extern BOOL PyWin_IsWin32s(void); -#endif - -#include -#include -#include - -#if HAVE_UNISTD_H -#include -#endif /* HAVE_UNISTD_H */ - -/* Search in some common locations for the associated Python libraries. - * - * Two directories must be found, the platform independent directory - * (prefix), containing the common .py and .pyc files, and the platform - * dependent directory (exec_prefix), containing the shared library - * modules. Note that prefix and exec_prefix can be the same directory, - * but for some installations, they are different. - * - * Py_GetPath() tries to return a sensible Python module search path. - * - * First, we look to see if the executable is in a subdirectory of - * the Python build directory. We calculate the full path of the - * directory containing the executable as progpath. We work backwards - * along progpath and look for $dir/Modules/Setup.in, a distinctive - * landmark. If found, we use $dir/Lib as $root. The returned - * Python path is the compiled #define PYTHONPATH with all the initial - * "./lib" replaced by $root. - * - * Otherwise, if there is a PYTHONPATH environment variable, we return that. - * - * Otherwise we try to find $progpath/lib/os.py, and if found, then - * root is $progpath/lib, and we return Python path as compiled PYTHONPATH - * with all "./lib" replaced by $root (as above). - * - */ - -#ifndef LANDMARK -#define LANDMARK "lib\\os.py" -#endif - -static char prefix[MAXPATHLEN+1]; -static char exec_prefix[MAXPATHLEN+1]; -static char progpath[MAXPATHLEN+1]; -static char *module_search_path = NULL; - - -static int -is_sep(char ch) /* determine if "ch" is a separator character */ -{ -#ifdef ALTSEP - return ch == SEP || ch == ALTSEP; -#else - return ch == SEP; -#endif -} - - -static void -reduce(char *dir) -{ - int i = strlen(dir); - while (i > 0 && !is_sep(dir[i])) - --i; - dir[i] = '\0'; -} - - -static int -exists(char *filename) -{ - struct stat buf; - return stat(filename, &buf) == 0; -} - - -/* Add a path component, by appending stuff to buffer. - buffer must have at least MAXPATHLEN + 1 bytes allocated, and contain a - NUL-terminated string with no more than MAXPATHLEN characters (not counting - the trailing NUL). It's a fatal error if it contains a string longer than - that (callers must be careful!). If these requirements are met, it's - guaranteed that buffer will still be a NUL-terminated string with no more - than MAXPATHLEN characters at exit. If stuff is too long, only as much of - stuff as fits will be appended. -*/ -static void -join(char *buffer, char *stuff) -{ - int n, k; - if (is_sep(stuff[0])) - n = 0; - else { - n = strlen(buffer); - if (n > 0 && !is_sep(buffer[n-1]) && n < MAXPATHLEN) - buffer[n++] = SEP; - } - if (n > MAXPATHLEN) - Py_FatalError("buffer overflow in getpathp.c's joinpath()"); - k = strlen(stuff); - if (n + k > MAXPATHLEN) - k = MAXPATHLEN - n; - strncpy(buffer+n, stuff, k); - buffer[n+k] = '\0'; -} - - -static int -search_for_prefix(char *argv0_path, char *landmark) -{ - int n; - - /* Search from argv0_path, until root is found */ - strcpy(prefix, argv0_path); - do { - n = strlen(prefix); - join(prefix, landmark); - if (exists(prefix)) { - prefix[n] = '\0'; - return 1; - } - prefix[n] = '\0'; - reduce(prefix); - } while (prefix[0]); - return 0; -} - -#ifdef MS_WIN32 -#include "malloc.h" // for alloca - see comments below! -extern const char *PyWin_DLLVersionString; // a string loaded from the DLL at startup. - - -/* Load a PYTHONPATH value from the registry. - Load from either HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER. - - Returns NULL, or a pointer that should be freed. -*/ - -static char * -getpythonregpath(HKEY keyBase, BOOL bWin32s) -{ - HKEY newKey = 0; - DWORD nameSize = 0; - DWORD dataSize = 0; - DWORD numEntries = 0; - LONG rc; - char *retval = NULL; - char *dataBuf; - const char keyPrefix[] = "Software\\Python\\PythonCore\\"; - const char keySuffix[] = "\\PythonPath"; - int versionLen; - char *keyBuf; - - // Tried to use sysget("winver") but here is too early :-( - versionLen = strlen(PyWin_DLLVersionString); - // alloca == no free required, but memory only local to fn. - // also no heap fragmentation! Am I being silly? - keyBuf = alloca(sizeof(keyPrefix)-1 + versionLen + sizeof(keySuffix)); // chars only, plus 1 NULL. - // lots of constants here for the compiler to optimize away :-) - memcpy(keyBuf, keyPrefix, sizeof(keyPrefix)-1); - memcpy(keyBuf+sizeof(keyPrefix)-1, PyWin_DLLVersionString, versionLen); - memcpy(keyBuf+sizeof(keyPrefix)-1+versionLen, keySuffix, sizeof(keySuffix)); // NULL comes with this one! - - rc=RegOpenKey(keyBase, - keyBuf, - &newKey); - if (rc==ERROR_SUCCESS) { - RegQueryInfoKey(newKey, NULL, NULL, NULL, NULL, NULL, NULL, - &numEntries, &nameSize, &dataSize, NULL, NULL); - } - if (bWin32s && numEntries==0 && dataSize==0) { - /* must hardcode for Win32s */ - numEntries = 1; - dataSize = 511; - } - if (numEntries) { - /* Loop over all subkeys. */ - /* Win32s doesnt know how many subkeys, so we do - it twice */ - char keyBuf[MAX_PATH+1]; - int index = 0; - int off = 0; - for(index=0;;index++) { - long reqdSize = 0; - DWORD rc = RegEnumKey(newKey, - index, keyBuf, MAX_PATH+1); - if (rc) break; - rc = RegQueryValue(newKey, keyBuf, NULL, &reqdSize); - if (rc) break; - if (bWin32s && reqdSize==0) reqdSize = 512; - dataSize += reqdSize + 1; /* 1 for the ";" */ - } - dataBuf = malloc(dataSize+1); - if (dataBuf==NULL) - return NULL; /* pretty serious? Raise error? */ - /* Now loop over, grabbing the paths. - Subkeys before main library */ - for(index=0;;index++) { - int adjust; - long reqdSize = dataSize; - DWORD rc = RegEnumKey(newKey, - index, keyBuf,MAX_PATH+1); - if (rc) break; - rc = RegQueryValue(newKey, - keyBuf, dataBuf+off, &reqdSize); - if (rc) break; - if (reqdSize>1) { - /* If Nothing, or only '\0' copied. */ - adjust = strlen(dataBuf+off); - dataSize -= adjust; - off += adjust; - dataBuf[off++] = ';'; - dataBuf[off] = '\0'; - dataSize--; - } - } - /* Additionally, win32s doesnt work as expected, so - the specific strlen() is required for 3.1. */ - rc = RegQueryValue(newKey, "", dataBuf+off, &dataSize); - if (rc==ERROR_SUCCESS) { - if (strlen(dataBuf)==0) - free(dataBuf); - else - retval = dataBuf; /* caller will free */ - } - else - free(dataBuf); - } - - if (newKey) - RegCloseKey(newKey); - return retval; -} -#endif /* MS_WIN32 */ - -static void -get_progpath(void) -{ - extern char *Py_GetProgramName(void); - char *path = getenv("PATH"); - char *prog = Py_GetProgramName(); - -#ifdef MS_WIN32 - if (GetModuleFileName(NULL, progpath, MAXPATHLEN)) - return; -#endif - if (prog == NULL || *prog == '\0') - prog = "python"; - - /* If there is no slash in the argv0 path, then we have to - * assume python is on the user's $PATH, since there's no - * other way to find a directory to start the search from. If - * $PATH isn't exported, you lose. - */ -#ifdef ALTSEP - if (strchr(prog, SEP) || strchr(prog, ALTSEP)) -#else - if (strchr(prog, SEP)) -#endif - strcpy(progpath, prog); - else if (path) { - while (1) { - char *delim = strchr(path, DELIM); - - if (delim) { - int len = delim - path; - strncpy(progpath, path, len); - *(progpath + len) = '\0'; - } - else - strcpy(progpath, path); - - join(progpath, prog); - if (exists(progpath)) - break; - - if (!delim) { - progpath[0] = '\0'; - break; - } - path = delim + 1; - } - } - else - progpath[0] = '\0'; -} - -static void -calculate_path(void) -{ - char argv0_path[MAXPATHLEN+1]; - char *buf; - int bufsz; - char *pythonhome = Py_GetPythonHome(); - char *envpath = Py_GETENV("PYTHONPATH"); -#ifdef MS_WIN32 - char *machinepath, *userpath; - - /* Are we running under Windows 3.1(1) Win32s? */ - if (PyWin_IsWin32s()) { - /* Only CLASSES_ROOT is supported */ - machinepath = getpythonregpath(HKEY_CLASSES_ROOT, TRUE); - userpath = NULL; - } else { - machinepath = getpythonregpath(HKEY_LOCAL_MACHINE, FALSE); - userpath = getpythonregpath(HKEY_CURRENT_USER, FALSE); - } -#endif - - get_progpath(); - strcpy(argv0_path, progpath); - reduce(argv0_path); - if (pythonhome == NULL || *pythonhome == '\0') { - if (search_for_prefix(argv0_path, LANDMARK)) - pythonhome = prefix; - else - pythonhome = NULL; - } - else { - char *delim; - - strcpy(prefix, pythonhome); - - /* Extract Any Optional Trailing EXEC_PREFIX */ - /* e.g. PYTHONHOME=: */ - delim = strchr(prefix, DELIM); - if (delim) { - *delim = '\0'; - strcpy(exec_prefix, delim+1); - } else - strcpy(exec_prefix, EXEC_PREFIX); - } - - if (envpath && *envpath == '\0') - envpath = NULL; - - /* We need to construct a path from the following parts: - (1) the PYTHONPATH environment variable, if set; - (2) for Win32, the machinepath and userpath, if set; - (3) the PYTHONPATH config macro, with the leading "." - of each component replaced with pythonhome, if set; - (4) the directory containing the executable (argv0_path). - The length calculation calculates #3 first. - */ - - /* Calculate size of return buffer */ - if (pythonhome != NULL) { - char *p; - bufsz = 1; - for (p = PYTHONPATH; *p; p++) { - if (*p == DELIM) - bufsz++; /* number of DELIM plus one */ - } - bufsz *= strlen(pythonhome); - } - else - bufsz = 0; - bufsz += strlen(PYTHONPATH) + 1; - if (envpath != NULL) - bufsz += strlen(envpath) + 1; - bufsz += strlen(argv0_path) + 1; -#ifdef MS_WIN32 - if (machinepath) - bufsz += strlen(machinepath) + 1; - if (userpath) - bufsz += strlen(userpath) + 1; -#endif - - module_search_path = buf = malloc(bufsz); - if (buf == NULL) { - /* We can't exit, so print a warning and limp along */ - fprintf(stderr, "Can't malloc dynamic PYTHONPATH.\n"); - if (envpath) { - fprintf(stderr, "Using default static $PYTHONPATH.\n"); - module_search_path = envpath; - } - else { - fprintf(stderr, "Using environment $PYTHONPATH.\n"); - module_search_path = PYTHONPATH; - } - return; - } - - if (envpath) { - strcpy(buf, envpath); - buf = strchr(buf, '\0'); - *buf++ = DELIM; - } -#ifdef MS_WIN32 - if (machinepath) { - strcpy(buf, machinepath); - buf = strchr(buf, '\0'); - *buf++ = DELIM; - } - if (userpath) { - strcpy(buf, userpath); - buf = strchr(buf, '\0'); - *buf++ = DELIM; - } -#endif - if (pythonhome == NULL) { - strcpy(buf, PYTHONPATH); - buf = strchr(buf, '\0'); - } - else { - char *p = PYTHONPATH; - char *q; - int n; - for (;;) { - q = strchr(p, DELIM); - if (q == NULL) - n = strlen(p); - else - n = q-p; - if (p[0] == '.' && is_sep(p[1])) { - strcpy(buf, pythonhome); - buf = strchr(buf, '\0'); - p++; - n--; - } - strncpy(buf, p, n); - buf += n; - if (q == NULL) - break; - *buf++ = DELIM; - p = q+1; - } - } - if (argv0_path) { - *buf++ = DELIM; - strcpy(buf, argv0_path); - buf = strchr(buf, '\0'); - } - *buf = '\0'; -} - - -/* External interface */ - -char * -Py_GetPath(void) -{ - if (!module_search_path) - calculate_path(); - - return module_search_path; -} - -char * -Py_GetPrefix(void) -{ - if (!module_search_path) - calculate_path(); - - return prefix; -} - -char * -Py_GetExecPrefix(void) -{ - if (!module_search_path) - calculate_path(); - - return exec_prefix; -} - -char * -Py_GetProgramFullPath(void) -{ - if (!module_search_path) - calculate_path(); - - return progpath; -} diff --git a/PC/os2vacpp/makefile b/PC/os2vacpp/makefile deleted file mode 100644 index e2f0adcb7ec..00000000000 --- a/PC/os2vacpp/makefile +++ /dev/null @@ -1,1549 +0,0 @@ -###################################################################### -# -# Top-Level Makefile for Building Python for OS/2 -# -# This makefile was developed for use with IBM's VisualAge C/C++ -# for OS/2 compiler, version 3.0, with Fixpack 8 applied. It uses -# version 4.0 of the NMAKE tool that comes with that package. -# -# The output of the build is a largish Python23.DLL containing the -# essential modules of Python and a small Python.exe program to start -# the interpreter. When embedding Python within another program, only -# Python23.DLL is needed. -# -# These two binaries can be statically linked with the VisualAge C/C++ -# runtime library (producing larger binaries), or dynamically linked -# to make smaller ones that require the compiler to be installed on -# any system Python is used on. Review the /Gd+ compiler option for -# how to do this. -# -# NOTE: IBM's NMAKE 4.0 is rather dumb, requiring this makefile to -# be much more complicated than necessary. I use OpusMAKE -# myself for a much more powerful MAKE tool but not everyone -# wishes to buy it. However, as a result I didn't hook in -# the dependencies on the include files as NMAKE has no easy -# way to do this without explicitly spelling it all out. -# -# History (Most Recent First) -# -# 26-Sep-98 jrr Retested and adjusted for building w/Python 1.5.2a1 -# 20-Nov-97 jrr Cleaned Up for Applying to Distribution -# 29-Oct-97 jrr Modified for Use with Python 1.5 Alpha 4 -# 03-Aug-96 jrr Original for Use with Python 1.4 Release -# -###################################################################### - -################### -# Places and Things -################### -PY_MODULES = ..\..\Modules -PY_OBJECTS = ..\..\Objects -PY_PARSER = ..\..\Parser -PY_PYTHON = ..\..\Python -PY_INCLUDE = ..\..\Include -PY_INCLUDES = .;$(PY_INCLUDE);$(PY_MODULES);$(PY_OBJECTS);$(PY_PARSER);$(PY_PYTHON) - -# File to Collect Wordy Compiler Output re Errors -ERRS = make.out - -# Where to Find the IBM TCP/IP Socket Includes and Libraries -OS2TCPIP = C:\MPTN - -# Where to Find the Tcl/Tk Base Directory for Libs/Includes -TCLTK = D:\TclTk -TCLBASE = D:\Tcl7.6\OS2 -TKBASE = D:\Tk4.2\OS2 - -# Where to Put the .OBJ Files, To Keep Them Out of the Way -PATHOBJ = obj - -# Search Path for Include Files -PROJINCLUDE = .;$(TCLBASE);$(TKBASE);$(OS2TCPIP)\Include;$(PY_INCLUDES) - -# Place to Search for Sources re OpusMAKE Dependency Generator (Commercial) -MKMF_SRCS = $(PY_MODULES)\*.c $(PY_OBJECTS)\*.c $(PY_PARSER)\*.c $(PY_PYTHON)\*.c - -#.HDRPATH.c := $(PROJINCLUDE,;= ) $(.HDRPATH.c) -#.PATH.c = .;$(PY_MODULES);$(PY_OBJECTS);$(PY_PARSER);$(PY_PYTHON) -OTHERLIBS = so32dll.lib tcp32dll.lib # Tcl76.lib Tk42.lib - -################# -# Inference Rules -################# -{$(PY_MODULES)\}.c{$(PATHOBJ)\}.obj: # Compile C Code into a .OBJ File - @ Echo Compiling $< - @ $(CC) -c $(CFLAGS) -Fo$@ $< >>$(ERRS) - -{$(PY_OBJECTS)\}.c{$(PATHOBJ)\}.obj: # Compile C Code into a .OBJ File - @ Echo Compiling $< - @ $(CC) -c $(CFLAGS) -Fo$@ $< >>$(ERRS) - -{$(PY_PARSER)\}.c{$(PATHOBJ)\}.obj: # Compile C Code into a .OBJ File - @ Echo Compiling $< - @ $(CC) -c $(CFLAGS) -Fo$@ $< >>$(ERRS) - -{$(PY_PYTHON)\}.c{$(PATHOBJ)\}.obj: # Compile C Code into a .OBJ File - @ Echo Compiling $< - @ $(CC) -c $(CFLAGS) -Fo$@ $< >>$(ERRS) - -.c{$(PATHOBJ)\}.obj: # Compile C Code into a .OBJ File - @ Echo Compiling $< - @ $(CC) -c $(CFLAGS) -Fo$@ $< >>$(ERRS) - -################### -# Python Subsystems -################### - -# PYTHON is the central core, containing the builtins and interpreter. -PYTHON = \ - $(PATHOBJ)\BltinModule.obj \ - $(PATHOBJ)\CEval.obj \ - $(PATHOBJ)\Compile.obj \ - $(PATHOBJ)\Errors.obj \ - $(PATHOBJ)\Frozen.obj \ - $(PATHOBJ)\Getargs.obj \ - $(PATHOBJ)\GetCompiler.obj \ - $(PATHOBJ)\GetCopyright.obj \ - $(PATHOBJ)\GetMTime.obj \ - $(PATHOBJ)\GetOpt.obj \ - $(PATHOBJ)\GetPlatform.obj \ - $(PATHOBJ)\GetVersion.obj \ - $(PATHOBJ)\GramInit.obj \ - $(PATHOBJ)\Import.obj \ - $(PATHOBJ)\ImportDL.obj \ - $(PATHOBJ)\Marshal.obj \ - $(PATHOBJ)\ModSupport.obj \ - $(PATHOBJ)\MyStrtoul.obj \ - $(PATHOBJ)\PyState.obj \ - $(PATHOBJ)\PythonRun.obj \ - $(PATHOBJ)\StructMember.obj \ - $(PATHOBJ)\SysModule.obj \ - $(PATHOBJ)\Thread.obj \ - $(PATHOBJ)\TraceBack.obj \ - $(PATHOBJ)\FrozenMain.obj \ - $(PATHOBJ)\exceptions.obj \ - $(PATHOBJ)\symtable.obj \ - $(PATHOBJ)\codecs.obj \ - $(PATHOBJ)\future.obj \ - $(PATHOBJ)\dynload_os2.obj \ - $(PATHOBJ)\mysnprintf.obj \ - $(PATHOBJ)\iterobject.obj - -# Python's Internal Parser -PARSER = \ - $(PATHOBJ)\Acceler.obj \ - $(PATHOBJ)\Grammar1.obj \ - $(PATHOBJ)\ListNode.obj \ - $(PATHOBJ)\Node.obj \ - $(PATHOBJ)\Parser.obj \ - $(PATHOBJ)\ParseTok.obj \ - $(PATHOBJ)\BitSet.obj \ - $(PATHOBJ)\MetaGrammar.obj \ - $(PATHOBJ)\Tokenizer.obj \ - $(PATHOBJ)\MyReadline.obj - -# Python Object Types -OBJECTS = \ - $(PATHOBJ)\Abstract.obj \ - $(PATHOBJ)\BoolObject.obj \ - $(PATHOBJ)\BufferObject.obj \ - $(PATHOBJ)\CellObject.obj \ - $(PATHOBJ)\ClassObject.obj \ - $(PATHOBJ)\CObject.obj \ - $(PATHOBJ)\ComplexObject.obj \ - $(PATHOBJ)\DescrObject.obj \ - $(PATHOBJ)\DictObject.obj \ - $(PATHOBJ)\EnumObject.obj \ - $(PATHOBJ)\FileObject.obj \ - $(PATHOBJ)\FloatObject.obj \ - $(PATHOBJ)\FrameObject.obj \ - $(PATHOBJ)\FuncObject.obj \ - $(PATHOBJ)\IterObject.obj \ - $(PATHOBJ)\ListObject.obj \ - $(PATHOBJ)\LongObject.obj \ - $(PATHOBJ)\MethodObject.obj \ - $(PATHOBJ)\ModuleObject.obj \ - $(PATHOBJ)\Object.obj \ - $(PATHOBJ)\ObMalloc.obj \ - $(PATHOBJ)\RangeObject.obj \ - $(PATHOBJ)\SliceObject.obj \ - $(PATHOBJ)\StringObject.obj \ - $(PATHOBJ)\StructSeq.obj \ - $(PATHOBJ)\TupleObject.obj \ - $(PATHOBJ)\TypeObject.obj \ - $(PATHOBJ)\UnicodeObject.obj \ - $(PATHOBJ)\UnicodeCType.obj \ - $(PATHOBJ)\WeakrefObject.obj - -# Extension Modules (Built-In or as Separate DLLs) -MODULES = \ - $(PATHOBJ)\ArrayModule.obj \ - $(PATHOBJ)\BinAscii.obj \ - $(PATHOBJ)\CMathModule.obj \ - $(PATHOBJ)\ErrnoModule.obj \ - $(PATHOBJ)\GCModule.obj \ - $(PATHOBJ)\GetBuildInfo.obj \ - $(PATHOBJ)\GetPathP.obj \ - $(PATHOBJ)\Main.obj \ - $(PATHOBJ)\MathModule.obj \ - $(PATHOBJ)\MD5c.obj \ - $(PATHOBJ)\MD5Module.obj \ - $(PATHOBJ)\Operator.obj \ - $(PATHOBJ)\PCREModule.obj \ - $(PATHOBJ)\PyPCRE.obj \ - $(PATHOBJ)\PosixModule.obj \ - $(PATHOBJ)\RegexModule.obj \ - $(PATHOBJ)\RegExpr.obj \ - $(PATHOBJ)\SelectModule.obj \ - $(PATHOBJ)\SignalModule.obj \ - $(PATHOBJ)\SocketModule.obj \ - $(PATHOBJ)\StropModule.obj \ - $(PATHOBJ)\StructModule.obj \ - $(PATHOBJ)\TimeModule.obj \ - $(PATHOBJ)\ThreadModule.obj - -# Standalone Parser Generator Program (Shares Some of Python's Modules) -PGEN = \ - $(PATHOBJ)\PGen.obj \ - $(PATHOBJ)\PGenMain.obj \ - $(PATHOBJ)\MySNPrintf.obj \ - $(PATHOBJ)\Tokenizer_Pgen.obj \ - $(PATHOBJ)\PrintGrammar.obj \ - $(PATHOBJ)\Grammar.obj \ - $(PATHOBJ)\FirstSets.obj - -################## -# Macros and Flags -################## -_BASE = /Q /W2 /I$(PROJINCLUDE) - # /Q = Omit IBM Copyright - # /W2 = Show Warnings/Errors Only - -_GEN = /G4 /Gm /Gd- - # /G4 = Generate Code for 486 (Use 386 for Debugger) - # /Gm = Use Multithread Runtime - # /Gd = Dynamically Load Runtime - # /Ms = Use _System Calling Convention (vs _Optlink) - # (to allow non-VAC++ code to call into Python23.dll) - -_OPT = /O /Gl - # /O = Enable Speed-Optimizations - # /Ol = Pass Code Thru Intermediate Linker - # /Gu = Advise Linker All Ext Data is ID'd - # /Gl = Have Linker Remove Unused Fns - -_DBG = /Wpro- /Ti- /DHAVE_CONFIG_H /DUSE_SOCKET - # /Wpro= Generate Compiler Warnings re Missing Prototypes - # /Ti = Embed Debugger/Analyzer Recs - # /Tm = Enable Debug Memory Fns - # /Tx = Request Full Dump Upon Exception - # /DHAVE_CONFIG_H = Causes Use of CONFIG.H Settings - # /DUSE_SOCKET = Enables Building In of Socket API - -_OUT = - # /Fb = Embed Browser Recs - # /Gh = Generate Code for Profiler Hooks - # /Fl = Output C/C++ Listing Files - # /Lf = Provide Full (Detailed) Listing Files - # /Fm. = Output Linker Map File - # /Ft. = Output C++ Template Resolution Files - -_MAP = /FmNoise\$(@R).map - -_DLL = /Ge- -_EXE = /Ge - # /Ge = Create an EXE, not DLL - -CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss - -################### -# Primary Target(s) -################### -All: obj noise PyCore.lib Python23.lib PGen.exe \ - Python.exe PythonPM.exe Python23.dll # _tkinter.dll - -Modules: $(MODULES) -Objects: $(OBJECTS) -Parser: $(PARSER) -Python: $(PYTHON) - -# Directory to Keep .OBJ Files Out of the Way -obj: - @-mkdir obj >>NUL - -# Directory to Keep .MAP and Such Text Files Out of the Way -noise: - @-mkdir noise >>NUL - -############## -# -############## - -# Python Extension DLL: Tcl/Tk Interface -#_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python23.lib _tkinter.def -# @ Echo Linking $@ As DLL -# @ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) - -#$(PATHOBJ)\_tkinter.obj: $(PY_MODULES)\_tkinter.c -# @ Echo Compiling $** -# @ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS) - -# Object Library of All Essential Python Routines -PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) $(PATHOBJ)\Config.obj - @ Echo Adding Updated Object Files to Link Library $@ - @ ! ILIB $@ /NOLOGO /NOBACKUP -+$? ; >>$(ERRS) - -Python23.dll: $(PATHOBJ)\Compile.obj PyCore.lib Python.def - @ Echo Linking $@ As DLL - @ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) -# @ Echo Compressing $@ with LxLite -# @ lxlite $@ - -# IBM Linker Requires One Explicit .OBJ To Build a .DLL from a .LIB -$(PATHOBJ)\Compile.obj: $(PY_PYTHON)\Compile.c - @ Echo Compiling $** - @ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS) - -# Import Library for Using the Python23.dll -Python23.lib: Python.def - @ Echo Making $@ - @ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS) - @ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS) - -# Small Command-Line Program to Start Interpreter in Python23.dll -Python.exe: $(PATHOBJ)\Python.obj Python23.lib - @ Echo Linking $@ As EXE - @ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) - -# Small PM-GUI Program to Start Interpreter in Python23.dll -PythonPM.exe: $(PATHOBJ)\Python.obj Python23.lib - @ Echo Linking $@ As EXE - @ $(CC) $(CFLAGS) $(_EXE) /B"/PM:PM /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) - -PGen.exe: $(PGEN) PyCore.lib - @ Echo Linking $@ As EXE - @ $(CC) $(CFLAGS) $(_EXE) /B"/STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) - -####################### -# Miscellaneous Targets -####################### - -# Remove Intermediate Targets but Leave Executable Binaries -clean: - -- Del /Q $(PATHOBJ)\*.obj >NUL 2>&1 - -- Del /Q /Y Noise >NUL 2>&1 - -- Del /Q $(ERRS) >NUL 2>&1 - -# Remove All Targets, Including Final Binaries -distclean: clean - -- Del /Q PyCore.lib Python23.lib >NUL 2>&1 - -- Del /Q Python23.dll Python.exe PGen.exe >NUL 2>&1 - -release: Python.exe Python23.dll Python23.lib - -- @Echo Y | copy /U Python.exe D:\EXEs - -- @Echo Y | copy /U Python23.dll D:\DLLs - -- @Echo Y | copy /U Python23.lib E:\Tau\Lib - -- @Echo Y | copy /U _tkinter.dll D:\Python - -test: - python ..\..\lib\test\regrtest.py - -# Update Dependencies on Targets (Uses OpusMAKE Commercial Product) -depend: - D:\OpusMake\os2mkmf -c -s - -### OPUS MKMF: Do not remove this line! Generated dependencies follow. - -_tkinter.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -arraymodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -audioop.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\mymath.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -binascii.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -cmathmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -cpickle.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -cryptmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -cursesmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -_dbmmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -errno.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -errnomodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -fcntlmodule.obj: $(PY_INCLUDE)\abstract.h $(OS2TCPIP)\Include\sys\ioctl.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -fpectlmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -fpetestmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -_gdbmmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -getbuildinfo.obj: pyconfig.h - -getpath.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\osdefs.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -grpmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(OS2TCPIP)\Include\grp.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -imageop.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -main.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -mathmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\mymath.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -mpzmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longintrepr.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -nismodule.obj: $(PY_INCLUDE)\abstract.h $(OS2TCPIP)\Include\sys\time.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -operator.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -parsermodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h \ - $(PY_INCLUDE)\complexobject.h pyconfig.h $(PY_INCLUDE)\dictobject.h \ - $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h \ - $(PY_INCLUDE)\graminit.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\token.h \ - $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -posix.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\mytime.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -posixmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\mytime.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -pwdmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(OS2TCPIP)\Include\pwd.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -readline.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -resource.obj: $(PY_INCLUDE)\abstract.h $(OS2TCPIP)\Include\sys\time.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -selectmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\myselect.h $(PY_INCLUDE)\mytime.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -signalmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -socketmodule.obj: $(PY_INCLUDE)\abstract.h $(OS2TCPIP)\Include\netinet\in.h \ - $(OS2TCPIP)\Include\sys\socket.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\mytime.h $(OS2TCPIP)\Include\netdb.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -structmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -syslogmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(OS2TCPIP)\Include\syslog.h $(PY_INCLUDE)\sysmodule.h \ - $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -termios.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -_threadmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\thread.h \ - $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -timemodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\mytime.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -xxmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -zlibmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -abstract.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -classobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -cobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -complexobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -dictobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -fileobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\structmember.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -floatobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -frameobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h \ - $(PY_INCLUDE)\complexobject.h pyconfig.h $(PY_INCLUDE)\dictobject.h \ - $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\frameobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\opcode.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -funcobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -listobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -longobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longintrepr.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\mymath.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -methodobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\token.h \ - $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -moduleobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -object.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -rangeobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -sliceobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -stringobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -tupleobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -typeobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -xxobject.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -acceler.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\node.h \ - $(PY_PARSER)\parser.h $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\token.h - -bitset.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h - -firstsets.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h - -grammar.obj: $(PY_INCLUDE)\bitset.h pyconfig.h \ - $(PY_INCLUDE)\grammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h - -grammar1.obj: $(PY_INCLUDE)\bitset.h pyconfig.h \ - $(PY_INCLUDE)\grammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h - -intrcheck.obj: pyconfig.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h - -listnode.obj: pyconfig.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\token.h - -metagrammar.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\metagrammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_PARSER)\pgen.h $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h - -myreadline.obj: pyconfig.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h - -node.obj: pyconfig.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\node.h \ - $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h - -parser.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\errcode.h \ - $(PY_INCLUDE)\grammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_PARSER)\parser.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h - -parsetok.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\errcode.h \ - $(PY_INCLUDE)\grammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_PARSER)\parser.h $(PY_INCLUDE)\parsetok.h \ - $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h \ - $(PY_PARSER)\tokenizer.h - -pgen.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\metagrammar.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_PARSER)\pgen.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\token.h - -pgenmain.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\node.h \ - $(PY_INCLUDE)\parsetok.h $(PY_PARSER)\pgen.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h - -printgrammar.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h - -tokenizer.obj: pyconfig.h $(PY_INCLUDE)\errcode.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\pgenheaders.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\token.h $(PY_PARSER)\tokenizer.h - -atof.obj: pyconfig.h - -bltinmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h \ - $(PY_INCLUDE)\complexobject.h pyconfig.h $(PY_INCLUDE)\dictobject.h \ - $(PY_INCLUDE)\eval.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\mymath.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\node.h $(PY_INCLUDE)\object.h \ - $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -ceval.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\eval.h \ - $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\frameobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\opcode.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -compile.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\graminit.h \ - $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h \ - $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\opcode.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\token.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -errors.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -fmod.obj: pyconfig.h $(PY_INCLUDE)\mymath.h - -frozen.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -frozenmain.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -getargs.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -getcompiler.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -getcopyright.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -getplatform.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -getversion.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\patchlevel.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -graminit.obj: $(PY_INCLUDE)\bitset.h pyconfig.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\pgenheaders.h \ - $(PY_INCLUDE)\pydebug.h - -hypot.obj: pyconfig.h $(PY_INCLUDE)\mymath.h $(PY_INCLUDE)\myproto.h - -import.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\errcode.h $(PY_INCLUDE)\eval.h \ - $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h \ - $(PY_INCLUDE)\import.h $(PY_PYTHON)\importdl.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\marshal.h $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\osdefs.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\token.h \ - $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -importdl.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_PYTHON)\importdl.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\osdefs.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -marshal.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longintrepr.h $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\marshal.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -modsupport.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -mystrtoul.obj: pyconfig.h - -pyfpe.obj: pyconfig.h $(PY_INCLUDE)\pyfpe.h - -pystate.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -pythonrun.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\bitset.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h \ - $(PY_INCLUDE)\complexobject.h pyconfig.h $(PY_INCLUDE)\dictobject.h \ - $(PY_INCLUDE)\errcode.h $(PY_INCLUDE)\eval.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\grammar.h \ - $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h \ - $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\marshal.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\node.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\parsetok.h $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h \ - $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h \ - $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -sigcheck.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\pydebug.h \ - $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h $(PY_INCLUDE)\pystate.h \ - $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h $(PY_INCLUDE)\rangeobject.h \ - $(PY_INCLUDE)\sliceobject.h $(PY_INCLUDE)\stringobject.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -strdup.obj: pyconfig.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h - -strtod.obj: pyconfig.h - -structmember.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ - $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h - -sysmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h $(PY_INCLUDE)\floatobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\osdefs.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - -thread.obj: pyconfig.h $(PY_INCLUDE)\thread.h - -traceback.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\compile.h $(PY_INCLUDE)\complexobject.h \ - pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\frameobject.h \ - $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h $(PY_INCLUDE)\intobject.h \ - $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h $(PY_INCLUDE)\longobject.h \ - $(PY_INCLUDE)\methodobject.h $(PY_INCLUDE)\modsupport.h \ - $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h $(PY_INCLUDE)\myproto.h \ - $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h $(PY_INCLUDE)\osdefs.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\structmember.h \ - $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h $(PY_INCLUDE)\tupleobject.h diff --git a/PC/os2vacpp/makefile.omk b/PC/os2vacpp/makefile.omk deleted file mode 100644 index aa12c964553..00000000000 --- a/PC/os2vacpp/makefile.omk +++ /dev/null @@ -1,1047 +0,0 @@ -###################################################################### -# -# Top-Level Makefile for Building Python for OS/2 -# -# This makefile was developed for use with IBM's VisualAge C/C++ -# for OS/2 compiler, version 3.0, with Fixpack 8 applied. It uses -# the commercial OpusMAKE tool. -# -# The output of the build is a largish Python15.DLL containing the -# essential modules of Python and a small Python.exe program to start -# the interpreter. When embedding Python within another program, only -# Python15.DLL is needed. -# -# These two binaries can be statically linked with the VisualAge C/C++ -# runtime library (producing larger binaries), or dynamically linked -# to make smaller ones that require the compiler to be installed on -# any system Python is used on. -# -# History (Most Recent First) -# -# 20-Nov-97 jrr Cleaned Up for Applying to Distribution -# 29-Oct-97 jrr Modified for Use with Python 1.5 Alpha 4 -# 03-Aug-96 jrr Original for Use with Python 1.4 Release -# -###################################################################### - -################### -# Places and Things -################### -PY_MODULES = ..\..\Modules -PY_OBJECTS = ..\..\Objects -PY_PARSER = ..\..\Parser -PY_PYTHON = ..\..\Python -PY_INCLUDE = ..\..\Include -PY_INCLUDES = .;$(PY_INCLUDE);$(PY_MODULES);$(PY_OBJECTS);$(PY_PARSER);$(PY_PYTHON) - -# Where to Find the IBM TCP/IP Socket Includes and Libraries -OS2TCPIP = C:\MPTN - -# Where to Put the .OBJ Files, To Keep Them Out of the Way -.PATH.obj = obj - -# Search Path for Include Files -PROJINCLUDE = .;$(OS2TCPIP)\Include;$(PY_INCLUDES) - -# Place to Search for Sources re OpusMAKE Dependency Generator (Commercial) -MKMF_SRCS = $(PY_MODULES)\*.c $(PY_OBJECTS)\*.c $(PY_PARSER)\*.c $(PY_PYTHON)\*.c - -.HDRPATH.c := $(PROJINCLUDE,;= ) $(.HDRPATH.c) -.PATH.c = .;$(PY_MODULES);$(PY_OBJECTS);$(PY_PARSER);$(PY_PYTHON) -OTHERLIBS = $(OS2TCPIP)\lib\so32dll.lib $(OS2TCPIP)\lib\tcp32dll.lib - -################# -# Inference Rules -################# - - -################### -# Python Subsystems -################### - -# PYTHON is the central core, containing the builtins and interpreter. -PYTHON = \ - BltinModule.obj \ - CEval.obj \ - Compile.obj \ - Errors.obj \ - Frozen.obj \ - Getargs.obj \ - GetCompiler.obj \ - GetCopyright.obj \ - GetMTime.obj \ - GetOpt.obj \ - GetPlatform.obj \ - GetVersion.obj \ - GramInit.obj \ - Import.obj \ - ImportDL.obj \ - Marshal.obj \ - ModSupport.obj \ - MyStrtoul.obj \ - PyState.obj \ - PythonRun.obj \ - StructMember.obj \ - SysModule.obj \ - Thread.obj \ - TraceBack.obj \ - FrozenMain.obj - -# Omitted Python Elements (and Reason): - # atof.c -- Implementation for Platforms w/o This Function - # dup2.c -- Implementation for Platforms w/o This Function - # fmod.c -- Implementation for Platforms w/o This Function - # getcwd.c -- Implementation for Platforms w/o This Function - # hypot.c -- Implementation for Platforms w/o This Function - # memmove.c -- Implementation for Platforms w/o This Function - # strdup.c -- Implementation for Platforms w/o This Function - # strerror.c -- Implementation for Platforms w/o This Function - # strtod.c -- Implementation for Platforms w/o This Function - - # sigcheck.c -- Primitive Signal Catcher (SignalModule.c Used Instead) - # pyfpe.c -- Primitive FPE Catcher (Not Referenced by Anyone) - # frozenmain.c - -# Python's Internal Parser -PARSER = \ - Acceler.obj \ - Grammar1.obj \ - MyReadline.obj \ - Node.obj \ - Parser.obj \ - ParseTok.obj \ - Tokenizer.obj - -# Python Object Types -OBJECTS = \ - Abstract.obj \ - ClassObject.obj \ - CObject.obj \ - ComplexObject.obj \ - DictObject.obj \ - FileObject.obj \ - FloatObject.obj \ - FrameObject.obj \ - FuncObject.obj \ - ListObject.obj \ - LongObject.obj \ - MethodObject.obj \ - ModuleObject.obj \ - Object.obj \ - RangeObject.obj \ - SliceObject.obj \ - StringObject.obj \ - TupleObject.obj \ - TypeObject.obj - -# Omitted Objects (and Reason): - # xxobject.c -- Template to Create Your Own Object Types - -# Extension Modules (Built-In or as Separate DLLs) -MODULES = \ - ArrayModule.obj \ - BinAscii.obj \ - CMathModule.obj \ - ErrnoModule.obj \ - GetBuildInfo.obj \ - GetPathP.obj \ - Main.obj \ - MathModule.obj \ - MD5c.obj \ - MD5Module.obj \ - Operator.obj \ - PosixModule.obj \ - RegexModule.obj \ - RegExpr.obj \ - ReopModule.obj \ - SelectModule.obj \ - SignalModule.obj \ - SocketModule.obj \ - SoundEx.obj \ - StropModule.obj \ - StructModule.obj \ - TimeModule.obj \ - ThreadModule.obj - -# Omitted Modules (and Description/Reason): - # - # Multimedia: - # audioop.c -- Various Compute Operations on Audio Samples - - # Database: - # _dbmmodule.c -- Wrapper of DBM Database API (Generic Flavor) - # _gdbmmodule.c -- Wrapper of DBM Database API (GNU Flavor) - - # Cryptography: - # cryptmodule.c -- Simple Wrapper for crypt() Function - -# fcntlmodule.obj \ -# fpectlmodule.obj \ -# fpetestmodule.obj \ -# Unix-Specific getpath.obj \ -# grpmodule.obj \ -# mpzmodule.obj \ -# nismodule.obj \ -# parsermodule.obj \ -# pwdmodule.obj \ -# readline.obj \ -# resource.obj \ -# syslogmodule.obj \ -# termios.obj \ - - # User Interface: -# _tkinter.obj \ -# stdwinmodule.obj \ -# cursesmodule.obj \ -# tclNotify.obj \ -# tkappinit.obj \ - # flmodule.c -- Wrapper of FORMS Library (Screen Forms) - - # zlibmodule.c -- Wrapper of ZLib Compression API (GZip Format) - # puremodule.c -- Wrapper of Purify Debugging API (Probably Non-OS/2) - # xxmodule.c -- Template to Create Your Own Module - -# -# Standalone Parser Generator Program (Shares Some of Python's Modules) -PGEN = \ - PGenMain.obj \ - PGen.obj \ - PrintGrammar.obj \ - ListNode.obj \ - Grammar.obj \ - BitSet.obj \ - FirstSets.obj \ - MetaGrammar.obj - -# Omitted Parser Elements (and Reason): - # intrcheck.c -- Not Referenced by Anyone (?) - -################## -# Macros and Flags -################## -_BASE = /Q /W2 /I$(PROJINCLUDE) - # /Q = Omit IBM Copyright - # /W2 = Show Warnings/Errors Only - # /Fi = Create Precompiled Headers - # /Si = Utilize Precompiled Headers - -_GEN = /G4 /Gm /Gd /B"/STACK:360000" - # /G4 = Generate Code for 486 (Use 386 for Debugger) - # /Gm = Use Multithread Runtime - # /Gd = Dynamically Load Runtime - # /Gs = Remove Code for Stack Probes - # /Gx = Remove C++ Exception-Handling Info - # /Tdp = Generate Code for C++ Templates - # /Rn = Generate Code without a Runtime - # /B"/STACK:n" = Set Stack Size - -_OPT = /O /Gl - # /O = Enable Speed-Optimizations - # /Ol = Pass Code Thru Intermediate Linker - # /Gu = Advise Linker All Ext Data is ID'd - # /Gl = Have Linker Remove Unused Fns - -_DBG = /DHAVE_CONFIG_H /DUSE_SOCKET - # /Ti = Embed Debugger/Analyzer Recs - # /Tm = Enable Debug Memory Fns - # /Tx = Request Full Dump Upon Exception - # /DDEBUG = Enable App-Internal Debugging Code - # /DUSE_SOCKET = - # /DUSE_DL_EXPORT = - -_OUT = - # /Fb = Embed Browser Recs - # /Gh = Generate Code for Profiler Hooks - # /Fl = Output C/C++ Listing Files - # /Lf = Provide Full (Detailed) Listing Files - # /Fm. = Output Linker Map File - # /Ft. = Output C++ Template Resolution Files - -_MAP = /FmNoise\$(.TARGET,B,>.map) - -_DLL = /Ge- -_EXE = /Ge - # /Ge = Create an EXE, not DLL - -CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss -CPPFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) - -################### -# Primary Target(s) -################### -All: obj noise PyCore.lib Python15.lib Python15.dll Python.exe PGen.exe - -############## -# -############## - -# Object Library of All Essential Python Routines -PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) Config.obj - %do "%.lib" - -Python15.dll: Compile.obj PyCore.lib Python.def - %do "%.dll" CPPFLAGS+=/B"/NOE" CPPFLAGS+=$(_MAP) - -Compile.obj: Compile.c - %do ".c.obj" CFLAGS+=$(_DLL) - -# Import Library for Using the Python15.dll -Python15.lib: Python.def - %do ".def.lib" - -# Small Program to Start Interpreter in Python15.dll -Python.exe: Python.obj Python15.lib - %do "%.exe" CPPFLAGS+=$(_MAP) - -#Python.obj: Python.c -# %do ".c.obj" CFLAGS+=$(_EXE) - -PGen.exe: $(PGEN) PyCore.lib - %do "%.exe" CPPFLAGS+=$(_MAP) - -####################### -# Miscellaneous Targets -####################### - -# Remove Intermediate Targets but Leave Executable Binaries -clean: - -- Del /Q $(.PATH.obj)\*.obj >NUL 2>&1 - -- Del /Q /Y Noise >NUL 2>&1 - -- Del /Q $(ERRS) >NUL 2>&1 - -# Remove All Targets, Including Final Binaries -distclean: clean - -- Del /Q PyCore.lib Python15.lib >NUL 2>&1 - -- Del /Q Python15.dll Python.exe >NUL 2>&1 - -release: Python.exe Python15.dll Python15.lib - -- @Echo Y | copy /U $(.SOURCES,M"*.exe") D:\EXEs - -- @Echo Y | copy /U $(.SOURCES,M"*.dll") D:\DLLs - -- @Echo Y | copy /U $(.SOURCES,M"*.lib") E:\Tau\Lib - -test: - python ..\..\lib\test\regrtest.py - -# Update Dependencies on Targets (Uses OpusMAKE Commercial Product) -depend: - D:\OpusMake\os2mkmf -c -s - -### OPUS MKMF: Do not remove this line! Generated dependencies follow. - -_tkinter.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -arraymodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -audioop.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h mymath.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -binascii.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -cmathmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h mymath.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -cpickle.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -cryptmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -cursesmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -_dbmmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -errno.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -errnomodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -fcntlmodule.obj: abstract.h c:\mptn\include\sys\ioctl.h ceval.h \ - classobject.h cobject.h complexobject.h pyconfig.h dictobject.h \ - fileobject.h floatobject.h funcobject.h import.h intobject.h \ - intrcheck.h listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -fpectlmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -fpetestmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -_gdbmmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -getbuildinfo.obj: pyconfig.h - -getpath.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h osdefs.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -grpmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - grp.h import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -imageop.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -main.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -mathmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h mymath.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -mpzmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longintrepr.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -nismodule.obj: abstract.h c:\mptn\include\sys\time.h ceval.h classobject.h \ - cobject.h complexobject.h pyconfig.h dictobject.h fileobject.h \ - floatobject.h funcobject.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -operator.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -parsermodule.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h graminit.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h node.h object.h objimpl.h \ - pydebug.h pyerrors.h pyfpe.h pystate.h python.h pythonrun.h \ - rangeobject.h sliceobject.h stringobject.h sysmodule.h token.h \ - traceback.h tupleobject.h - -posix.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - mytime.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -posixmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - mytime.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -pwdmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pwd.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -readline.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -resource.obj: abstract.h c:\mptn\include\sys\time.h ceval.h classobject.h \ - cobject.h complexobject.h pyconfig.h dictobject.h fileobject.h \ - floatobject.h funcobject.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -selectmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h myselect.h mytime.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -signalmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -socketmodule.obj: abstract.h c:\mptn\include\netinet\in.h \ - c:\mptn\include\sys\socket.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h mytime.h netdb.h object.h objimpl.h pydebug.h pyerrors.h \ - pyfpe.h pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -structmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -syslogmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h syslog.h sysmodule.h traceback.h tupleobject.h - -termios.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -_threadmodule.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h thread.h traceback.h tupleobject.h - -timemodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - mytime.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -xxmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -zlibmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -abstract.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -classobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - structmember.h sysmodule.h traceback.h tupleobject.h - -cobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -complexobject.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -dictobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -fileobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - structmember.h sysmodule.h traceback.h tupleobject.h - -floatobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h mymath.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -frameobject.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - frameobject.h funcobject.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h opcode.h \ - pydebug.h pyerrors.h pyfpe.h pystate.h python.h pythonrun.h \ - rangeobject.h sliceobject.h stringobject.h structmember.h \ - sysmodule.h traceback.h tupleobject.h - -funcobject.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h structmember.h sysmodule.h traceback.h \ - tupleobject.h - -listobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -longobject.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longintrepr.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h mymath.h myproto.h object.h objimpl.h \ - pydebug.h pyerrors.h pyfpe.h pystate.h python.h pythonrun.h \ - rangeobject.h sliceobject.h stringobject.h sysmodule.h traceback.h \ - tupleobject.h - -methodobject.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h token.h traceback.h tupleobject.h - -moduleobject.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -object.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -rangeobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -sliceobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -stringobject.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -tupleobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -typeobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -xxobject.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -acceler.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h node.h \ - parser.h pgenheaders.h pydebug.h token.h - -bitset.obj: bitset.h pyconfig.h mymalloc.h myproto.h pgenheaders.h pydebug.h - -firstsets.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h \ - pgenheaders.h pydebug.h token.h - -grammar.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h \ - pgenheaders.h pydebug.h token.h - -grammar1.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h \ - pgenheaders.h pydebug.h token.h - -intrcheck.obj: pyconfig.h intrcheck.h mymalloc.h myproto.h - -listnode.obj: pyconfig.h mymalloc.h myproto.h node.h pgenheaders.h pydebug.h \ - token.h - -metagrammar.obj: bitset.h pyconfig.h grammar.h metagrammar.h mymalloc.h \ - myproto.h pgen.h pgenheaders.h pydebug.h - -myreadline.obj: pyconfig.h intrcheck.h mymalloc.h myproto.h - -node.obj: pyconfig.h mymalloc.h myproto.h node.h pgenheaders.h pydebug.h - -parser.obj: bitset.h pyconfig.h errcode.h grammar.h mymalloc.h \ - myproto.h node.h parser.h pgenheaders.h pydebug.h token.h - -parsetok.obj: bitset.h pyconfig.h errcode.h grammar.h mymalloc.h myproto.h \ - node.h parser.h parsetok.h pgenheaders.h pydebug.h token.h \ - tokenizer.h - -pgen.obj: bitset.h pyconfig.h grammar.h metagrammar.h mymalloc.h \ - myproto.h node.h pgen.h pgenheaders.h pydebug.h token.h - -pgenmain.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h node.h \ - parsetok.h pgen.h pgenheaders.h pydebug.h - -printgrammar.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h \ - pgenheaders.h pydebug.h - -tokenizer.obj: pyconfig.h errcode.h mymalloc.h myproto.h pgenheaders.h \ - pydebug.h token.h tokenizer.h - -atof.obj: pyconfig.h - -bltinmodule.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h eval.h fileobject.h \ - floatobject.h funcobject.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h mymath.h myproto.h node.h object.h \ - objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -ceval.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h eval.h fileobject.h \ - floatobject.h frameobject.h funcobject.h import.h intobject.h \ - intrcheck.h listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h opcode.h \ - pydebug.h pyerrors.h pyfpe.h pystate.h python.h pythonrun.h \ - rangeobject.h sliceobject.h stringobject.h sysmodule.h traceback.h \ - tupleobject.h - -compile.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h graminit.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h node.h object.h objimpl.h \ - opcode.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - structmember.h sysmodule.h token.h traceback.h tupleobject.h - -errors.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -fmod.obj: pyconfig.h mymath.h - -frozen.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -frozenmain.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -getargs.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -getcompiler.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -getcopyright.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -getplatform.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -getversion.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h patchlevel.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -graminit.obj: bitset.h pyconfig.h grammar.h mymalloc.h myproto.h \ - pgenheaders.h pydebug.h - -hypot.obj: pyconfig.h mymath.h myproto.h - -import.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h errcode.h eval.h \ - fileobject.h floatobject.h funcobject.h import.h importdl.h \ - intobject.h intrcheck.h listobject.h longobject.h marshal.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - node.h object.h objimpl.h osdefs.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h token.h traceback.h tupleobject.h - -importdl.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h importdl.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h osdefs.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -marshal.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longintrepr.h longobject.h marshal.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h pydebug.h \ - pyerrors.h pyfpe.h pystate.h python.h pythonrun.h rangeobject.h \ - sliceobject.h stringobject.h sysmodule.h traceback.h tupleobject.h - -modsupport.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -mystrtoul.obj: pyconfig.h - -pyfpe.obj: pyconfig.h pyfpe.h - -pystate.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -pythonrun.obj: abstract.h bitset.h ceval.h classobject.h cobject.h \ - compile.h complexobject.h pyconfig.h dictobject.h errcode.h eval.h \ - fileobject.h floatobject.h funcobject.h grammar.h import.h \ - intobject.h intrcheck.h listobject.h longobject.h marshal.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - node.h object.h objimpl.h parsetok.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - -sigcheck.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h pydebug.h pyerrors.h pyfpe.h pystate.h python.h \ - pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ - traceback.h tupleobject.h - -strdup.obj: pyconfig.h mymalloc.h myproto.h - -strtod.obj: pyconfig.h - -structmember.obj: abstract.h ceval.h classobject.h cobject.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h structmember.h sysmodule.h traceback.h \ - tupleobject.h - -sysmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h dictobject.h fileobject.h floatobject.h funcobject.h \ - import.h intobject.h intrcheck.h listobject.h longobject.h \ - methodobject.h modsupport.h moduleobject.h mymalloc.h myproto.h \ - object.h objimpl.h osdefs.h pydebug.h pyerrors.h pyfpe.h pystate.h \ - python.h pythonrun.h rangeobject.h sliceobject.h stringobject.h \ - sysmodule.h traceback.h tupleobject.h - -thread.obj: pyconfig.h thread.h - -traceback.obj: abstract.h ceval.h classobject.h cobject.h compile.h \ - complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ - frameobject.h funcobject.h import.h intobject.h intrcheck.h \ - listobject.h longobject.h methodobject.h modsupport.h \ - moduleobject.h mymalloc.h myproto.h object.h objimpl.h osdefs.h \ - pydebug.h pyerrors.h pyfpe.h pystate.h python.h pythonrun.h \ - rangeobject.h sliceobject.h stringobject.h structmember.h \ - sysmodule.h traceback.h tupleobject.h diff --git a/PC/os2vacpp/pyconfig.h b/PC/os2vacpp/pyconfig.h deleted file mode 100644 index 2765b44d50f..00000000000 --- a/PC/os2vacpp/pyconfig.h +++ /dev/null @@ -1,212 +0,0 @@ -#ifndef Py_CONFIG_H -#define Py_CONFIG_H - -/********************************************************************** - * pyconfig.h. NOT Generated automatically by configure. - * - * This is a manually maintained version used for the IBM VisualAge - * C/C++ compiler on the OS/2 platform. It is a standard part of - * the Python distribution. - * - * FILESYSTEM DEFINES: - * The code specific to a particular way of naming files and - * directory paths should be wrapped around one of the following - * #defines: - * - * DOSFILESYS PCDOS-Style (for PCDOS, Windows and OS/2) - * MACFILESYS Macintosh-Style - * UNIXFILESYS Unix-Style - * AMIGAFILESYS AmigaDOS-Style - * - * Because of the different compilers and operating systems in - * use on the Intel platform, neither the compiler name nor - * the operating system name is sufficient. - * - * OS/2 DEFINES: - * The code specific to OS/2's Program API should be wrapped around - * - * __TOS_OS2__ Target Operating System, OS/2 - * - * Any code specific to the compiler itself should be wrapped with - * - * __IBMC__ IBM C Compiler - * __IBMCPP__ IBM C++ Compiler - * - * Note that since the VisualAge C/C++ compiler is also available - * for the Windows platform, it may be necessary to use both a - * __TOS_OS2__ and a __IBMC__ to select a very specific environment. - * - **********************************************************************/ - -/* - * Some systems require special declarations for data items imported - * or exported from dynamic link libraries. Note that the definition - * of DL_IMPORT covers both cases. Define USE_DL_IMPORT for the client - * of a DLL. Define USE_DL_EXPORT when making a DLL. - */ - -#include - -/* Configuration Options for Finding Modules */ -#define PREFIX "" -#define EXEC_PREFIX "" - -/* Provide a default library so writers of extension modules - * won't have to explicitly specify it anymore - */ -#pragma library("Python24.lib") - -/***************************************************/ -/* 32-Bit IBM VisualAge C/C++ v3.0 for OS/2 */ -/* (Convert Compiler Flags into Useful Switches) */ -/***************************************************/ -#define PLATFORM "os2" -#define COMPILER "[VisualAge C/C++]" -#define PYOS_OS2 /* Define Indicator of Operating System */ -#define PYCC_VACPP /* Define Indicator of C Compiler */ - - /* Platform Filesystem */ -#define PYTHONPATH ".;.\\lib;.\\lib\\plat-win" -#define DOSFILESYS /* OS/2 Uses the DOS File Naming Conventions */ -/* #define IMPORT_8x3_NAMES (let's move up to long filenames) */ - - /* Platform CPU-Mode Dependencies */ -#define WORD_BIT 32 /* OS/2 is a 32-Bit Operating System */ -#define LONG_BIT 32 -#define SIZEOF_INT 4 /* Count of Bytes in an (int) */ -#define SIZEOF_LONG 4 /* Count of Bytes in a (long) */ -#define SIZEOF_VOID_P 4 /* Count of Bytes in a (void *) */ -/* #define HAVE_LONG_LONG 1 */ /* VAC++ does not support (long long) */ -/* #define SIZEOF_LONG_LONG 8 */ /* Count of Bytes in a (long long) */ - -/* unicode definines */ -#define PY_UNICODE_TYPE wchar_t -#define Py_UNICODE_SIZE SIZEOF_SHORT - -/* dynamic loading */ -#define HAVE_DYNAMIC_LOADING 1 - -/* Define if type char is unsigned and you are not using gcc. */ -#ifndef __CHAR_UNSIGNED__ -/* #undef __CHAR_UNSIGNED__ */ -#endif - -typedef int mode_t; -typedef int uid_t; -typedef int gid_t; -typedef int pid_t; - -#if defined(__MULTI__) /* If Compiler /Gt+ Multithread Option Enabled, */ - #define WITH_THREAD 1 /* Enable Threading Throughout Python */ - #define OS2_THREADS 1 /* And Use the OS/2 Flavor of Threads */ -/* #define _REENTRANT 1 */ /* Use thread-safe errno, h_errno, and other fns */ -#endif - - /* Compiler Runtime Library Capabilities */ -#include -#include -/* #undef BAD_STATIC_FORWARD */ /* if compiler botches static fwd decls */ - -#define STDC_HEADERS 1 /* VAC++ is an ANSI C Compiler */ -#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 */ -#define HAVE_ERRNO_H 1 /* #include */ -#define HAVE_SYS_STAT_H 1 /* #include */ -#define HAVE_SYS_TYPES_H 1 /* #include */ - - /* Variable-Arguments/Prototypes */ -#define HAVE_PROTOTYPES 1 /* VAC++ supports C Function Prototypes */ -#define HAVE_STDARG_PROTOTYPES 1 /* Our has prototypes */ - - /* String/Memory/Locale Operations */ -#define HAVE_MEMMOVE 1 /* memmove() */ -#define HAVE_STRERROR 1 /* strerror() */ -#define HAVE_SETLOCALE 1 /* setlocale() */ -#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() */ -/* #define HAVE_SIGINTERRUPT 1 */ /* siginterrupt() */ -/* #define HAVE_SIGRELSE 1 */ /* sigrelse() */ -#define DONT_HAVE_SIG_ALARM 1 -#define DONT_HAVE_SIG_PAUSE 1 - - /* Clock/Time Support */ -#define HAVE_FTIME 1 /* We have ftime() in */ -#define HAVE_CLOCK 1 /* clock() */ -#define HAVE_STRFTIME 1 /* strftime() */ -#define HAVE_MKTIME 1 /* mktime() */ -#define HAVE_TZNAME 1 /* No tm_zone but do have tzname[] */ -#define HAVE_TIMES 1 /* #include */ -#define HAVE_SYS_UTIME_H 1 /* #include */ -/* #define HAVE_UTIME_H 1 */ /* #include */ -#define HAVE_SYS_TIME_H 1 /* #include */ -/* #define TM_IN_SYS_TIME 1 */ /* declares struct tm */ -#define HAVE_GETTIMEOFDAY 1 /* gettimeofday() */ -/* #define GETTIMEOFDAY_NO_TZ 1 */ /* gettimeofday() does not have 2nd arg */ -/* #define HAVE_TIMEGM 1 */ /* timegm() */ -#define TIME_WITH_SYS_TIME 1 /* Mix and */ -#define SYS_SELECT_WITH_SYS_TIME 1 /* Mix and */ -/* #define HAVE_ALTZONE 1 */ /* if defines altzone */ - - /* Network/Sockets Support */ -#define HAVE_SYS_SELECT_H 1 /* #include */ -#define BSD_SELECT 1 /* Use BSD versus OS/2 form of select() */ -#define HAVE_SELECT 1 /* select() */ -#define HAVE_GETPEERNAME 1 /* getpeername() */ -/* #undef HAVE_GETHOSTNAME_R 1 */ /* gethostname_r() */ - - /* File I/O */ -#define HAVE_DUP2 1 /* dup2() */ -#define HAVE_EXECV 1 /* execv() */ -#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 */ -#define HAVE_FCNTL_H 1 /* #include */ -#define HAVE_DIRECT_H 1 /* #include */ -/* #define HAVE_FLOCK 1 */ /* flock() */ -/* #define HAVE_TRUNCATE 1 */ /* truncate() */ -/* #define HAVE_FTRUNCATE 1 */ /* ftruncate() */ -/* #define HAVE_LSTAT 1 */ /* lstat() */ -/* #define HAVE_DIRENT_H 1 */ /* #include */ -/* #define HAVE_OPENDIR 1 */ /* opendir() */ - - /* Process Operations */ -#define HAVE_PROCESS_H 1 /* #include */ -#define HAVE_GETPID 1 /* getpid() */ -#define HAVE_SYSTEM 1 /* system() */ -#define HAVE_WAIT 1 /* wait() */ -#define HAVE_KILL 1 /* kill() [OS/2-specific code added] */ -#define HAVE_POPEN 1 /* popen() [OS/2-specific code added] */ -/* #define HAVE_GETPPID 1 */ /* getppid() */ -/* #define HAVE_WAITPID 1 */ /* waitpid() */ -/* #define HAVE_FORK 1 */ /* fork() */ - - /* User/Group ID Queries */ -/* #define HAVE_GETEGID 1 */ -/* #define HAVE_GETEUID 1 */ -/* #define HAVE_GETGID 1 */ -/* #define HAVE_GETUID 1 */ - - /* Unix-Specific */ -/* #define HAVE_SYS_UN_H 1 /* #include */ -/* #define HAVE_SYS_UTSNAME_H 1 */ /* #include */ -/* #define HAVE_SYS_WAIT_H 1 */ /* #include */ -/* #define HAVE_UNISTD_H 1 */ /* #include */ -/* #define HAVE_UNAME 1 */ /* uname () */ - -/* Define if you want documentation strings in extension modules */ -#define WITH_DOC_STRINGS 1 - -#ifdef USE_DL_EXPORT - #define DL_IMPORT(RTYPE) RTYPE _System -#endif - -#endif /* !Py_CONFIG_H */ - diff --git a/PC/os2vacpp/python.def b/PC/os2vacpp/python.def deleted file mode 100644 index a525c2a67b3..00000000000 --- a/PC/os2vacpp/python.def +++ /dev/null @@ -1,479 +0,0 @@ -LIBRARY PYTHON24 INITINSTANCE TERMINSTANCE -DESCRIPTION 'Python 2.4 Core DLL' -PROTMODE -DATA MULTIPLE NONSHARED - -EXPORTS - ; Data - PyCFunction_Type - PyCapsule_Type - PyCObject_Type - PyClass_Type - PyCode_Type - PyComplex_Type - PyDict_Type - PyExc_ArithmeticError - PyExc_AssertionError - PyExc_AttributeError - PyExc_EOFError - PyExc_EnvironmentError - PyExc_Exception - PyExc_FloatingPointError - PyExc_IOError - PyExc_ImportError - PyExc_IndexError - PyExc_KeyError - PyExc_KeyboardInterrupt - PyExc_LookupError - PyExc_MemoryError - PyExc_MemoryErrorInst - PyExc_NameError - PyExc_OSError - PyExc_OverflowError - PyExc_RuntimeError - PyExc_SyntaxError - PyExc_SystemError - PyExc_SystemExit - PyExc_TypeError - PyExc_ValueError - PyExc_ZeroDivisionError - PyFile_Type - PyFloat_Type - PyFrame_Type - PyFunction_Type - PyImport_FrozenModules - PyImport_Inittab - PyInstance_Type - PyInt_Type - PyList_Type - PyLong_Type - PyMethod_Type - PyModule_Type - PyOS_InputHook - PyOS_ReadlineFunctionPointer - PyRange_Type - PySlice_Type - PyString_Type - PyTraceBack_Type - PyTuple_Type - PyType_Type - Py_DebugFlag - Py_FrozenFlag - Py_InteractiveFlag - Py_NoSiteFlag - Py_OptimizeFlag - Py_UseClassExceptionsFlag - Py_VerboseFlag - _PyImport_Filetab - _PyImport_Inittab - _PyParser_Grammar - _PyParser_TokenNames - _Py_EllipsisObject - _Py_NoneStruct - _Py_PackageContext - _Py_TrueStruct - _Py_ZeroStruct - _Py_abstract_hack - _Py_capsule_hack - _Py_re_syntax - _Py_re_syntax_table - - ; Code - PyArg_Parse - PyArg_ParseTuple - PyArg_ParseTupleAndKeywords - PyArg_VaParse - PyCFunction_Fini - PyCFunction_GetFlags - PyCFunction_GetFunction - PyCFunction_GetSelf - PyCFunction_New - PyCapsule_GetContext - PyCapsule_GetDestructor - PyCapsule_GetName - PyCapsule_GetPointer - PyCapsule_Import - PyCapsule_IsValid - PyCapsule_New - PyCapsule_SetContext - PyCapsule_SetDestructor - PyCapsule_SetName - PyCapsule_SetPointer - PyCObject_AsVoidPtr - PyCObject_FromVoidPtrAndDesc - PyCObject_FromVoidPtr - PyCObject_GetDesc - PyCObject_Import - PyCallable_Check - PyClass_IsSubclass - PyClass_New - PyCode_Addr2Line - PyCode_New - PyComplex_AsCComplex - PyComplex_FromCComplex - PyComplex_FromDoubles - PyComplex_ImagAsDouble - PyComplex_RealAsDouble - PyDict_Clear - PyDict_DelItem - PyDict_DelItemString - PyDict_GetItem - PyDict_GetItemString - PyDict_Items - PyDict_Keys - PyDict_New - PyDict_Next - PyDict_SetItem - PyDict_SetItemString - PyDict_Size - PyDict_Values - PyErr_BadArgument - PyErr_BadInternalCall - PyErr_CheckSignals - PyErr_Clear - PyErr_ExceptionMatches - PyErr_Fetch - PyErr_Format - PyErr_GivenExceptionMatches - PyErr_NewException - PyErr_NoMemory - PyErr_NormalizeException - PyErr_Occurred - PyErr_Print - PyErr_PrintEx - PyErr_Restore - PyErr_SetFromErrno - PyErr_SetFromErrnoWithFilename - PyErr_SetInterrupt - PyErr_SetNone - PyErr_SetObject - PyErr_SetString - PyEval_AcquireLock - PyEval_AcquireThread - PyEval_CallFunction - PyEval_CallMethod - PyEval_CallObject - PyEval_CallObjectWithKeywords - PyEval_EvalCode - PyEval_GetBuiltins - PyEval_GetFrame - PyEval_GetGlobals - PyEval_GetLocals - PyEval_GetRestricted - PyEval_InitThreads - PyEval_ReleaseLock - PyEval_ReleaseThread - PyEval_RestoreThread - PyEval_SaveThread - PyFile_AsFile - PyFile_FromFile - PyFile_FromString - PyFile_GetLine - PyFile_Name - PyFile_SetBufSize - PyFile_SoftSpace - PyFile_WriteObject - PyFile_WriteString - PyFloat_AsDouble - PyFloat_AsString - PyFloat_Fini - PyFloat_FromDouble - PyFrame_BlockPop - PyFrame_BlockSetup - PyFrame_FastToLocals - PyFrame_Fini - PyFrame_LocalsToFast - PyFrame_New - PyFunction_GetCode - PyFunction_GetDefaults - PyFunction_GetGlobals - PyFunction_New - PyFunction_SetDefaults - PyGrammar_AddAccelerators - PyGrammar_FindDFA - PyGrammar_LabelRepr - PyGrammar_RemoveAccelerators - PyImport_AddModule - PyImport_AppendInittab - PyImport_Cleanup - PyImport_ExecCodeModule - PyImport_ExecCodeModuleEx - PyImport_ExtendInittab - PyImport_GetMagicNumber - PyImport_GetModuleDict - PyImport_Import - PyImport_ImportFrozenModule - PyImport_ImportModule - PyImport_ImportModuleEx - PyImport_ReloadModule - PyInstance_DoBinOp - PyInstance_New - PyInt_AsLong - PyInt_Fini - PyInt_FromLong - PyInt_GetMax - PyInterpreterState_Clear - PyInterpreterState_Delete - PyInterpreterState_New - PyList_Append - PyList_AsTuple - PyList_GetItem - PyList_GetSlice - PyList_Insert - PyList_New - PyList_Reverse - PyList_SetItem - PyList_SetSlice - PyList_Size - PyList_Sort - PyLong_AsDouble - PyLong_AsLong -; PyLong_AsLongLong - PyLong_AsUnsignedLong -; PyLong_AsUnsignedLongLong - PyLong_AsVoidPtr - PyLong_FromDouble - PyLong_FromLong -; PyLong_FromLongLong - PyLong_FromString - PyLong_FromUnsignedLong -; PyLong_FromUnsignedLongLong - PyLong_FromVoidPtr - PyMapping_Check - PyMapping_GetItemString - PyMapping_HasKey - PyMapping_HasKeyString - PyMapping_Length - PyMapping_SetItemString - PyMarshal_Init - PyMarshal_ReadLongFromFile - PyMarshal_ReadObjectFromFile - PyMarshal_ReadObjectFromString - PyMarshal_WriteLongToFile - PyMarshal_WriteObjectToFile - PyMarshal_WriteObjectToString - PyMem_Free - PyMem_Malloc - PyMem_Realloc - PyMethod_Class - PyMethod_Fini - PyMethod_Function - PyMethod_New - PyMethod_Self - PyModule_GetDict - PyModule_GetName - PyModule_New - PyNode_AddChild - PyNode_Compile - PyNode_Free -; PyNode_ListTree - PyNode_New - PyNumber_Absolute - PyNumber_Add - PyNumber_And - PyNumber_Check - PyNumber_Coerce - PyNumber_CoerceEx - PyNumber_Divide - PyNumber_Divmod - PyNumber_Float - PyNumber_Int - PyNumber_Invert - PyNumber_Long - PyNumber_Lshift - PyNumber_Multiply - PyNumber_Negative - PyNumber_Or - PyNumber_Positive - PyNumber_Power - PyNumber_Remainder - PyNumber_Rshift - PyNumber_Subtract - PyNumber_Xor - PyOS_AfterFork - PyOS_FiniInterrupts - PyOS_InitInterrupts - PyOS_InterruptOccurred - PyOS_Readline - PyOS_StdioReadline - PyOS_strtol - PyOS_strtoul - PyObject_CallFunction - PyObject_CallMethod - PyObject_CallObject - PyObject_Cmp - PyObject_Compare - PyObject_DelItem - PyObject_GetAttr - PyObject_GetAttrString - PyObject_GetItem - PyObject_HasAttr - PyObject_HasAttrString - PyObject_Hash - PyObject_IsTrue - PyObject_Length - PyObject_Not - PyObject_Print - PyObject_Repr - PyObject_SetAttr - PyObject_SetAttrString - PyObject_SetItem - PyObject_Str - PyObject_Type - PyParser_AddToken - PyParser_Delete - PyParser_New - PyParser_ParseFile - PyParser_ParseString - PyParser_SimpleParseFile - PyParser_SimpleParseString - PyRange_New - PyRun_AnyFile - PyRun_File - PyRun_InteractiveLoop - PyRun_InteractiveOne - PyRun_SimpleFile - PyRun_SimpleString - PyRun_String - PySequence_Check - PySequence_Concat - PySequence_Contains - PySequence_Count - PySequence_DelItem - PySequence_DelSlice - PySequence_GetItem - PySequence_GetSlice - PySequence_In - PySequence_Index - PySequence_Length - PySequence_List - PySequence_Repeat - PySequence_SetItem - PySequence_SetSlice - PySequence_Tuple - PySlice_GetIndices - PySlice_New - PyString_AsString - PyString_Concat - PyString_ConcatAndDel - PyString_Fini - PyString_Format - PyString_FromString - PyString_FromStringAndSize - PyString_InternFromString - PyString_InternInPlace - PyString_Size - PySys_GetFile - PySys_GetObject - PySys_SetArgv - PySys_SetObject - PySys_SetPath - PySys_WriteStderr - PySys_WriteStdout - PyThreadState_Clear - PyThreadState_Delete - PyThreadState_Get - PyThreadState_GetDict - PyThreadState_New - PyThreadState_Swap - PyThread_acquire_lock - PyThread_allocate_lock - PyThread_allocate_sema - PyThread_down_sema - PyThread_exit_thread - PyThread_free_lock - PyThread_free_sema - PyThread_get_thread_ident - PyThread_init_thread - PyThread_release_lock - PyThread_start_new_thread - PyThread_up_sema - PyToken_OneChar - PyToken_TwoChars - PyTokenizer_Free - PyTokenizer_FromFile - PyTokenizer_FromString - PyTokenizer_Get - PyTraceBack_Here - PyTraceBack_Print - PyTuple_Fini - PyTuple_GetItem - PyTuple_GetSlice - PyTuple_New - PyTuple_SetItem - PyTuple_Size - Py_AddPendingCall - Py_AtExit - Py_BuildValue - Py_CompileString - Py_EndInterpreter - Py_Exit - Py_FatalError - Py_FdIsInteractive - Py_Finalize - Py_FindMethod - Py_FindMethodInChain - Py_FlushLine - Py_Free - Py_GetArgcArgv - Py_GetBuildInfo - Py_GetCompiler - Py_GetCopyright - Py_GetExecPrefix - Py_GetPath - Py_GetPlatform - Py_GetPrefix - Py_GetProgramFullPath - Py_GetProgramName - Py_GetPythonHome - Py_GetVersion - Py_InitModule4 - Py_Initialize - Py_IsInitialized - Py_Main - Py_MakePendingCalls - Py_Malloc - Py_NewInterpreter - Py_Realloc - Py_ReprEnter - Py_ReprLeave - Py_SetProgramName - Py_SetPythonHome - Py_VaBuildValue - _PyBuiltin_Fini_1 - _PyBuiltin_Fini_2 - _PyBuiltin_Init_1 - _PyBuiltin_Init_2 - _PyImport_FindExtension - _PyImport_Fini - _PyImport_FixupExtension - _PyImport_Init - _PyImport_LoadDynamicModule - _PyLong_New - _PyModule_Clear - _PyObject_New - _PyObject_NewVar - _PyString_Resize - _PySys_Init - _PyTuple_Resize - _Py_MD5Final - _Py_MD5Init - _Py_MD5Update -; _Py_addbit - _Py_c_diff - _Py_c_neg - _Py_c_pow - _Py_c_prod - _Py_c_quot - _Py_c_sum -; _Py_delbitset -; _Py_mergebitset -; _Py_meta_grammar -; _Py_newbitset -; _Py_samebitset - PyBuffer_Type - PyBuffer_FromObject - PyBuffer_FromMemory - PyBuffer_FromReadWriteMemory - PyBuffer_New - diff --git a/PC/os2vacpp/readme.txt b/PC/os2vacpp/readme.txt deleted file mode 100644 index dc586045ae7..00000000000 --- a/PC/os2vacpp/readme.txt +++ /dev/null @@ -1,119 +0,0 @@ -IBM VisualAge C/C++ for OS/2 -============================ - -To build Python for OS/2, change into ./os2vacpp and issue an 'NMAKE' -command. This will build a PYTHON15.DLL containing the set of Python -modules listed in config.c and a small PYTHON.EXE to start the -interpreter. - -By changing the C compiler flag /Gd- in the makefile to /Gd+, you can -reduce the size of these by causing Python to dynamically link to the -C runtime DLLs instead of including their bulk in your binaries. -However, this means that any system on which you run Python must have -the VAC++ compiler installed in order to have those DLLs available. - -During the build process you may see a couple of harmless warnings: - - From the C Compiler, "No function prototype given for XXX", which - comes from the use of K&R parameters within Python for portability. - - From the ILIB librarian, "Module Not Found (XXX)", which comes - from its attempt to perform the (-+) operation, which removes and - then adds a .OBJ to the library. The first time a build is done, - it obviously cannot remove what is not yet built. - -This build includes support for most Python functionality as well as -TCP/IP sockets. It omits the Posix ability to 'fork' a process but -supports threads using OS/2 native capabilities. I have tried to -support everything possible but here are a few usage notes. - - --- os.popen() Usage Warnings - -With respect to my implementation of popen() under OS/2: - - import os - - fd = os.popen("pkzip.exe -@ junk.zip", 'wb') - fd.write("file1.txt\n") - fd.write("file2.txt\n") - fd.write("file3.txt\n") - fd.write("\x1a") # Should Not Be Necessary But Is - fd.close() - -There is a bug, either in the VAC++ compiler or OS/2 itself, where the -simple closure of the write-side of a pipe -to- a process does not -send an EOF to that process. I find I must explicitly write a -control-Z (EOF) before closing the pipe. This is not a problem when -using popen() in read mode. - -One other slight difference with my popen() is that I return None -from the close(), instead of the Unix convention of the return code -of the spawned program. I could find no easy way to do this under -OS/2. - - --- BEGINLIBPATH/ENDLIBPATH - -With respect to environment variables, this OS/2 port supports the -special-to-OS/2 magic names of 'BEGINLIBPATH' and 'ENDLIBPATH' to -control where to load conventional DLLs from. Those names are -intercepted and converted to calls on the OS/2 kernel APIs and -are inherited by child processes, whether Python-based or not. - -A few new attributes have been added to the os module: - - os.meminstalled # Count of Bytes of RAM Installed on Machine - os.memkernel # Count of Bytes of RAM Reserved (Non-Swappable) - os.memvirtual # Count of Bytes of Virtual RAM Possible - os.timeslice # Duration of Scheduler Timeslice, in Milliseconds - os.maxpathlen # Maximum Length of a Path Specification, in chars - os.maxnamelen # Maximum Length of a Single Dir/File Name, in chars - os.version # Version of OS/2 Being Run e.g. "4.00" - os.revision # Revision of OS/2 Being Run (usually zero) - os.bootdrive # Drive that System Booted From e.g. "C:" - # (useful to find the CONFIG.SYS used to boot with) - - --- Using Python as the Default OS/2 Batch Language - -Note that OS/2 supports the Unix technique of putting the special -comment line at the time of scripts e.g. "#!/usr/bin/python" in -a different syntactic form. To do this, put your script into a file -with a .CMD extension and added 'extproc' to the top as follows: - - extproc C:\Python\Python.exe -x - import os - print "Hello from Python" - -The '-x' option tells Python to skip the first line of the file -while processing the rest as normal Python source. - - --- Suggested Environment Variable Setup - -With respect to the environment variables for Python, I use the -following setup: - - Set PYTHONHOME=E:\Tau\Projects\Python;D:\DLLs - Set PYTHONPATH=.;E:\Tau\Projects\Python\Lib; \ - E:\Tau\Projects\Python\Lib\plat-win - -The EXEC_PREFIX (optional second pathspec on PYTHONHOME) is where -you put any Python extension DLLs you may create/obtain. There -are none provided with this release. - - --- Contact Info - -Jeff Rush is no longer supporting the VACPP port :-( - -I don't have the VACPP compiler, so can't reliably maintain this port. - -Anyone with VACPP who can contribute patches to keep this port buildable -should upload them to the Python Patch Manager at Sourceforge and -assign them to me for review/checkin. - -Andrew MacIntyre -aimacintyre at users.sourceforge.net -August 18, 2002.