|
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 |
|
95 typedef int mode_t; |
|
96 typedef int uid_t; |
|
97 typedef int gid_t; |
|
98 typedef 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 |