pyconfig.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. #ifndef Py_CONFIG_H
  2. #define Py_CONFIG_H
  3. /* pyconfig.h. NOT Generated automatically by configure.
  4. This is a manually maintained version used for the Watcom,
  5. Borland and Microsoft Visual C++ compilers. It is a
  6. standard part of the Python distribution.
  7. WINDOWS DEFINES:
  8. The code specific to Windows should be wrapped around one of
  9. the following #defines
  10. MS_WIN64 - Code specific to the MS Win64 API
  11. MS_WIN32 - Code specific to the MS Win32 (and Win64) API (obsolete, this covers all supported APIs)
  12. MS_WINDOWS - Code specific to Windows, but all versions.
  13. MS_WINCE - Code specific to Windows CE
  14. Py_ENABLE_SHARED - Code if the Python core is built as a DLL.
  15. Also note that neither "_M_IX86" or "_MSC_VER" should be used for
  16. any purpose other than "Windows Intel x86 specific" and "Microsoft
  17. compiler specific". Therefore, these should be very rare.
  18. NOTE: The following symbols are deprecated:
  19. NT, USE_DL_EXPORT, USE_DL_IMPORT, DL_EXPORT, DL_IMPORT
  20. MS_CORE_DLL.
  21. WIN32 is still required for the locale module.
  22. */
  23. #ifdef _WIN32_WCE
  24. #define MS_WINCE
  25. #endif
  26. /* Deprecated USE_DL_EXPORT macro - please use Py_BUILD_CORE */
  27. #ifdef USE_DL_EXPORT
  28. # define Py_BUILD_CORE
  29. #endif /* USE_DL_EXPORT */
  30. /* Visual Studio 2005 introduces deprecation warnings for
  31. "insecure" and POSIX functions. The insecure functions should
  32. be replaced by *_s versions (according to Microsoft); the
  33. POSIX functions by _* versions (which, according to Microsoft,
  34. would be ISO C conforming). Neither renaming is feasible, so
  35. we just silence the warnings. */
  36. #ifndef _CRT_SECURE_NO_DEPRECATE
  37. #define _CRT_SECURE_NO_DEPRECATE 1
  38. #endif
  39. #ifndef _CRT_NONSTDC_NO_DEPRECATE
  40. #define _CRT_NONSTDC_NO_DEPRECATE 1
  41. #endif
  42. /* Windows CE does not have these */
  43. #ifndef MS_WINCE
  44. #define HAVE_IO_H
  45. #define HAVE_SYS_UTIME_H
  46. #define HAVE_TEMPNAM
  47. #define HAVE_TMPFILE
  48. #define HAVE_TMPNAM
  49. #define HAVE_CLOCK
  50. #define HAVE_STRERROR
  51. #endif
  52. #ifdef HAVE_IO_H
  53. #include <io.h>
  54. #endif
  55. #define HAVE_HYPOT
  56. #define HAVE_STRFTIME
  57. #define DONT_HAVE_SIG_ALARM
  58. #define DONT_HAVE_SIG_PAUSE
  59. #define LONG_BIT 32
  60. #define WORD_BIT 32
  61. #define PREFIX ""
  62. #define EXEC_PREFIX ""
  63. #define MS_WIN32 /* only support win32 and greater. */
  64. #define MS_WINDOWS
  65. #ifndef PYTHONPATH
  66. # define PYTHONPATH ".\\DLLs;.\\lib;.\\lib\\plat-win;.\\lib\\lib-tk"
  67. #endif
  68. #define NT_THREADS
  69. #define WITH_THREAD
  70. #ifndef NETSCAPE_PI
  71. #define USE_SOCKET
  72. #endif
  73. /* CE6 doesn't have strdup() but _strdup(). Assume the same for earlier versions. */
  74. #if defined(MS_WINCE)
  75. # include <stdlib.h>
  76. # define strdup _strdup
  77. #endif
  78. #ifdef MS_WINCE
  79. /* Windows CE does not support environment variables */
  80. #define getenv(v) (NULL)
  81. #define environ (NULL)
  82. #endif
  83. /* Compiler specific defines */
  84. /* ------------------------------------------------------------------------*/
  85. /* Microsoft C defines _MSC_VER */
  86. #ifdef _MSC_VER
  87. /* We want COMPILER to expand to a string containing _MSC_VER's *value*.
  88. * This is horridly tricky, because the stringization operator only works
  89. * on macro arguments, and doesn't evaluate macros passed *as* arguments.
  90. * Attempts simpler than the following appear doomed to produce "_MSC_VER"
  91. * literally in the string.
  92. */
  93. #define _Py_PASTE_VERSION(SUFFIX) \
  94. ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]")
  95. /* e.g., this produces, after compile-time string catenation,
  96. * ("[MSC v.1200 32 bit (Intel)]")
  97. *
  98. * _Py_STRINGIZE(_MSC_VER) expands to
  99. * _Py_STRINGIZE1((_MSC_VER)) expands to
  100. * _Py_STRINGIZE2(_MSC_VER) but as this call is the result of token-pasting
  101. * it's scanned again for macros and so further expands to (under MSVC 6)
  102. * _Py_STRINGIZE2(1200) which then expands to
  103. * "1200"
  104. */
  105. #define _Py_STRINGIZE(X) _Py_STRINGIZE1((X))
  106. #define _Py_STRINGIZE1(X) _Py_STRINGIZE2 ## X
  107. #define _Py_STRINGIZE2(X) #X
  108. /* MSVC defines _WINxx to differentiate the windows platform types
  109. Note that for compatibility reasons _WIN32 is defined on Win32
  110. *and* on Win64. For the same reasons, in Python, MS_WIN32 is
  111. defined on Win32 *and* Win64. Win32 only code must therefore be
  112. guarded as follows:
  113. #if defined(MS_WIN32) && !defined(MS_WIN64)
  114. Some modules are disabled on Itanium processors, therefore we
  115. have MS_WINI64 set for those targets, otherwise MS_WINX64
  116. */
  117. #ifdef _WIN64
  118. #define MS_WIN64
  119. #endif
  120. /* set the COMPILER */
  121. #ifdef MS_WIN64
  122. #if defined(_M_IA64)
  123. #define COMPILER _Py_PASTE_VERSION("64 bit (Itanium)")
  124. #define MS_WINI64
  125. #elif defined(_M_X64) || defined(_M_AMD64)
  126. #ifdef __INTEL_COMPILER
  127. #define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]")
  128. #else
  129. #define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)")
  130. #endif /* __INTEL_COMPILER */
  131. #define MS_WINX64
  132. #else
  133. #define COMPILER _Py_PASTE_VERSION("64 bit (Unknown)")
  134. #endif
  135. #endif /* MS_WIN64 */
  136. /* set the version macros for the windows headers */
  137. #ifdef MS_WINX64
  138. /* 64 bit only runs on XP or greater */
  139. #define Py_WINVER _WIN32_WINNT_WINXP
  140. #define Py_NTDDI NTDDI_WINXP
  141. #else
  142. /* Python 2.6+ requires Windows 2000 or greater */
  143. #ifdef _WIN32_WINNT_WIN2K
  144. #define Py_WINVER _WIN32_WINNT_WIN2K
  145. #else
  146. #define Py_WINVER 0x0500
  147. #endif
  148. #define Py_NTDDI NTDDI_WIN2KSP4
  149. #endif
  150. /* We only set these values when building Python - we don't want to force
  151. these values on extensions, as that will affect the prototypes and
  152. structures exposed in the Windows headers. Even when building Python, we
  153. allow a single source file to override this - they may need access to
  154. structures etc so it can optionally use new Windows features if it
  155. determines at runtime they are available.
  156. */
  157. #if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_MODULE)
  158. #ifndef NTDDI_VERSION
  159. #define NTDDI_VERSION Py_NTDDI
  160. #endif
  161. #ifndef WINVER
  162. #define WINVER Py_WINVER
  163. #endif
  164. #ifndef _WIN32_WINNT
  165. #define _WIN32_WINNT Py_WINVER
  166. #endif
  167. #endif
  168. /* _W64 is not defined for VC6 or eVC4 */
  169. #ifndef _W64
  170. #define _W64
  171. #endif
  172. /* Define like size_t, omitting the "unsigned" */
  173. #ifdef MS_WIN64
  174. typedef __int64 ssize_t;
  175. #else
  176. typedef _W64 int ssize_t;
  177. #endif
  178. #define HAVE_SSIZE_T 1
  179. #if defined(MS_WIN32) && !defined(MS_WIN64)
  180. #ifdef _M_IX86
  181. #ifdef __INTEL_COMPILER
  182. #define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]")
  183. #else
  184. #define COMPILER _Py_PASTE_VERSION("32 bit (Intel)")
  185. #endif /* __INTEL_COMPILER */
  186. #else
  187. #define COMPILER _Py_PASTE_VERSION("32 bit (Unknown)")
  188. #endif
  189. #endif /* MS_WIN32 && !MS_WIN64 */
  190. typedef int pid_t;
  191. #include <float.h>
  192. #define Py_IS_NAN _isnan
  193. #define Py_IS_INFINITY(X) (!_finite(X) && !_isnan(X))
  194. #define Py_IS_FINITE(X) _finite(X)
  195. #define copysign _copysign
  196. #endif /* _MSC_VER */
  197. /* define some ANSI types that are not defined in earlier Win headers */
  198. #if defined(_MSC_VER) && _MSC_VER >= 1200
  199. /* This file only exists in VC 6.0 or higher */
  200. #include <basetsd.h>
  201. #endif
  202. /* ------------------------------------------------------------------------*/
  203. /* The Borland compiler defines __BORLANDC__ */
  204. /* XXX These defines are likely incomplete, but should be easy to fix. */
  205. #ifdef __BORLANDC__
  206. #define COMPILER "[Borland]"
  207. #ifdef _WIN32
  208. /* tested with BCC 5.5 (__BORLANDC__ >= 0x0550)
  209. */
  210. typedef int pid_t;
  211. /* BCC55 seems to understand __declspec(dllimport), it is used in its
  212. own header files (winnt.h, ...) - so we can do nothing and get the default*/
  213. #undef HAVE_SYS_UTIME_H
  214. #define HAVE_UTIME_H
  215. #define HAVE_DIRENT_H
  216. /* rename a few functions for the Borland compiler */
  217. #include <io.h>
  218. #define _chsize chsize
  219. #define _setmode setmode
  220. #else /* !_WIN32 */
  221. #error "Only Win32 and later are supported"
  222. #endif /* !_WIN32 */
  223. #endif /* BORLANDC */
  224. /* ------------------------------------------------------------------------*/
  225. /* egcs/gnu-win32 defines __GNUC__ and _WIN32 */
  226. #if defined(__GNUC__) && defined(_WIN32)
  227. /* XXX These defines are likely incomplete, but should be easy to fix.
  228. They should be complete enough to build extension modules. */
  229. /* Suggested by Rene Liebscher <R.Liebscher@gmx.de> to avoid a GCC 2.91.*
  230. bug that requires structure imports. More recent versions of the
  231. compiler don't exhibit this bug.
  232. */
  233. #if (__GNUC__==2) && (__GNUC_MINOR__<=91)
  234. #warning "Please use an up-to-date version of gcc! (>2.91 recommended)"
  235. #endif
  236. #define COMPILER "[gcc]"
  237. #define PY_LONG_LONG long long
  238. #define PY_LLONG_MIN LLONG_MIN
  239. #define PY_LLONG_MAX LLONG_MAX
  240. #define PY_ULLONG_MAX ULLONG_MAX
  241. #endif /* GNUC */
  242. /* ------------------------------------------------------------------------*/
  243. /* lcc-win32 defines __LCC__ */
  244. #if defined(__LCC__)
  245. /* XXX These defines are likely incomplete, but should be easy to fix.
  246. They should be complete enough to build extension modules. */
  247. #define COMPILER "[lcc-win32]"
  248. typedef int pid_t;
  249. /* __declspec() is supported here too - do nothing to get the defaults */
  250. #endif /* LCC */
  251. /* ------------------------------------------------------------------------*/
  252. /* End of compilers - finish up */
  253. #ifndef NO_STDIO_H
  254. # include <stdio.h>
  255. #endif
  256. /* 64 bit ints are usually spelt __int64 unless compiler has overridden */
  257. #define HAVE_LONG_LONG 1
  258. #ifndef PY_LONG_LONG
  259. # define PY_LONG_LONG __int64
  260. # define PY_LLONG_MAX _I64_MAX
  261. # define PY_LLONG_MIN _I64_MIN
  262. # define PY_ULLONG_MAX _UI64_MAX
  263. #endif
  264. /* For Windows the Python core is in a DLL by default. Test
  265. Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
  266. #if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED)
  267. # define Py_ENABLE_SHARED 1 /* standard symbol for shared library */
  268. # define MS_COREDLL /* deprecated old symbol */
  269. #endif /* !MS_NO_COREDLL && ... */
  270. /* All windows compilers that use this header support __declspec */
  271. #define HAVE_DECLSPEC_DLL
  272. /* For an MSVC DLL, we can nominate the .lib files used by extensions */
  273. #ifdef MS_COREDLL
  274. # ifndef Py_BUILD_CORE /* not building the core - must be an ext */
  275. # if defined(_MSC_VER)
  276. /* So MSVC users need not specify the .lib file in
  277. their Makefile (other compilers are generally
  278. taken care of by distutils.) */
  279. # ifdef _DEBUG
  280. # pragma comment(lib,"python27_d.lib")
  281. # else
  282. # pragma comment(lib,"python27.lib")
  283. # endif /* _DEBUG */
  284. # endif /* _MSC_VER */
  285. # endif /* Py_BUILD_CORE */
  286. #endif /* MS_COREDLL */
  287. #if defined(MS_WIN64)
  288. /* maintain "win32" sys.platform for backward compatibility of Python code,
  289. the Win64 API should be close enough to the Win32 API to make this
  290. preferable */
  291. # define PLATFORM "win32"
  292. # define SIZEOF_VOID_P 8
  293. # define SIZEOF_TIME_T 8
  294. # define SIZEOF_OFF_T 4
  295. # define SIZEOF_FPOS_T 8
  296. # define SIZEOF_HKEY 8
  297. # define SIZEOF_SIZE_T 8
  298. /* configure.ac defines HAVE_LARGEFILE_SUPPORT iff HAVE_LONG_LONG,
  299. sizeof(off_t) > sizeof(long), and sizeof(PY_LONG_LONG) >= sizeof(off_t).
  300. On Win64 the second condition is not true, but if fpos_t replaces off_t
  301. then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64
  302. should define this. */
  303. # define HAVE_LARGEFILE_SUPPORT
  304. #elif defined(MS_WIN32)
  305. # define PLATFORM "win32"
  306. # define HAVE_LARGEFILE_SUPPORT
  307. # define SIZEOF_VOID_P 4
  308. # define SIZEOF_OFF_T 4
  309. # define SIZEOF_FPOS_T 8
  310. # define SIZEOF_HKEY 4
  311. # define SIZEOF_SIZE_T 4
  312. /* MS VS2005 changes time_t to a 64-bit type on all platforms */
  313. # if defined(_MSC_VER) && _MSC_VER >= 1400
  314. # define SIZEOF_TIME_T 8
  315. # else
  316. # define SIZEOF_TIME_T 4
  317. # endif
  318. #endif
  319. #ifdef _DEBUG
  320. # define Py_DEBUG
  321. #endif
  322. #ifdef MS_WIN32
  323. #define SIZEOF_SHORT 2
  324. #define SIZEOF_INT 4
  325. #define SIZEOF_LONG 4
  326. #define SIZEOF_LONG_LONG 8
  327. #define SIZEOF_DOUBLE 8
  328. #define SIZEOF_FLOAT 4
  329. /* VC 7.1 has them and VC 6.0 does not. VC 6.0 has a version number of 1200.
  330. Microsoft eMbedded Visual C++ 4.0 has a version number of 1201 and doesn't
  331. define these.
  332. If some compiler does not provide them, modify the #if appropriately. */
  333. #if defined(_MSC_VER)
  334. #if _MSC_VER > 1300
  335. #define HAVE_UINTPTR_T 1
  336. #define HAVE_INTPTR_T 1
  337. #else
  338. /* VC6, VS 2002 and eVC4 don't support the C99 LL suffix for 64-bit integer literals */
  339. #define Py_LL(x) x##I64
  340. #endif /* _MSC_VER > 1200 */
  341. #endif /* _MSC_VER */
  342. #endif
  343. /* define signed and unsigned exact-width 32-bit and 64-bit types, used in the
  344. implementation of Python long integers. */
  345. #ifndef PY_UINT32_T
  346. #if SIZEOF_INT == 4
  347. #define HAVE_UINT32_T 1
  348. #define PY_UINT32_T unsigned int
  349. #elif SIZEOF_LONG == 4
  350. #define HAVE_UINT32_T 1
  351. #define PY_UINT32_T unsigned long
  352. #endif
  353. #endif
  354. #ifndef PY_UINT64_T
  355. #if SIZEOF_LONG_LONG == 8
  356. #define HAVE_UINT64_T 1
  357. #define PY_UINT64_T unsigned PY_LONG_LONG
  358. #endif
  359. #endif
  360. #ifndef PY_INT32_T
  361. #if SIZEOF_INT == 4
  362. #define HAVE_INT32_T 1
  363. #define PY_INT32_T int
  364. #elif SIZEOF_LONG == 4
  365. #define HAVE_INT32_T 1
  366. #define PY_INT32_T long
  367. #endif
  368. #endif
  369. #ifndef PY_INT64_T
  370. #if SIZEOF_LONG_LONG == 8
  371. #define HAVE_INT64_T 1
  372. #define PY_INT64_T PY_LONG_LONG
  373. #endif
  374. #endif
  375. /* Fairly standard from here! */
  376. /* Define to 1 if you have the `copysign' function. */
  377. #define HAVE_COPYSIGN 1
  378. /* Define to 1 if you have the `round' function. */
  379. #if _MSC_VER >= 1800
  380. #define HAVE_ROUND 1
  381. #endif
  382. /* Define to 1 if you have the `isinf' macro. */
  383. #define HAVE_DECL_ISINF 1
  384. /* Define to 1 if you have the `isnan' function. */
  385. #define HAVE_DECL_ISNAN 1
  386. /* Define if on AIX 3.
  387. System headers sometimes define this.
  388. We just want to avoid a redefinition error message. */
  389. #ifndef _ALL_SOURCE
  390. /* #undef _ALL_SOURCE */
  391. #endif
  392. /* Define to empty if the keyword does not work. */
  393. /* #define const */
  394. /* Define to 1 if you have the <conio.h> header file. */
  395. #ifndef MS_WINCE
  396. #define HAVE_CONIO_H 1
  397. #endif
  398. /* Define to 1 if you have the <direct.h> header file. */
  399. #ifndef MS_WINCE
  400. #define HAVE_DIRECT_H 1
  401. #endif
  402. /* Define if you have dirent.h. */
  403. /* #define DIRENT 1 */
  404. /* Define to the type of elements in the array set by `getgroups'.
  405. Usually this is either `int' or `gid_t'. */
  406. /* #undef GETGROUPS_T */
  407. /* Define to `int' if <sys/types.h> doesn't define. */
  408. /* #undef gid_t */
  409. /* Define if your struct tm has tm_zone. */
  410. /* #undef HAVE_TM_ZONE */
  411. /* Define if you don't have tm_zone but do have the external array
  412. tzname. */
  413. #define HAVE_TZNAME
  414. /* Define to `int' if <sys/types.h> doesn't define. */
  415. /* #undef mode_t */
  416. /* Define if you don't have dirent.h, but have ndir.h. */
  417. /* #undef NDIR */
  418. /* Define to `long' if <sys/types.h> doesn't define. */
  419. /* #undef off_t */
  420. /* Define to `int' if <sys/types.h> doesn't define. */
  421. /* #undef pid_t */
  422. /* Define if the system does not provide POSIX.1 features except
  423. with this defined. */
  424. /* #undef _POSIX_1_SOURCE */
  425. /* Define if you need to in order for stat and other things to work. */
  426. /* #undef _POSIX_SOURCE */
  427. /* Define as the return type of signal handlers (int or void). */
  428. #define RETSIGTYPE void
  429. /* Define to `unsigned' if <sys/types.h> doesn't define. */
  430. /* #undef size_t */
  431. /* Define if you have the ANSI C header files. */
  432. #define STDC_HEADERS 1
  433. /* Define if you don't have dirent.h, but have sys/dir.h. */
  434. /* #undef SYSDIR */
  435. /* Define if you don't have dirent.h, but have sys/ndir.h. */
  436. /* #undef SYSNDIR */
  437. /* Define if you can safely include both <sys/time.h> and <time.h>. */
  438. /* #undef TIME_WITH_SYS_TIME */
  439. /* Define if your <sys/time.h> declares struct tm. */
  440. /* #define TM_IN_SYS_TIME 1 */
  441. /* Define to `int' if <sys/types.h> doesn't define. */
  442. /* #undef uid_t */
  443. /* Define if the closedir function returns void instead of int. */
  444. /* #undef VOID_CLOSEDIR */
  445. /* Define if getpgrp() must be called as getpgrp(0)
  446. and (consequently) setpgrp() as setpgrp(0, 0). */
  447. /* #undef GETPGRP_HAVE_ARGS */
  448. /* Define this if your time.h defines altzone */
  449. /* #define HAVE_ALTZONE */
  450. /* Define if you have the putenv function. */
  451. #ifndef MS_WINCE
  452. #define HAVE_PUTENV
  453. #endif
  454. /* Define if your compiler supports function prototypes */
  455. #define HAVE_PROTOTYPES
  456. /* Define if you can safely include both <sys/select.h> and <sys/time.h>
  457. (which you can't on SCO ODT 3.0). */
  458. /* #undef SYS_SELECT_WITH_SYS_TIME */
  459. /* Define if you want documentation strings in extension modules */
  460. #define WITH_DOC_STRINGS 1
  461. /* Define if you want to compile in rudimentary thread support */
  462. /* #undef WITH_THREAD */
  463. /* Define if you want to use the GNU readline library */
  464. /* #define WITH_READLINE 1 */
  465. /* Define if you want to have a Unicode type. */
  466. #define Py_USING_UNICODE
  467. /* Define as the size of the unicode type. */
  468. /* This is enough for unicodeobject.h to do the "right thing" on Windows. */
  469. #define Py_UNICODE_SIZE 2
  470. /* Use Python's own small-block memory-allocator. */
  471. #define WITH_PYMALLOC 1
  472. /* Define if you have clock. */
  473. /* #define HAVE_CLOCK */
  474. /* Define when any dynamic module loading is enabled */
  475. #define HAVE_DYNAMIC_LOADING
  476. /* Define if you have ftime. */
  477. #ifndef MS_WINCE
  478. #define HAVE_FTIME
  479. #endif
  480. /* Define if you have getpeername. */
  481. #define HAVE_GETPEERNAME
  482. /* Define if you have getpgrp. */
  483. /* #undef HAVE_GETPGRP */
  484. /* Define if you have getpid. */
  485. #ifndef MS_WINCE
  486. #define HAVE_GETPID
  487. #endif
  488. /* Define if you have gettimeofday. */
  489. /* #undef HAVE_GETTIMEOFDAY */
  490. /* Define if you have getwd. */
  491. /* #undef HAVE_GETWD */
  492. /* Define if you have lstat. */
  493. /* #undef HAVE_LSTAT */
  494. /* Define if you have the mktime function. */
  495. #define HAVE_MKTIME
  496. /* Define if you have nice. */
  497. /* #undef HAVE_NICE */
  498. /* Define if you have readlink. */
  499. /* #undef HAVE_READLINK */
  500. /* Define if you have select. */
  501. /* #undef HAVE_SELECT */
  502. /* Define if you have setpgid. */
  503. /* #undef HAVE_SETPGID */
  504. /* Define if you have setpgrp. */
  505. /* #undef HAVE_SETPGRP */
  506. /* Define if you have setsid. */
  507. /* #undef HAVE_SETSID */
  508. /* Define if you have setvbuf. */
  509. #define HAVE_SETVBUF
  510. /* Define if you have siginterrupt. */
  511. /* #undef HAVE_SIGINTERRUPT */
  512. /* Define if you have symlink. */
  513. /* #undef HAVE_SYMLINK */
  514. /* Define if you have tcgetpgrp. */
  515. /* #undef HAVE_TCGETPGRP */
  516. /* Define if you have tcsetpgrp. */
  517. /* #undef HAVE_TCSETPGRP */
  518. /* Define if you have times. */
  519. /* #undef HAVE_TIMES */
  520. /* Define if you have uname. */
  521. /* #undef HAVE_UNAME */
  522. /* Define if you have waitpid. */
  523. /* #undef HAVE_WAITPID */
  524. /* Define to 1 if you have the `wcscoll' function. */
  525. #ifndef MS_WINCE
  526. #define HAVE_WCSCOLL 1
  527. #endif
  528. /* Define if the zlib library has inflateCopy */
  529. #define HAVE_ZLIB_COPY 1
  530. /* Define if you have the <dlfcn.h> header file. */
  531. /* #undef HAVE_DLFCN_H */
  532. /* Define to 1 if you have the <errno.h> header file. */
  533. #ifndef MS_WINCE
  534. #define HAVE_ERRNO_H 1
  535. #endif
  536. /* Define if you have the <fcntl.h> header file. */
  537. #ifndef MS_WINCE
  538. #define HAVE_FCNTL_H 1
  539. #endif
  540. /* Define to 1 if you have the <process.h> header file. */
  541. #ifndef MS_WINCE
  542. #define HAVE_PROCESS_H 1
  543. #endif
  544. /* Define to 1 if you have the <signal.h> header file. */
  545. #ifndef MS_WINCE
  546. #define HAVE_SIGNAL_H 1
  547. #endif
  548. /* Define if you have the <stdarg.h> prototypes. */
  549. #define HAVE_STDARG_PROTOTYPES
  550. /* Define if you have the <stddef.h> header file. */
  551. #define HAVE_STDDEF_H 1
  552. /* Define if you have the <sys/audioio.h> header file. */
  553. /* #undef HAVE_SYS_AUDIOIO_H */
  554. /* Define if you have the <sys/param.h> header file. */
  555. /* #define HAVE_SYS_PARAM_H 1 */
  556. /* Define if you have the <sys/select.h> header file. */
  557. /* #define HAVE_SYS_SELECT_H 1 */
  558. /* Define to 1 if you have the <sys/stat.h> header file. */
  559. #ifndef MS_WINCE
  560. #define HAVE_SYS_STAT_H 1
  561. #endif
  562. /* Define if you have the <sys/time.h> header file. */
  563. /* #define HAVE_SYS_TIME_H 1 */
  564. /* Define if you have the <sys/times.h> header file. */
  565. /* #define HAVE_SYS_TIMES_H 1 */
  566. /* Define to 1 if you have the <sys/types.h> header file. */
  567. #ifndef MS_WINCE
  568. #define HAVE_SYS_TYPES_H 1
  569. #endif
  570. /* Define if you have the <sys/un.h> header file. */
  571. /* #define HAVE_SYS_UN_H 1 */
  572. /* Define if you have the <sys/utime.h> header file. */
  573. /* #define HAVE_SYS_UTIME_H 1 */
  574. /* Define if you have the <sys/utsname.h> header file. */
  575. /* #define HAVE_SYS_UTSNAME_H 1 */
  576. /* Define if you have the <thread.h> header file. */
  577. /* #undef HAVE_THREAD_H */
  578. /* Define if you have the <unistd.h> header file. */
  579. /* #define HAVE_UNISTD_H 1 */
  580. /* Define if you have the <utime.h> header file. */
  581. /* #define HAVE_UTIME_H 1 */
  582. /* Define if the compiler provides a wchar.h header file. */
  583. #define HAVE_WCHAR_H 1
  584. /* Define if you have the dl library (-ldl). */
  585. /* #undef HAVE_LIBDL */
  586. /* Define if you have the mpc library (-lmpc). */
  587. /* #undef HAVE_LIBMPC */
  588. /* Define if you have the nsl library (-lnsl). */
  589. #define HAVE_LIBNSL 1
  590. /* Define if you have the seq library (-lseq). */
  591. /* #undef HAVE_LIBSEQ */
  592. /* Define if you have the socket library (-lsocket). */
  593. #define HAVE_LIBSOCKET 1
  594. /* Define if you have the sun library (-lsun). */
  595. /* #undef HAVE_LIBSUN */
  596. /* Define if you have the termcap library (-ltermcap). */
  597. /* #undef HAVE_LIBTERMCAP */
  598. /* Define if you have the termlib library (-ltermlib). */
  599. /* #undef HAVE_LIBTERMLIB */
  600. /* Define if you have the thread library (-lthread). */
  601. /* #undef HAVE_LIBTHREAD */
  602. /* WinSock does not use a bitmask in select, and uses
  603. socket handles greater than FD_SETSIZE */
  604. #define Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE
  605. /* Define if C doubles are 64-bit IEEE 754 binary format, stored with the
  606. least significant byte first */
  607. #define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
  608. #endif /* !Py_CONFIG_H */