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