blob: 3c382de9bedefc5fd57af11ecad00954edf41689 [file] [log] [blame]
Guido van Rossum87d5e701996-05-28 22:50:17 +00001#ifndef Py_CONFIG_H
2#define Py_CONFIG_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7/* config.h. NOT Generated automatically by configure.
8
9This is a manually maintained version used for the Watcom,
10Borland and and Microsoft Visual C++ compilers. It is a
11standard part of the Python distribution.
12
13*/
14
15/*
16 Some systems require special declarations for data items imported
17 or exported from dynamic link libraries. Note that the definition
18 of DL_IMPORT covers both cases. Define USE_DL_IMPORT for the client
19 of a DLL. Define USE_DL_EXPORT when making a DLL.
20*/
21
22#include <io.h>
23#define HAVE_LIMITS_H
24#define HAVE_HYPOT
25#define DONT_HAVE_SIG_ALARM
26#define DONT_HAVE_SIG_PAUSE
27#define LONG_BIT 32
28
29/* Microsoft C defines _MSC_VER */
30
31#if defined(_MSC_VER) && _MSC_VER > 850
32/* Start of defines for NT using VC++ 2.0 and up */
33#define NT
34#ifdef _M_IX86
35#define COMPILER "[MSC 32 bit (Intel)]"
36#else
37#define COMPILER "[MSC (Unknown)]"
38#endif
39#define PYTHONPATH "c:\\python\\lib"
40typedef int pid_t;
41#define WORD_BIT 32
42#pragma warning(disable:4113)
43#define hypot _hypot
44#include <stdio.h>
45#define HAVE_CLOCK
46#define HAVE_STRFTIME
47#define NT_THREADS
48#define WITH_THREAD
49#ifndef NETSCAPE_PI
50#define USE_SOCKET
51#define _COMPLEX_DEFINED
52#endif
53#ifdef USE_DL_IMPORT
54#define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE
55#endif
56#ifdef USE_DL_EXPORT
57#define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE
58#endif
59#endif /* NT */
60
61#if defined(_MSC_VER) && _MSC_VER <= 850
62/* Start of defines for 16-bit Windows using VC++ 1.5 */
63#define COMPILER "[MSC 16-bit]"
64#define MS_WIN16
65#define PYTHONPATH "c:\\python\\lib;c:\\python\\lib\\dos_8x3"
66#define IMPORT_8x3_NAMES
67typedef int pid_t;
68#define WORD_BIT 16
69#define _COMPLEX_DEFINED
70#pragma warning(disable:4113)
71#define memcpy memmove /* memcpy dangerous pointer wrap in Win 3.1 */
72#define hypot _hypot
73#define SIGINT 2
74#include <stdio.h>
75/* Windows 3.1 will not tolerate any console io in a dll */
76#ifdef _USRDLL
77#include <time.h>
78#define stdin ((FILE *)0)
79#define stdout ((FILE *)1)
80#define stderr ((FILE *)2)
81#define fflush Py_fflush
82int Py_fflush(FILE *);
83#define fgets Py_fgets
84char *Py_fgets(char *, int, FILE *);
85#define fileno Py_fileno
86int Py_fileno(FILE *);
87#define fprintf Py_fprintf
88int Py_fprintf(FILE *, const char *, ...);
89#define printf Py_printf
90int Py_printf(const char *, ...);
91#define sscanf Py_sscanf
92int Py_sscanf(const char *, const char *, ...);
93clock_t clock();
94void _exit(int);
95void exit(int);
96int sscanf(const char *, const char *, ...);
97#endif /* _USRDLL */
98#ifndef NETSCAPE_PI
99/* use sockets, but not in a Netscape dll */
100#define USE_SOCKET
101#endif
102#endif /* MS_WIN16 */
103
104/* The Watcom compiler defines __WATCOMC__ */
105#ifdef __WATCOMC__
106#define COMPILER "[Watcom]"
107#define PYTHONPATH "c:\\python\\lib;c:\\python\\lib\\dos_8x3"
108#define IMPORT_8x3_NAMES
109#include <ctype.h>
110#include <direct.h>
111typedef int mode_t;
112typedef int uid_t;
113typedef int gid_t;
114#ifdef M_I386
115#define WORD_BIT 32
116#else
117#define WORD_BIT 16
118#endif
119#define VA_LIST_IS_ARRAY
120#define HAVE_CLOCK
121#define HAVE_STRFTIME
122#ifdef USE_DL_EXPORT
123#define DL_IMPORT(RTYPE) RTYPE __export
124#endif
125#endif /* __WATCOMC__ */
126
127/* The Borland compiler defines __BORLANDC__ */
128#ifdef __BORLANDC__
129#define COMPILER "[Borland]"
130#define PYTHONPATH "c:\\python\\lib;c:\\python\\lib\\dos_8x3"
131#define IMPORT_8x3_NAMES
132#define HAVE_CLOCK
133#define HAVE_STRFTIME
134#ifdef USE_DL_IMPORT
135#define DL_IMPORT(RTYPE) RTYPE __import
136#endif
137#endif /* BORLANDC */
138
139/* Fairly standard from here! */
140
141/* Define if on AIX 3.
142 System headers sometimes define this.
143 We just want to avoid a redefinition error message. */
144#ifndef _ALL_SOURCE
145/* #undef _ALL_SOURCE */
146#endif
147
148/* Define to empty if the keyword does not work. */
149/* #define const */
150
151/* Define if you have dirent.h. */
152/* #define DIRENT 1 */
153
154/* Define to the type of elements in the array set by `getgroups'.
155 Usually this is either `int' or `gid_t'. */
156/* #undef GETGROUPS_T */
157
158/* Define to `int' if <sys/types.h> doesn't define. */
159/* #undef gid_t */
160
161/* Define if your struct tm has tm_zone. */
162/* #undef HAVE_TM_ZONE */
163
164/* Define if you don't have tm_zone but do have the external array
165 tzname. */
166#define HAVE_TZNAME
167
168/* Define if on MINIX. */
169/* #undef _MINIX */
170
171/* Define to `int' if <sys/types.h> doesn't define. */
172/* #undef mode_t */
173
174/* Define if you don't have dirent.h, but have ndir.h. */
175/* #undef NDIR */
176
177/* Define to `long' if <sys/types.h> doesn't define. */
178/* #undef off_t */
179
180/* Define to `int' if <sys/types.h> doesn't define. */
181/* #undef pid_t */
182
183/* Define if the system does not provide POSIX.1 features except
184 with this defined. */
185/* #undef _POSIX_1_SOURCE */
186
187/* Define if you need to in order for stat and other things to work. */
188/* #undef _POSIX_SOURCE */
189
190/* Define as the return type of signal handlers (int or void). */
191#define RETSIGTYPE void
192
193/* Define to `unsigned' if <sys/types.h> doesn't define. */
194/* #undef size_t */
195
196/* Define if you have the ANSI C header files. */
197#define STDC_HEADERS 1
198
199/* Define if you don't have dirent.h, but have sys/dir.h. */
200/* #undef SYSDIR */
201
202/* Define if you don't have dirent.h, but have sys/ndir.h. */
203/* #undef SYSNDIR */
204
205/* Define if you can safely include both <sys/time.h> and <time.h>. */
206/* #undef TIME_WITH_SYS_TIME */
207
208/* Define if your <sys/time.h> declares struct tm. */
209/* #define TM_IN_SYS_TIME 1 */
210
211/* Define to `int' if <sys/types.h> doesn't define. */
212/* #undef uid_t */
213
214/* Define if the closedir function returns void instead of int. */
215/* #undef VOID_CLOSEDIR */
216
217/* Define if your <unistd.h> contains bad prototypes for exec*()
218 (as it does on SGI IRIX 4.x) */
219/* #undef BAD_EXEC_PROTOTYPES */
220
221/* Define if your compiler botches static forward declarations
222 (as it does on SCI ODT 3.0) */
223#define BAD_STATIC_FORWARD 1
224
225/* Define if getpgrp() must be called as getpgrp(0)
226 and (consequently) setpgrp() as setpgrp(0, 0). */
227/* #undef GETPGRP_HAVE_ARGS */
228
229/* Define this if your time.h defines altzone */
230/* #define HAVE_ALTZONE */
231
232/* Define if your compiler supports function prototypes */
233#define HAVE_PROTOTYPES
234
235/* Define if you can safely include both <sys/select.h> and <sys/time.h>
236 (which you can't on SCO ODT 3.0). */
237/* #undef SYS_SELECT_WITH_SYS_TIME */
238
239/* Define if you want to use SGI (IRIX 4) dynamic linking.
240 This requires the "dl" library by Jack Jansen,
241 ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
242 Don't bother on IRIX 5, it already has dynamic linking using SunOS
243 style shared libraries */
244/* #undef WITH_SGI_DL */
245
246/* Define if you want to emulate SGI (IRIX 4) dynamic linking.
247 This is rumoured to work on VAX (Ultrix), Sun3 (SunOS 3.4),
248 Sequent Symmetry (Dynix), and Atari ST.
249 This requires the "dl-dld" library,
250 ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z,
251 as well as the "GNU dld" library,
252 ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z.
253 Don't bother on SunOS 4 or 5, they already have dynamic linking using
254 shared libraries */
255/* #undef WITH_DL_DLD */
256
257/* Define if you want to compile in rudimentary thread support */
258/* #undef WITH_THREAD */
259
260/* Define if you want to use the GNU readline library */
261/* #define WITH_READLINE 1 */
262
263/* Define if you have clock. */
264/* #define HAVE_CLOCK */
265
266/* Define if you have ftime. */
267#define HAVE_FTIME
268
269/* Define if you have getpeername. */
270/* #undef HAVE_GETPEERNAME */
271
272/* Define if you have getpgrp. */
273/* #undef HAVE_GETPGRP */
274
275/* Define if you have getpid. */
276/* #undef HAVE_GETPID */
277
278/* Define if you have gettimeofday. */
279/* #undef HAVE_GETTIMEOFDAY */
280
281/* Define if you have getwd. */
282/* #undef HAVE_GETWD */
283
284/* Define if you have lstat. */
285/* #undef HAVE_LSTAT */
286
287/* Define if you have nice. */
288/* #undef HAVE_NICE */
289
290/* Define if you have readlink. */
291/* #undef HAVE_READLINK */
292
293/* Define if you have select. */
294/* #undef HAVE_SELECT */
295
296/* Define if you have setpgid. */
297/* #undef HAVE_SETPGID */
298
299/* Define if you have setpgrp. */
300/* #undef HAVE_SETPGRP */
301
302/* Define if you have setsid. */
303/* #undef HAVE_SETSID */
304
305/* Define if you have siginterrupt. */
306/* #undef HAVE_SIGINTERRUPT */
307
308/* Define if you have symlink. */
309/* #undef HAVE_SYMLINK */
310
311/* Define if you have tcgetpgrp. */
312/* #undef HAVE_TCGETPGRP */
313
314/* Define if you have tcsetpgrp. */
315/* #undef HAVE_TCSETPGRP */
316
317/* Define if you have times. */
318/* #undef HAVE_TIMES */
319
320/* Define if you have uname. */
321/* #undef HAVE_UNAME */
322
323/* Define if you have waitpid. */
324/* #undef HAVE_WAITPID */
325
326/* Define if you have the <dlfcn.h> header file. */
327/* #undef HAVE_DLFCN_H */
328
329/* Define if you have the <fcntl.h> header file. */
330#define HAVE_FCNTL_H 1
331
332/* Define if you have the <signal.h> header file. */
333#define HAVE_SIGNAL_H 1
334
335/* Define if you have the <stdarg.h> header file. */
336#define HAVE_STDARG_H 1
337
338/* Define if you have the <stdarg.h> prototypes. */
339#define HAVE_STDARG_PROTOTYPES
340
341/* Define if you have the <stdlib.h> header file. */
342#define HAVE_STDLIB_H 1
343
344/* Define if you have the <sys/audioio.h> header file. */
345/* #undef HAVE_SYS_AUDIOIO_H */
346
347/* Define if you have the <sys/param.h> header file. */
348/* #define HAVE_SYS_PARAM_H 1 */
349
350/* Define if you have the <sys/select.h> header file. */
351/* #define HAVE_SYS_SELECT_H 1 */
352
353/* Define if you have the <sys/time.h> header file. */
354/* #define HAVE_SYS_TIME_H 1 */
355
356/* Define if you have the <sys/times.h> header file. */
357/* #define HAVE_SYS_TIMES_H 1 */
358
359/* Define if you have the <sys/un.h> header file. */
360/* #define HAVE_SYS_UN_H 1 */
361
362/* Define if you have the <sys/utime.h> header file. */
363#define HAVE_SYS_UTIME_H 1
364
365/* Define if you have the <sys/utsname.h> header file. */
366/* #define HAVE_SYS_UTSNAME_H 1 */
367
368/* Define if you have the <thread.h> header file. */
369/* #undef HAVE_THREAD_H */
370
371/* Define if you have the <unistd.h> header file. */
372/* #define HAVE_UNISTD_H 1 */
373
374/* Define if you have the <utime.h> header file. */
375/* #define HAVE_UTIME_H 1 */
376
377/* Define if you have the dl library (-ldl). */
378/* #undef HAVE_LIBDL */
379
380/* Define if you have the mpc library (-lmpc). */
381/* #undef HAVE_LIBMPC */
382
383/* Define if you have the nsl library (-lnsl). */
384#define HAVE_LIBNSL 1
385
386/* Define if you have the seq library (-lseq). */
387/* #undef HAVE_LIBSEQ */
388
389/* Define if you have the socket library (-lsocket). */
390#define HAVE_LIBSOCKET 1
391
392/* Define if you have the sun library (-lsun). */
393/* #undef HAVE_LIBSUN */
394
395/* Define if you have the termcap library (-ltermcap). */
396/* #undef HAVE_LIBTERMCAP */
397
398/* Define if you have the termlib library (-ltermlib). */
399/* #undef HAVE_LIBTERMLIB */
400
401/* Define if you have the thread library (-lthread). */
402/* #undef HAVE_LIBTHREAD */
403#ifdef __cplusplus
404}
405#endif
406#endif /* !Py_CONFIG_H */