PageRenderTime 720ms CodeModel.GetById 543ms app.highlight 5ms RepoModel.GetById 169ms app.codeStats 0ms

/PC/os2vacpp/pyconfig.h

http://unladen-swallow.googlecode.com/
C++ Header | 213 lines | 83 code | 28 blank | 102 comment | 0 complexity | 4943a7a36051d6afdcbd38ee13c24b80 MD5 | raw file
  1#ifndef Py_CONFIG_H
  2#define Py_CONFIG_H
  3
  4/**********************************************************************
  5 * pyconfig.h.  NOT Generated automatically by configure.
  6 *
  7 * This is a manually maintained version used for the IBM VisualAge
  8 * C/C++ compiler on the OS/2 platform.  It is a standard part of
  9 * the Python distribution.
 10 *
 11 * FILESYSTEM DEFINES:
 12 * The code specific to a particular way of naming files and
 13 * directory paths should be wrapped around one of the following
 14 * #defines:
 15 *
 16 *     DOSFILESYS   PCDOS-Style (for PCDOS, Windows and OS/2)
 17 *     MACFILESYS   Macintosh-Style
 18 *     UNIXFILESYS  Unix-Style
 19 *     AMIGAFILESYS AmigaDOS-Style
 20 * 
 21 * Because of the different compilers and operating systems in
 22 * use on the Intel platform, neither the compiler name nor
 23 * the operating system name is sufficient.
 24 *
 25 * OS/2 DEFINES:
 26 * The code specific to OS/2's Program API should be wrapped around
 27 *
 28 * __TOS_OS2__   Target Operating System, OS/2
 29 *
 30 * Any code specific to the compiler itself should be wrapped with
 31 *
 32 * __IBMC__      IBM C Compiler
 33 * __IBMCPP__    IBM C++ Compiler
 34 *
 35 * Note that since the VisualAge C/C++ compiler is also available
 36 * for the Windows platform, it may be necessary to use both a
 37 * __TOS_OS2__ and a __IBMC__ to select a very specific environment.
 38 *
 39 **********************************************************************/
 40
 41/*
 42 * Some systems require special declarations for data items imported
 43 * or exported from dynamic link libraries.  Note that the definition
 44 * of DL_IMPORT covers both cases.  Define USE_DL_IMPORT for the client
 45 * of a DLL.  Define USE_DL_EXPORT when making a DLL.
 46 */
 47
 48#include <io.h>
 49
 50/* Configuration Options for Finding Modules */
 51#define PREFIX                 ""
 52#define EXEC_PREFIX            ""
 53
 54/* Provide a default library so writers of extension modules
 55 * won't have to explicitly specify it anymore
 56 */
 57#pragma library("Python24.lib")
 58
 59/***************************************************/
 60/*    32-Bit IBM VisualAge C/C++ v3.0 for OS/2     */
 61/*  (Convert Compiler Flags into Useful Switches)  */
 62/***************************************************/
 63#define PLATFORM    "os2"
 64#define COMPILER    "[VisualAge C/C++]"
 65#define PYOS_OS2    /* Define Indicator of Operating System */
 66#define PYCC_VACPP  /* Define Indicator of C Compiler */
 67
 68  /* Platform Filesystem */
 69#define PYTHONPATH  ".;.\\lib;.\\lib\\plat-win;.\\lib\\lib-tk"
 70#define DOSFILESYS  /* OS/2 Uses the DOS File Naming Conventions */
 71/* #define IMPORT_8x3_NAMES (let's move up to long filenames) */
 72
 73  /* Platform CPU-Mode Dependencies */
 74#define WORD_BIT                32 /* OS/2 is a 32-Bit Operating System */
 75#define LONG_BIT                32
 76#define SIZEOF_INT               4 /* Count of Bytes in an (int)            */
 77#define SIZEOF_LONG              4 /* Count of Bytes in a (long)            */
 78#define SIZEOF_VOID_P            4 /* Count of Bytes in a (void *)          */
 79/* #define HAVE_LONG_LONG     1 */ /* VAC++ does not support (long long)    */
 80/* #define SIZEOF_LONG_LONG   8 */ /* Count of Bytes in a (long long)       */
 81
 82/* unicode definines */
 83#define Py_USING_UNICODE
 84#define PY_UNICODE_TYPE    wchar_t
 85#define Py_UNICODE_SIZE SIZEOF_SHORT
 86
 87/* dynamic loading */
 88#define HAVE_DYNAMIC_LOADING 1
 89
 90/* Define if type char is unsigned and you are not using gcc.  */
 91#ifndef __CHAR_UNSIGNED__
 92/* #undef __CHAR_UNSIGNED__ */
 93#endif
 94
 95typedef int mode_t;
 96typedef int uid_t;
 97typedef int gid_t;
 98typedef int pid_t;
 99
