mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
New set of files for the OS/2 port by Jeff Rush.
This commit is contained in:
parent
be70450f03
commit
e8afe516ab
8
PC/os2vacpp/_tkinter.def
Normal file
8
PC/os2vacpp/_tkinter.def
Normal file
@ -0,0 +1,8 @@
|
||||
LIBRARY _TKINTER INITINSTANCE TERMINSTANCE
|
||||
DESCRIPTION 'Python Extension DLL v1.0 for Access to Tcl/Tk Environment'
|
||||
PROTMODE
|
||||
DATA MULTIPLE NONSHARED
|
||||
|
||||
EXPORTS
|
||||
init_tkinter
|
||||
|
@ -50,7 +50,6 @@ extern void initos2();
|
||||
extern void initoperator();
|
||||
extern void initposix();
|
||||
extern void initregex();
|
||||
extern void initreop();
|
||||
extern void initrgbimg();
|
||||
extern void initrotor();
|
||||
extern void initsignal();
|
||||
@ -97,7 +96,6 @@ struct _inittab _PyImport_Inittab[] = {
|
||||
#endif
|
||||
{"operator", initoperator},
|
||||
{"regex", initregex},
|
||||
{"reop", initreop},
|
||||
// {"rgbimg", initrgbimg},
|
||||
// {"rotor", initrotor},
|
||||
{"signal", initsignal},
|
||||
|
@ -4,10 +4,9 @@
|
||||
/**********************************************************************
|
||||
* config.h. NOT Generated automatically by configure.
|
||||
*
|
||||
* This is a manually maintained version used for the Watcom,
|
||||
* Borland and Microsoft Visual C++ compilers on the MS Windows
|
||||
* platform, and the IBM VisualAge C/C++ compiler on the OS/2
|
||||
* platform. It is a standard part of the Python distribution.
|
||||
* 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
|
||||
@ -17,28 +16,12 @@
|
||||
* DOSFILESYS PCDOS-Style (for PCDOS, Windows and OS/2)
|
||||
* MACFILESYS Macintosh-Style
|
||||
* UNIXFILESYS Unix-Style
|
||||
* AMIGAFILESYS AmigaDOS-Style (to-be-supported)
|
||||
* 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.
|
||||
*
|
||||
* WINDOWS DEFINES:
|
||||
* The code specific to Windows should be wrapped around one of
|
||||
* the following #defines
|
||||
*
|
||||
* MS_WIN32 - Code specific to the MS Win32 API
|
||||
* MS_WIN16 - Code specific to the old 16 bit Windows API.
|
||||
* MS_WINDOWS - Code specific to Windows, but all versions.
|
||||
* MS_COREDLL - Code if the Python core is built as a DLL.
|
||||
*
|
||||
* Note that the old defines "NT" and "WIN32" are still supported, but
|
||||
* will soon be dropped.
|
||||
*
|
||||
* Also note that neither "_M_IX86" or "_MSC_VER" should be used for
|
||||
* any purpose other than "Windows Intel x86 specific" and "Microsoft
|
||||
* compiler specific". Therefore, these should be very rare.
|
||||
*
|
||||
* OS/2 DEFINES:
|
||||
* The code specific to OS/2's Program API should be wrapped around
|
||||
*
|
||||
@ -64,565 +47,156 @@
|
||||
|
||||
#include <io.h>
|
||||
|
||||
#define HAVE_LIMITS_H
|
||||
#define HAVE_HYPOT
|
||||
#define DONT_HAVE_SIG_ALARM
|
||||
#define DONT_HAVE_SIG_PAUSE
|
||||
|
||||
#define LONG_BIT 32
|
||||
|
||||
/* 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("Python15.lib")
|
||||
|
||||
/***************************************************/
|
||||
/* 32-Bit IBM VisualAge C/C++ v3.0 for OS/2 */
|
||||
/* (Convert Compiler Flags into Useful Switches) */
|
||||
/***************************************************/
|
||||
#if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
|
||||
|
||||
#define COMPILER "[VisualAge C/C++]"
|
||||
#define PYOS_OS2 /* Define Indicator of Operating System */
|
||||
#define PYCC_VACPP /* Define Indicator of C Compiler */
|
||||
#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;.\\lib\\dos-8x3;.\\lib\\lib-tk"
|
||||
#define DOSFILESYS /* OS/2 Uses the DOS File Naming Conventions */
|
||||
/* #define IMPORT_8x3_NAMES */
|
||||
#define PYTHONPATH ".;.\\lib;.\\lib\\plat-win;.\\lib\\lib-tk"
|
||||
#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 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) */
|
||||
|
||||
typedef int mode_t;
|
||||
typedef int uid_t;
|
||||
typedef int gid_t;
|
||||
typedef int pid_t;
|
||||
/* Define if type char is unsigned and you are not using gcc. */
|
||||
#ifndef __CHAR_UNSIGNED__
|
||||
/* #undef __CHAR_UNSIGNED__ */
|
||||
#endif
|
||||
|
||||
#if defined(__MULTI__) /* If Compiler /Gt+ Multithread Option Enabled, */
|
||||
#define WITH_THREAD /* Then Enable Threading Throughout Python */
|
||||
#define OS2_THREADS /* And Use the OS/2 Flavor of Threads */
|
||||
#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 <ctype.h>
|
||||
#include <direct.h>
|
||||
/* #undef BAD_STATIC_FORWARD */ /* if compiler botches static fwd decls */
|
||||
|
||||
/* #define VA_LIST_IS_ARRAY */
|
||||
#define HAVE_CLOCK /* We support all of the Unix clock() API */
|
||||
#define HAVE_STRFTIME /* We have a strftime() formatting function */
|
||||
#define HAVE_PUTENV /* We have a putenv() function */
|
||||
#define HAVE_SYS_SELECT_H /* We have sys/select.h (under TCP/IP dirs) */
|
||||
#define HAVE_PROTOTYPES /* Our Compiler Supports C Function Prototypes */
|
||||
#define STDC_HEADERS 1 /* VAC++ is an ANSI C Compiler */
|
||||
#define HAVE_LIMITS_H 1 /* #include <limits.h> */
|
||||
#define HAVE_STDLIB_H 1 /* #include <stdlib.h> */
|
||||
#define HAVE_HYPOT 1 /* hypot() */
|
||||
#define HAVE_PUTENV 1 /* putenv() */
|
||||
#define HAVE_STDDEF_H 1 /* #include <stddef.h> */
|
||||
/* #define VA_LIST_IS_ARRAY 1 */ /* if va_list is an array of some kind */
|
||||
|
||||
#ifdef USE_DL_EXPORT
|
||||
#define DL_IMPORT(RTYPE) RTYPE _Export
|
||||
#endif
|
||||
/* Variable-Arguments/Prototypes */
|
||||
#define HAVE_PROTOTYPES 1 /* VAC++ supports C Function Prototypes */
|
||||
#define HAVE_STDARG_H 1 /* #include <stdarg.h> */
|
||||
#define HAVE_STDARG_PROTOTYPES 1 /* Our <stdarg.h> has prototypes */
|
||||
|
||||
#endif /* VAC++ for OS/2 */
|
||||
/* String/Memory/Locale Operations */
|
||||
#define HAVE_STRDUP 1 /* strdup() */
|
||||
#define HAVE_MEMMOVE 1 /* memmove() */
|
||||
#define HAVE_STRERROR 1 /* strerror() */
|
||||
#define HAVE_SETLOCALE 1 /* setlocale() */
|
||||
#define HAVE_LOCALE_H 1 /* #include <locale.h> */
|
||||
#define MALLOC_ZERO_RETURNS_NULL 1 /* Our malloc(0) returns a NULL ptr */
|
||||
|
||||
/***************************************************/
|
||||
/* 32-Bit Microsoft Visual C/C++ v2.0+ for Windows */
|
||||
/* (Convert Compiler Flags into Useful Switches) */
|
||||
/***************************************************/
|
||||
#if defined(_MSC_VER) && _MSC_VER > 850
|
||||
/* Start of defines for MS_WIN32 using VC++ 2.0 and up */
|
||||
#define NT /* NT is obsolete - please use MS_WIN32 instead */
|
||||
#define MS_WIN32
|
||||
#define MS_WINDOWS
|
||||
/* Signal Handling */
|
||||
#define RETSIGTYPE void /* Return type of handlers (int or void) */
|
||||
#define HAVE_SIGNAL_H 1 /* #include <signal.h> */
|
||||
/* #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
|
||||
|
||||
/* For NT the Python core is in a DLL by default. Test the
|
||||
* standard macro MS_COREDLL to find out. If you have an exception
|
||||
* you must define MS_NO_COREDLL (do not test this macro)
|
||||
*/
|
||||
#ifndef MS_NO_COREDLL
|
||||
#define MS_COREDLL /* Python core is in a DLL */
|
||||
#ifndef USE_DL_EXPORT
|
||||
#define USE_DL_IMPORT
|
||||
#endif /* !USE_DL_EXPORT */
|
||||
#endif /* !MS_NO_COREDLL */
|
||||
/* Clock/Time Support */
|
||||
#define HAVE_FTIME 1 /* We have ftime() in <sys/timeb.h> */
|
||||
#define HAVE_CLOCK 1 /* clock() */
|
||||
#define HAVE_STRFTIME 1 /* strftime() */
|
||||
#define HAVE_STRPTIME 1 /* strptime() */
|
||||
#define HAVE_MKTIME 1 /* mktime() */
|
||||
#define HAVE_TZNAME 1 /* No tm_zone but do have tzname[] */
|
||||
#define HAVE_TIMES 1 /* #include <sys/times.h> */
|
||||
#define HAVE_SYS_UTIME_H 1 /* #include <sys/utime.h> */
|
||||
/* #define HAVE_UTIME_H 1 */ /* #include <utime.h> */
|
||||
#define HAVE_SYS_TIME_H 1 /* #include <sys/time.h> */
|
||||
/* #define TM_IN_SYS_TIME 1 */ /* <sys/time.h> 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 <sys/time.h> and <time.h> */
|
||||
#define SYS_SELECT_WITH_SYS_TIME 1 /* Mix <sys/select.h> and <sys/time.h> */
|
||||
/* #define HAVE_ALTZONE 1 */ /* if <time.h> defines altzone */
|
||||
|
||||
#ifdef _M_IX86
|
||||
#define COMPILER "[MSC 32 bit (Intel)]"
|
||||
#else
|
||||
#define COMPILER "[MSC (Unknown)]"
|
||||
#endif
|
||||
/* Network/Sockets Support */
|
||||
#define HAVE_SYS_SELECT_H 1 /* #include <sys/select.h> */
|
||||
#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() */
|
||||
|
||||
/* Platform Filesystem */
|
||||
#define PYTHONPATH ".\\lib;.\\lib\\plat-win;.\\lib\\lib-tk"
|
||||
#define DOSFILESYS /* Windows Uses the DOS File Naming Conventions */
|
||||
/* 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_FCNTL_H 1 /* #include <fcntl.h> */
|
||||
/* #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 <dirent.h> */
|
||||
/* #define HAVE_OPENDIR 1 */ /* opendir() */
|
||||
|
||||
/* Platform CPU-Mode Dependencies */
|
||||
#define WORD_BIT 32
|
||||
/* Process Operations */
|
||||
#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() */
|
||||
|
||||
typedef int pid_t;
|
||||
#define hypot _hypot
|
||||
/* User/Group ID Queries */
|
||||
/* #define HAVE_GETEGID 1 */
|
||||
/* #define HAVE_GETEUID 1 */
|
||||
/* #define HAVE_GETGID 1 */
|
||||
/* #define HAVE_GETUID 1 */
|
||||
|
||||
/* Compiler Runtime Library Capabilities */
|
||||
#pragma warning(disable:4113)
|
||||
#include <stdio.h>
|
||||
/* Unix-Specific */
|
||||
#define HAVE_SYS_UN_H 1 /* #include <sys/un.h> */
|
||||
/* #define HAVE_SYS_UTSNAME_H 1 */ /* #include <sys/utsname.h> */
|
||||
/* #define HAVE_SYS_WAIT_H 1 */ /* #include <sys/wait.h> */
|
||||
/* #define HAVE_UNISTD_H 1 */ /* #include <unistd.h> */
|
||||
/* #define HAVE_UNAME 1 */ /* uname () */
|
||||
|
||||
#define HAVE_CLOCK /* We support all of the Unix clock() API */
|
||||
#define HAVE_STRFTIME /* We have a strftime() formatting function */
|
||||
#define NT_THREADS
|
||||
#define WITH_THREAD
|
||||
|
||||
#ifndef NETSCAPE_PI
|
||||
#define USE_SOCKET
|
||||
#endif
|
||||
|
||||
#ifdef USE_DL_IMPORT
|
||||
#define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE
|
||||
#endif
|
||||
|
||||
#ifdef USE_DL_EXPORT
|
||||
#define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE
|
||||
#endif
|
||||
#endif /* _MSC_VER && > 850 */
|
||||
|
||||
/***************************************************/
|
||||
/* 16-Bit Microsoft Visual C/C++ v1.5+ for Windows */
|
||||
/* (Convert Compiler Flags into Useful Switches) */
|
||||
/***************************************************/
|
||||
#if defined(_MSC_VER) && _MSC_VER <= 850
|
||||
#define COMPILER "[MSC 16-bit]"
|
||||
#define MS_WIN16
|
||||
#define MS_WINDOWS
|
||||
|
||||
/* Platform Filesystem */
|
||||
#define PYTHONPATH ".;.\\lib;.\\lib\\win;.\\lib\\dos_8x3"
|
||||
#define IMPORT_8x3_NAMES
|
||||
#define DOSFILESYS /* Windows Uses the DOS File Naming Conventions */
|
||||
|
||||
/* Platform CPU-Mode Dependencies */
|
||||
#define WORD_BIT 16
|
||||
|
||||
typedef int pid_t;
|
||||
|
||||
/* Compiler Runtime Library Capabilities */
|
||||
#pragma warning(disable:4113)
|
||||
#define memcpy memmove /* memcpy dangerous pointer wrap in Win 3.1 */
|
||||
#define hypot _hypot
|
||||
#define SIGINT 2
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* Windows 3.1 will not tolerate any console io in a dll */
|
||||
|
||||
#ifdef _USRDLL
|
||||
#include <time.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define stdin ((FILE *)0)
|
||||
#define stdout ((FILE *)1)
|
||||
#define stderr ((FILE *)2)
|
||||
|
||||
#define fflush Py_fflush
|
||||
int Py_fflush(FILE *);
|
||||
|
||||
#define fgets Py_fgets
|
||||
char *Py_fgets(char *, int, FILE *);
|
||||
|
||||
#define fileno Py_fileno
|
||||
int Py_fileno(FILE *);
|
||||
|
||||
#define fprintf Py_fprintf
|
||||
int Py_fprintf(FILE *, const char *, ...);
|
||||
|
||||
#define printf Py_printf
|
||||
int Py_printf(const char *, ...);
|
||||
|
||||
#define sscanf Py_sscanf
|
||||
int Py_sscanf(const char *, const char *, ...);
|
||||
|
||||
clock_t clock();
|
||||
void _exit(int);
|
||||
void exit(int);
|
||||
int sscanf(const char *, const char *, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _USRDLL */
|
||||
|
||||
#ifndef NETSCAPE_PI
|
||||
/* use sockets, but not in a Netscape dll */
|
||||
#define USE_SOCKET
|
||||
#endif
|
||||
#endif /* MS_WIN16 */
|
||||
|
||||
/***************************************************/
|
||||
/* 32-Bit Watcom C/C++ v?.? for Windows */
|
||||
/* (Convert Compiler Flags into Useful Switches) */
|
||||
/***************************************************/
|
||||
#ifdef __WATCOMC__
|
||||
#define COMPILER "[Watcom]"
|
||||
|
||||
/* Platform Filesystem */
|
||||
#define PYTHONPATH ".;.\\lib;.\\lib\\win;.\\lib\\dos_8x3"
|
||||
#define IMPORT_8x3_NAMES
|
||||
#define DOSFILESYS /* Watcom Uses the DOS File Naming Conventions */
|
||||
|
||||
typedef int mode_t;
|
||||
typedef int uid_t;
|
||||
typedef int gid_t;
|
||||
typedef int pid_t;
|
||||
|
||||
#if defined(__NT__)
|
||||
#define NT /* NT is obsolete - please use MS_WIN32 instead */
|
||||
#define MS_WIN32
|
||||
#define MS_WINDOWS
|
||||
#define NT_THREADS
|
||||
#define USE_SOCKET
|
||||
#define WITH_THREAD
|
||||
#elif defined(__WINDOWS__)
|
||||
#define MS_WIN16
|
||||
#define MS_WINDOWS
|
||||
#endif
|
||||
|
||||
#ifdef M_I386
|
||||
#define WORD_BIT 32
|
||||
#else
|
||||
#define WORD_BIT 16
|
||||
#endif
|
||||
|
||||
/* Compiler Runtime Library Capabilities */
|
||||
#include <ctype.h>
|
||||
#include <direct.h>
|
||||
|
||||
#define VA_LIST_IS_ARRAY
|
||||
#define HAVE_CLOCK
|
||||
#define HAVE_STRFTIME
|
||||
|
||||
#ifdef USE_DL_EXPORT
|
||||
#define DL_IMPORT(RTYPE) RTYPE __export
|
||||
#endif
|
||||
#endif /* __WATCOMC__ */
|
||||
|
||||
/***************************************************/
|
||||
/* 32-Bit Borland C/C++ v?.? for Windows */
|
||||
/* (Convert Compiler Flags into Useful Switches) */
|
||||
/***************************************************/
|
||||
/* The Borland compiler defines __BORLANDC__ */
|
||||
/* XXX These defines are likely incomplete, but should be easy to fix. */
|
||||
#ifdef __BORLANDC__
|
||||
#define COMPILER "[Borland]"
|
||||
|
||||
/* Platform Filesystem */
|
||||
#define PYTHONPATH ".;.\\lib;.\\lib\\win;.\\lib\\dos_8x3"
|
||||
#define IMPORT_8x3_NAMES
|
||||
#define DOSFILESYS /* Borland Uses the DOS File Naming Conventions */
|
||||
|
||||
/* Compiler Runtime Library Capabilities */
|
||||
#define HAVE_CLOCK
|
||||
#define HAVE_STRFTIME
|
||||
|
||||
#ifdef USE_DL_IMPORT
|
||||
#define DL_IMPORT(RTYPE) RTYPE __import
|
||||
#endif
|
||||
#endif /* BORLANDC */
|
||||
|
||||
/********************************/
|
||||
/* End of compilers - finish up */
|
||||
/********************************/
|
||||
|
||||
/****************************************
|
||||
* Adjustments for the Operating System
|
||||
****************************************/
|
||||
#ifdef MS_WIN32
|
||||
#define PLATFORM "win32"
|
||||
#else
|
||||
#ifdef MS_WIN16
|
||||
#define PLATFORM "win16"
|
||||
#else
|
||||
#ifdef PYOS_OS2
|
||||
#define PLATFORM "os2"
|
||||
#else
|
||||
#define PLATFORM "dos"
|
||||
#endif
|
||||
#endif /* !MS_WIN16 */
|
||||
#endif /* !MS_WIN32 */
|
||||
|
||||
/****************************************
|
||||
* Supported Features in Runtime API
|
||||
****************************************/
|
||||
|
||||
/* Define if on AIX 3.
|
||||
System headers sometimes define this.
|
||||
We just want to avoid a redefinition error message. */
|
||||
#ifndef _ALL_SOURCE
|
||||
/* #undef _ALL_SOURCE */
|
||||
#ifdef USE_DL_EXPORT
|
||||
#define DL_IMPORT(RTYPE) RTYPE _System
|
||||
#endif
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
/* #define const */
|
||||
|
||||
/* Define if you have dirent.h. */
|
||||
/* #define DIRENT 1 */
|
||||
|
||||
/* Define to the type of elements in the array set by `getgroups'.
|
||||
Usually this is either `int' or `gid_t'. */
|
||||
/* #undef GETGROUPS_T */
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef gid_t */
|
||||
|
||||
/* Define if your struct tm has tm_zone. */
|
||||
/* #undef HAVE_TM_ZONE */
|
||||
|
||||
/* Define if you don't have tm_zone but do have the external array
|
||||
tzname. */
|
||||
#define HAVE_TZNAME
|
||||
|
||||
/* Define if on MINIX. */
|
||||
/* #undef _MINIX */
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef mode_t */
|
||||
|
||||
/* Define if you don't have dirent.h, but have ndir.h. */
|
||||
/* #undef NDIR */
|
||||
|
||||
/* Define to `long' if <sys/types.h> doesn't define. */
|
||||
/* #undef off_t */
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef pid_t */
|
||||
|
||||
/* Define if the system does not provide POSIX.1 features except
|
||||
with this defined. */
|
||||
/* #undef _POSIX_1_SOURCE */
|
||||
|
||||
/* Define if you need to in order for stat and other things to work. */
|
||||
/* #undef _POSIX_SOURCE */
|
||||
|
||||
/* Define as the return type of signal handlers (int or void). */
|
||||
#define RETSIGTYPE void
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||
/* #undef size_t */
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Define if you don't have dirent.h, but have sys/dir.h. */
|
||||
/* #undef SYSDIR */
|
||||
|
||||
/* Define if you don't have dirent.h, but have sys/ndir.h. */
|
||||
/* #undef SYSNDIR */
|
||||
|
||||
/* Define if you can safely include both <sys/time.h> and <time.h>. */
|
||||
/* #undef TIME_WITH_SYS_TIME */
|
||||
|
||||
/* Define if your <sys/time.h> declares struct tm. */
|
||||
/* #define TM_IN_SYS_TIME 1 */
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef uid_t */
|
||||
|
||||
/* Define if the closedir function returns void instead of int. */
|
||||
/* #undef VOID_CLOSEDIR */
|
||||
|
||||
/* Define if your <unistd.h> contains bad prototypes for exec*()
|
||||
(as it does on SGI IRIX 4.x) */
|
||||
/* #undef BAD_EXEC_PROTOTYPES */
|
||||
|
||||
/* Define if your compiler botches static forward declarations
|
||||
(as it does on SCI ODT 3.0) */
|
||||
/* #define BAD_STATIC_FORWARD 1 */
|
||||
|
||||
/* Define if getpgrp() must be called as getpgrp(0)
|
||||
and (consequently) setpgrp() as setpgrp(0, 0). */
|
||||
/* #undef GETPGRP_HAVE_ARGS */
|
||||
|
||||
/* Define this if your time.h defines altzone */
|
||||
/* #define HAVE_ALTZONE */
|
||||
|
||||
/* Define if you have the putenv function. */
|
||||
#ifdef MS_WIN32
|
||||
/* Does this exist on Win16? */
|
||||
#define HAVE_PUTENV
|
||||
#endif
|
||||
|
||||
/* Define if your compiler supports function prototypes */
|
||||
#define HAVE_PROTOTYPES
|
||||
|
||||
/* Define if you can safely include both <sys/select.h> and <sys/time.h>
|
||||
(which you can't on SCO ODT 3.0). */
|
||||
/* #undef SYS_SELECT_WITH_SYS_TIME */
|
||||
|
||||
/* Define if you want to use SGI (IRIX 4) dynamic linking.
|
||||
This requires the "dl" library by Jack Jansen,
|
||||
ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
|
||||
Don't bother on IRIX 5, it already has dynamic linking using SunOS
|
||||
style shared libraries */
|
||||
/* #undef WITH_SGI_DL */
|
||||
|
||||
/* Define if you want to emulate SGI (IRIX 4) dynamic linking.
|
||||
This is rumoured to work on VAX (Ultrix), Sun3 (SunOS 3.4),
|
||||
Sequent Symmetry (Dynix), and Atari ST.
|
||||
This requires the "dl-dld" library,
|
||||
ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z,
|
||||
as well as the "GNU dld" library,
|
||||
ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z.
|
||||
Don't bother on SunOS 4 or 5, they already have dynamic linking using
|
||||
shared libraries */
|
||||
/* #undef WITH_DL_DLD */
|
||||
|
||||
/* Define if you want to compile in rudimentary thread support */
|
||||
/* #undef WITH_THREAD */
|
||||
|
||||
/* Define if you want to use the GNU readline library */
|
||||
/* #define WITH_READLINE 1 */
|
||||
|
||||
/* Define if you have clock. */
|
||||
#define HAVE_CLOCK
|
||||
|
||||
/* Define if you have ftime. */
|
||||
#define HAVE_FTIME
|
||||
|
||||
/* Define if you have getpeername. */
|
||||
#define HAVE_GETPEERNAME
|
||||
|
||||
/* Define if you have getpgrp. */
|
||||
/* #undef HAVE_GETPGRP */
|
||||
|
||||
/* Define if you have getpid. */
|
||||
#define HAVE_GETPID
|
||||
|
||||
/* Define if you have gettimeofday. */
|
||||
/* #undef HAVE_GETTIMEOFDAY */
|
||||
|
||||
/* Define if you have getwd. */
|
||||
/* #undef HAVE_GETWD */
|
||||
|
||||
/* Define if you have lstat. */
|
||||
/* #undef HAVE_LSTAT */
|
||||
|
||||
/* Define if you have nice. */
|
||||
/* #undef HAVE_NICE */
|
||||
|
||||
/* Define if you have readlink. */
|
||||
/* #undef HAVE_READLINK */
|
||||
|
||||
/* Define if you have select. */
|
||||
/* #undef HAVE_SELECT */
|
||||
|
||||
/* Define if you have setpgid. */
|
||||
/* #undef HAVE_SETPGID */
|
||||
|
||||
/* Define if you have setpgrp. */
|
||||
/* #undef HAVE_SETPGRP */
|
||||
|
||||
/* Define if you have setsid. */
|
||||
/* #undef HAVE_SETSID */
|
||||
|
||||
/* Define if you have setvbuf. */
|
||||
#define HAVE_SETVBUF
|
||||
|
||||
/* Define if you have siginterrupt. */
|
||||
/* #undef HAVE_SIGINTERRUPT */
|
||||
|
||||
/* Define if you have symlink. */
|
||||
/* #undef HAVE_SYMLINK */
|
||||
|
||||
/* Define if you have tcgetpgrp. */
|
||||
/* #undef HAVE_TCGETPGRP */
|
||||
|
||||
/* Define if you have tcsetpgrp. */
|
||||
/* #undef HAVE_TCSETPGRP */
|
||||
|
||||
/* Define if you have times. */
|
||||
#define HAVE_TIMES
|
||||
|
||||
/* Define if you have uname. */
|
||||
/* #undef HAVE_UNAME */
|
||||
|
||||
/* Define if you have waitpid. */
|
||||
/* #undef HAVE_WAITPID */
|
||||
|
||||
/* Define if you have the <dlfcn.h> header file. */
|
||||
/* #undef HAVE_DLFCN_H */
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define if you have the <signal.h> header file. */
|
||||
#define HAVE_SIGNAL_H 1
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
#define HAVE_STDARG_H 1
|
||||
|
||||
/* Define if you have the <stdarg.h> prototypes. */
|
||||
#define HAVE_STDARG_PROTOTYPES 1
|
||||
|
||||
/* Define if malloc(0) returns a NULL pointer */
|
||||
#define MALLOC_ZERO_RETURNS_NULL 1
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define if you have the <sys/audioio.h> header file. */
|
||||
/* #undef HAVE_SYS_AUDIOIO_H */
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
/* #define HAVE_SYS_PARAM_H 1 */
|
||||
|
||||
/* Define if you have the <sys/select.h> header file. */
|
||||
/* #define HAVE_SYS_SELECT_H 1 */
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
/* #define HAVE_SYS_TIME_H 1 */
|
||||
|
||||
/* Define if you have the <sys/times.h> header file. */
|
||||
/* #define HAVE_SYS_TIMES_H 1 */
|
||||
|
||||
/* Define if you have the <sys/un.h> header file. */
|
||||
/* #define HAVE_SYS_UN_H 1 */
|
||||
|
||||
/* Define if you have the <sys/utime.h> header file. */
|
||||
#define HAVE_SYS_UTIME_H 1
|
||||
|
||||
/* Define if you have the <sys/utsname.h> header file. */
|
||||
/* #define HAVE_SYS_UTSNAME_H 1 */
|
||||
|
||||
/* Define if you have the <thread.h> header file. */
|
||||
/* #undef HAVE_THREAD_H */
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
/* #define HAVE_UNISTD_H 1 */
|
||||
|
||||
/* Define if you have the <utime.h> header file. */
|
||||
/* #define HAVE_UTIME_H 1 */
|
||||
|
||||
/* Define if you have the dl library (-ldl). */
|
||||
/* #undef HAVE_LIBDL */
|
||||
|
||||
/* Define if you have the mpc library (-lmpc). */
|
||||
/* #undef HAVE_LIBMPC */
|
||||
|
||||
/* Define if you have the nsl library (-lnsl). */
|
||||
#define HAVE_LIBNSL 1
|
||||
|
||||
/* Define if you have the seq library (-lseq). */
|
||||
/* #undef HAVE_LIBSEQ */
|
||||
|
||||
/* Define if you have the socket library (-lsocket). */
|
||||
#define HAVE_LIBSOCKET 1
|
||||
|
||||
/* Define if you have the sun library (-lsun). */
|
||||
/* #undef HAVE_LIBSUN */
|
||||
|
||||
/* Define if you have the termcap library (-ltermcap). */
|
||||
/* #undef HAVE_LIBTERMCAP */
|
||||
|
||||
/* Define if you have the termlib library (-ltermlib). */
|
||||
/* #undef HAVE_LIBTERMLIB */
|
||||
|
||||
/* Define if you have the thread library (-lthread). */
|
||||
/* #undef HAVE_LIBTHREAD */
|
||||
|
||||
#endif /* !Py_CONFIG_H */
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#
|
||||
# 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
|
||||
@ -48,18 +49,24 @@ 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 = .;$(OS2TCPIP)\Include;$(PY_INCLUDES)
|
||||
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 = $(OS2TCPIP)\lib\so32dll.lib $(OS2TCPIP)\lib\tcp32dll.lib
|
||||
OTHERLIBS = $(OS2TCPIP)\lib\so32dll.lib $(OS2TCPIP)\lib\tcp32dll.lib \
|
||||
$(TCLTK)\Lib\Tcl76.lib $(TCLTK)\Lib\Tk42.lib
|
||||
|
||||
#################
|
||||
# Inference Rules
|
||||
@ -171,7 +178,6 @@ MODULES = \
|
||||
$(PATHOBJ)\PosixModule.obj \
|
||||
$(PATHOBJ)\RegexModule.obj \
|
||||
$(PATHOBJ)\RegExpr.obj \
|
||||
$(PATHOBJ)\ReopModule.obj \
|
||||
$(PATHOBJ)\SelectModule.obj \
|
||||
$(PATHOBJ)\SignalModule.obj \
|
||||
$(PATHOBJ)\SocketModule.obj \
|
||||
@ -204,6 +210,8 @@ _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 Python15.dll)
|
||||
|
||||
_OPT = /O /Gl
|
||||
# /O = Enable Speed-Optimizations
|
||||
@ -238,7 +246,8 @@ CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss
|
||||
###################
|
||||
# Primary Target(s)
|
||||
###################
|
||||
All: obj noise PyCore.lib Python15.lib Python15.dll Python.exe PGen.exe
|
||||
All: obj noise PyCore.lib Python15.lib PGen.exe \
|
||||
Python.exe PythonPM.exe Python15.dll _tkinter.dll
|
||||
|
||||
Modules: $(MODULES)
|
||||
Objects: $(OBJECTS)
|
||||
@ -257,6 +266,15 @@ noise:
|
||||
#
|
||||
##############
|
||||
|
||||
# Python Extension DLL: Tcl/Tk Interface
|
||||
_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python15.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 $@
|
||||
@ -265,6 +283,8 @@ PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) $(PATHOBJ)\Config.obj
|
||||
Python15.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
|
||||
@ -277,10 +297,15 @@ Python15.lib: Python.def
|
||||
@ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS)
|
||||
@ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS)
|
||||
|
||||
# Small Program to Start Interpreter in Python15.dll
|
||||
# Small Command-Line Program to Start Interpreter in Python15.dll
|
||||
Python.exe: $(PATHOBJ)\Python.obj Python15.lib
|
||||
@ Echo Linking $@ As EXE
|
||||
@ $(CC) $(CFLAGS) $(_EXE) /B"/STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
|
||||
@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
|
||||
|
||||
# Small PM-GUI Program to Start Interpreter in Python15.dll
|
||||
PythonPM.exe: $(PATHOBJ)\Python.obj Python15.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
|
||||
@ -305,6 +330,7 @@ release: Python.exe Python15.dll Python15.lib
|
||||
-- @Echo Y | copy /U Python.exe D:\EXEs
|
||||
-- @Echo Y | copy /U Python15.dll D:\DLLs
|
||||
-- @Echo Y | copy /U Python15.lib E:\Tau\Lib
|
||||
-- @Echo Y | copy /U _tkinter.dll D:\Python
|
||||
|
||||
test:
|
||||
python ..\..\lib\test\regrtest.py
|
||||
@ -947,19 +973,6 @@ regexpr.obj: $(PY_INCLUDE)\abstract.h $(PY_PARSER)\assert.h $(PY_INCLUDE)\ceval.
|
||||
$(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
|
||||
$(PY_INCLUDE)\tupleobject.h
|
||||
|
||||
reopmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
|
||||
$(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h config.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_MODULES)\regexpr.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 \
|
||||
config.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
|
||||
|
@ -4,369 +4,472 @@ PROTMODE
|
||||
DATA MULTIPLE NONSHARED
|
||||
|
||||
EXPORTS
|
||||
; Data
|
||||
PyCFunction_Type
|
||||
PyCObject_Type
|
||||
PyClass_Type
|
||||
PyCode_Type
|
||||
PyComplex_Type
|
||||
PyDict_Type
|
||||
PyExc_ArithmeticError
|
||||
PyExc_AttributeError
|
||||
PyExc_EOFError
|
||||
PyExc_Exception
|
||||
PyExc_FloatingPointError
|
||||
PyExc_IOError
|
||||
PyExc_ImportError
|
||||
PyExc_IndexError
|
||||
PyExc_KeyError
|
||||
PyExc_KeyboardInterrupt
|
||||
PyExc_LookupError
|
||||
PyExc_MemoryError
|
||||
PyExc_NameError
|
||||
PyExc_OverflowError
|
||||
PyExc_RuntimeError
|
||||
PyExc_StandardError
|
||||
PyExc_SyntaxError
|
||||
PyExc_SystemError
|
||||
PyExc_SystemExit
|
||||
PyExc_TypeError
|
||||
PyExc_ValueError
|
||||
PyExc_ZeroDivisionError
|
||||
PyFile_Type
|
||||
PyFloat_Type
|
||||
PyFrame_Type
|
||||
PyFunction_Type
|
||||
PyInstance_Type
|
||||
PyInt_Type
|
||||
PyList_Type
|
||||
PyLong_Type
|
||||
PyMethod_Type
|
||||
PyModule_Type
|
||||
PyOS_InputHook
|
||||
PyOS_ReadlineFunctionPointer
|
||||
PyRange_Type
|
||||
PySlice_Type
|
||||
PyString_Type
|
||||
PyTuple_Type
|
||||
PyType_Type
|
||||
Py_DebugFlag
|
||||
Py_InteractiveFlag
|
||||
Py_NoSiteFlag
|
||||
Py_UseClassExceptionsFlag
|
||||
Py_VerboseFlag
|
||||
_PyParser_Grammar
|
||||
_PyParser_TokenNames
|
||||
_PyThread_Started
|
||||
_Py_EllipsisObject
|
||||
_Py_NoneStruct
|
||||
_Py_TrueStruct
|
||||
_Py_ZeroStruct
|
||||
; Data
|
||||
PyCFunction_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_StandardError
|
||||
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_TabcheckFlag
|
||||
Py_UseClassExceptionsFlag
|
||||
Py_VerboseFlag
|
||||
_PyImport_Filetab
|
||||
_PyImport_Inittab
|
||||
_PyParser_Grammar
|
||||
_PyParser_TokenNames
|
||||
_PyThread_Started
|
||||
_Py_EllipsisObject
|
||||
_Py_NoneStruct
|
||||
_Py_PackageContext
|
||||
_Py_TrueStruct
|
||||
_Py_ZeroStruct
|
||||
_Py_abstract_hack
|
||||
_Py_cobject_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
|
||||
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
|
||||
PyMember_Get
|
||||
PyMember_Set
|
||||
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_GetLastModificationTime
|
||||
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__exit_thread
|
||||
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_re_compile_fastmap
|
||||
_Py_re_compile_initialize
|
||||
_Py_re_compile_pattern
|
||||
_Py_re_match
|
||||
_Py_re_search
|
||||
_Py_re_set_syntax
|
||||
; _Py_samebitset
|
||||
|
||||
; Code
|
||||
PyArg_Parse
|
||||
PyArg_ParseTuple
|
||||
PyArg_ParseTupleAndKeywords
|
||||
PyArg_VaParse
|
||||
PyCFunction_GetFunction
|
||||
PyCFunction_GetSelf
|
||||
PyCFunction_New
|
||||
PyCObject_AsVoidPtr
|
||||
PyCObject_FromVoidPtr
|
||||
PyCObject_Import
|
||||
PyCallable_Check
|
||||
PyClass_IsSubclass
|
||||
PyClass_New
|
||||
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_Fetch
|
||||
PyErr_Format
|
||||
PyErr_NewException
|
||||
PyErr_NoMemory
|
||||
PyErr_Occurred
|
||||
PyErr_Print
|
||||
PyErr_Restore
|
||||
PyErr_SetFromErrno
|
||||
PyErr_SetInterrupt
|
||||
PyErr_SetNone
|
||||
PyErr_SetObject
|
||||
PyErr_SetString
|
||||
PyEval_AcquireLock
|
||||
PyEval_AcquireThread
|
||||
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_FromDouble
|
||||
PyFrame_BlockPop
|
||||
PyFrame_BlockSetup
|
||||
PyFrame_FastToLocals
|
||||
PyFrame_LocalsToFast
|
||||
PyFrame_New
|
||||
PyFunction_GetCode
|
||||
PyFunction_GetGlobals
|
||||
PyFunction_New
|
||||
PyGrammar_AddAccelerators
|
||||
PyGrammar_FindDFA
|
||||
PyGrammar_LabelRepr
|
||||
PyImport_AddModule
|
||||
PyImport_Cleanup
|
||||
PyImport_FrozenModules
|
||||
PyImport_GetMagicNumber
|
||||
PyImport_GetModuleDict
|
||||
PyImport_Import
|
||||
PyImport_ImportFrozenModule
|
||||
PyImport_ImportModule
|
||||
PyImport_ImportModuleEx
|
||||
PyImport_ReloadModule
|
||||
PyInstance_DoBinOp
|
||||
PyInstance_New
|
||||
PyInt_AsLong
|
||||
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_AsUnsignedLong
|
||||
PyLong_FromDouble
|
||||
PyLong_FromLong
|
||||
PyLong_FromString
|
||||
PyLong_FromUnsignedLong
|
||||
PyMapping_Check
|
||||
PyMapping_GetItemString
|
||||
PyMapping_HasKey
|
||||
PyMapping_HasKeyString
|
||||
PyMapping_Length
|
||||
PyMapping_SetItemString
|
||||
PyMarshal_Init
|
||||
PyMarshal_ReadLongFromFile
|
||||
PyMarshal_ReadObjectFromFile
|
||||
PyMarshal_ReadObjectFromString
|
||||
PyMarshal_WriteLongToFile
|
||||
PyMarshal_WriteObjectToFile
|
||||
PyMem_Free
|
||||
PyMem_Malloc
|
||||
PyMem_Realloc
|
||||
PyMember_Get
|
||||
PyMember_Set
|
||||
PyMethod_Class
|
||||
PyMethod_Function
|
||||
PyMethod_New
|
||||
PyMethod_Self
|
||||
PyModule_GetDict
|
||||
PyModule_GetName
|
||||
PyModule_New
|
||||
PyNode_AddChild
|
||||
PyNode_Compile
|
||||
PyNode_Free
|
||||
PyNode_New
|
||||
PyNumber_Absolute
|
||||
PyNumber_Add
|
||||
PyNumber_And
|
||||
PyNumber_Check
|
||||
PyNumber_Coerce
|
||||
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_GetLastModificationTime
|
||||
PyOS_InitInterrupts
|
||||
PyOS_InterruptOccurred
|
||||
PyOS_Readline
|
||||
PyOS_strtol
|
||||
PyOS_strtoul
|
||||
PyObject_CallFunction
|
||||
PyObject_CallMethod
|
||||
PyObject_CallObject
|
||||
PyObject_Compare
|
||||
PyObject_GetAttr
|
||||
PyObject_GetAttrString
|
||||
PyObject_GetItem
|
||||
PyObject_HasAttrString
|
||||
PyObject_Hash
|
||||
PyObject_IsTrue
|
||||
PyObject_Length
|
||||
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_Count
|
||||
PySequence_GetItem
|
||||
PySequence_GetSlice
|
||||
PySequence_In
|
||||
PySequence_Index
|
||||
PySequence_Length
|
||||
PySequence_Repeat
|
||||
PySequence_SetItem
|
||||
PySequence_SetSlice
|
||||
PySequence_Tuple
|
||||
PySlice_GetIndices
|
||||
PySlice_New
|
||||
PyString_AsString
|
||||
PyString_Concat
|
||||
PyString_ConcatAndDel
|
||||
PyString_Format
|
||||
PyString_FromString
|
||||
PyString_FromStringAndSize
|
||||
PyString_Size
|
||||
PySys_GetFile
|
||||
PySys_GetObject
|
||||
PySys_SetArgv
|
||||
PySys_SetObject
|
||||
PySys_SetPath
|
||||
PyThreadState_Clear
|
||||
PyThreadState_Delete
|
||||
PyThreadState_Get
|
||||
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_GetItem
|
||||
PyTuple_GetSlice
|
||||
PyTuple_New
|
||||
PyTuple_SetItem
|
||||
PyTuple_Size
|
||||
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_FrozenMain
|
||||
Py_GetBuildInfo
|
||||
Py_GetCopyright
|
||||
Py_GetExecPrefix
|
||||
Py_GetPath
|
||||
Py_GetPrefix
|
||||
Py_GetProgramFullPath
|
||||
Py_GetProgramName
|
||||
Py_GetVersion
|
||||
Py_InitModule4
|
||||
Py_Initialize
|
||||
Py_IsInitialized
|
||||
Py_Main
|
||||
Py_Malloc
|
||||
Py_NewInterpreter
|
||||
Py_Realloc
|
||||
Py_SetProgramName
|
||||
Py_VaBuildValue
|
||||
_PyObject_New
|
||||
_PyObject_NewVar
|
||||
_PyString_Resize
|
||||
_Py_c_diff
|
||||
_Py_c_neg
|
||||
_Py_c_pow
|
||||
_Py_c_prod
|
||||
_Py_c_quot
|
||||
_Py_c_sum
|
||||
initimp
|
||||
|
@ -1,114 +1,114 @@
|
||||
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
|
||||
|
||||
If you have questions, suggestions or problems specifically with
|
||||
the OS/2 VAC++ port of Python, please contact me at:
|
||||
|
||||
Jeff Rush <jrush@summit-research.com>.
|
||||
|
||||
I support no other platform but OS/2 (and eventually AmigaDOS).
|
||||
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
|
||||
|
||||
If you have questions, suggestions or problems specifically with
|
||||
the OS/2 VAC++ port of Python, please contact me at:
|
||||
|
||||
Jeff Rush <jrush@summit-research.com>.
|
||||
|
||||
I support no other platform but OS/2 (and eventually AmigaDOS).
|
||||
|
Loading…
Reference in New Issue
Block a user