| #ifndef Py_CONFIG_H |
| #define Py_CONFIG_H |
| |
| /********************************************************************** |
| * 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. |
| * |
| * 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 (to-be-supported) |
| * |
| * 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 |
| * |
| * __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 <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 "" |
| |
| /***************************************************/ |
| /* 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 */ |
| |
| /* 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 */ |
| |
| /* Platform CPU-Mode Dependencies */ |
| #define WORD_BIT 32 /* OS/2 is a 32-Bit Operating System */ |
| |
| 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 /* Then Enable Threading Throughout Python */ |
| #define OS2_THREADS /* And Use the OS/2 Flavor of Threads */ |
| #endif |
| |
| /* Compiler Runtime Library Capabilities */ |
| #include <ctype.h> |
| #include <direct.h> |
| |
| /* #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 */ |
| |
| #ifdef USE_DL_EXPORT |
| #define DL_IMPORT(RTYPE) RTYPE _Export |
| #endif |
| |
| #endif /* VAC++ for OS/2 */ |
| |
| /***************************************************/ |
| /* 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 |
| |
| /* 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 */ |
| |
| #ifdef _M_IX86 |
| #define COMPILER "[MSC 32 bit (Intel)]" |
| #else |
| #define COMPILER "[MSC (Unknown)]" |
| #endif |
| |
| /* Platform Filesystem */ |
| #define PYTHONPATH ".\\lib;.\\lib\\plat-win;.\\lib\\lib-tk" |
| #define DOSFILESYS /* Windows Uses the DOS File Naming Conventions */ |
| |
| /* Platform CPU-Mode Dependencies */ |
| #define WORD_BIT 32 |
| |
| typedef int pid_t; |
| #define hypot _hypot |
| |
| /* Compiler Runtime Library Capabilities */ |
| #pragma warning(disable:4113) |
| #include <stdio.h> |
| |
| #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 */ |
| #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 */ |
| |