100#if defined(__MULTI__)     /* If Compiler /Gt+ Multithread Option Enabled,  */
101  #define WITH_THREAD            1 /* Enable Threading Throughout Python    */
102  #define OS2_THREADS            1 /* And Use the OS/2 Flavor of Threads    */
103/* #define _REENTRANT 1 */ /* Use thread-safe errno, h_errno, and other fns */
104#endif
105
106  /* Compiler Runtime Library Capabilities */
107#include <ctype.h>
108#include <direct.h>
109/* #undef BAD_STATIC_FORWARD */ /* if compiler botches static fwd decls */
110
111#define STDC_HEADERS             1 /* VAC++ is an ANSI C Compiler           */
112#define HAVE_HYPOT               1 /* hypot()                               */
113#define HAVE_PUTENV              1 /* putenv()                              */
114/* #define VA_LIST_IS_ARRAY   1 */ /* if va_list is an array of some kind   */
115/* #define HAVE_CONIO_H       1 */ /* #include <conio.h>                    */
116#define HAVE_ERRNO_H             1 /* #include <errno.h>                    */
117#define HAVE_SYS_STAT_H          1 /* #include <sys/stat.h>                 */
118#define HAVE_SYS_TYPES_H         1 /* #include <sys/types.h>                */
119
120  /* Variable-Arguments/Prototypes */
121#define HAVE_PROTOTYPES          1 /* VAC++ supports C Function Prototypes  */
122#define HAVE_STDARG_PROTOTYPES   1 /* Our <stdarg.h> has prototypes         */
123
124  /* String/Memory/Locale Operations */
125#define HAVE_MEMMOVE             1 /* memmove()                             */
126#define HAVE_STRERROR            1 /* strerror()                            */
127#define HAVE_SETLOCALE           1 /* setlocale()                           */
128#define MALLOC_ZERO_RETURNS_NULL 1 /* Our malloc(0) returns a NULL ptr      */
129
130  /* Signal Handling */
131#define HAVE_SIGNAL_H            1 /* signal.h                              */
132#define RETSIGTYPE            void /* Return type of handlers (int or void) */
133/* #undef WANT_SIGFPE_HANDLER   */ /* Handle SIGFPE (see Include/pyfpe.h)   */
134/* #define HAVE_ALARM         1 */ /* alarm()                               */
135/* #define HAVE_SIGINTERRUPT  1 */ /* siginterrupt()                        */
136/* #define HAVE_SIGRELSE      1 */ /* sigrelse()                            */
137#define DONT_HAVE_SIG_ALARM      1
138#define DONT_HAVE_SIG_PAUSE      1
139
140  /* Clock/Time Support */
141#define HAVE_FTIME               1 /* We have ftime() in <sys/timeb.h>      */
142#define HAVE_CLOCK               1 /* clock()                               */
143#define HAVE_STRFTIME            1 /* strftime()                            */
144#define HAVE_MKTIME              1 /* mktime()                              */
145#define HAVE_TZNAME              1 /* No tm_zone but do have tzname[]       */
146#define HAVE_TIMES               1 /* #include <sys/times.h>                */
147#define HAVE_SYS_UTIME_H         1 /* #include <sys/utime.h>                */
148/* #define HAVE_UTIME_H       1 */ /* #include <utime.h>                    */
149#define HAVE_SYS_TIME_H          1 /* #include <sys/time.h>                 */
150/* #define TM_IN_SYS_TIME     1 */ /* <sys/time.h> declares struct tm       */
151#define HAVE_GETTIMEOFDAY        1 /* gettimeofday()                        */
152/* #define GETTIMEOFDAY_NO_TZ 1 */ /* gettimeofday() does not have 2nd arg  */
153/* #define HAVE_TIMEGM        1 */ /* timegm()                              */
154#define TIME_WITH_SYS_TIME       1 /* Mix <sys/time.h> and <time.h>         */
155#define SYS_SELECT_WITH_SYS_TIME 1 /* Mix <sys/select.h> and <sys/time.h>   */
156/* #define HAVE_ALTZONE       1 */ /* if <time.h> defines altzone           */
157
158  /* Network/Sockets Support */
159#define HAVE_SYS_SELECT_H       1 /* #include <sys/select.h>                */
160#define BSD_SELECT              1 /* Use BSD versus OS/2 form of select()   */
161#define HAVE_SELECT             1 /* select()                               */
162#define HAVE_GETPEERNAME        1 /* getpeername()                          */
163/* #undef HAVE_GETHOSTNAME_R 1 */ /* gethostname_r()                        */
164
165  /* File I/O */
166#define HAVE_DUP2                1 /* dup2()                                */
167#define HAVE_EXECV               1 /* execv()                               */
168#define HAVE_SETVBUF             1 /* setvbuf()                             */
169#define HAVE_GETCWD              1 /* getcwd()                              */
170#define HAVE_PIPE                1 /* pipe()     [OS/2-specific code added] */
171#define HAVE_IO_H                1 /* #include <io.h>                       */
172#define HAVE_FCNTL_H             1 /* #include <fcntl.h>                    */
173#define HAVE_DIRECT_H            1 /* #include <direct.h>                   */
174/* #define HAVE_FLOCK         1 */ /* flock()                               */
175/* #define HAVE_TRUNCATE      1 */ /* truncate()                            */
176/* #define HAVE_FTRUNCATE     1 */ /* ftruncate()                           */
177/* #define HAVE_LSTAT         1 */ /* lstat()                               */
178/* #define HAVE_DIRENT_H      1 */ /* #include <dirent.h>                   */
179/* #define HAVE_OPENDIR       1 */ /* opendir()                             */
180
181  /* Process Operations */
182#define HAVE_PROCESS_H           1 /* #include <process.h>                  */
183#define HAVE_GETPID              1 /* getpid()                              */
184#define HAVE_SYSTEM              1 /* system()                              */
185#define HAVE_WAIT                1 /* wait()                                */
186#define HAVE_KILL                1 /* kill()     [OS/2-specific code added] */
187#define HAVE_POPEN               1 /* popen()    [OS/2-specific code added] */
188/* #define HAVE_GETPPID       1 */ /* getppid()                             */
189/* #define HAVE_WAITPID       1 */ /* waitpid()                             */
190/* #define HAVE_FORK          1 */ /* fork()                                */
191
192  /* User/Group ID Queries */
193/* #define HAVE_GETEGID       1 */
194/* #define HAVE_GETEUID       1 */
195/* #define HAVE_GETGID        1 */
196/* #define HAVE_GETUID        1 */
197
198  /* Unix-Specific */
199/* #define HAVE_SYS_UN_H            1 /* #include <sys/un.h>                   */
200/* #define HAVE_SYS_UTSNAME_H 1 */ /* #include <sys/utsname.h>              */
201/* #define HAVE_SYS_WAIT_H    1 */ /* #include <sys/wait.h>                 */
202/* #define HAVE_UNISTD_H      1 */ /* #include <unistd.h>                   */
203/* #define HAVE_UNAME         1 */ /* uname ()                              */
204
205/* Define if you want documentation strings in extension modules */
206#define WITH_DOC_STRINGS 1
207
208#ifdef USE_DL_EXPORT
209  #define DL_IMPORT(RTYPE) RTYPE _System
210#endif
211
212#endif /* !Py_CONFIG_H */
213