pymacconfig.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef PYMACCONFIG_H
  2. #define PYMACCONFIG_H
  3. /*
  4. * This file moves some of the autoconf magic to compile-time
  5. * when building on MacOSX. This is needed for building 4-way
  6. * universal binaries and for 64-bit universal binaries because
  7. * the values redefined below aren't configure-time constant but
  8. * only compile-time constant in these scenarios.
  9. */
  10. #if defined(__APPLE__)
  11. # undef SIZEOF_LONG
  12. # undef SIZEOF_PTHREAD_T
  13. # undef SIZEOF_SIZE_T
  14. # undef SIZEOF_TIME_T
  15. # undef SIZEOF_VOID_P
  16. # undef SIZEOF__BOOL
  17. # undef SIZEOF_UINTPTR_T
  18. # undef SIZEOF_PTHREAD_T
  19. # undef WORDS_BIGENDIAN
  20. # undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754
  21. # undef DOUBLE_IS_BIG_ENDIAN_IEEE754
  22. # undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754
  23. # undef HAVE_GCC_ASM_FOR_X87
  24. # undef VA_LIST_IS_ARRAY
  25. # if defined(__LP64__) && defined(__x86_64__)
  26. # define VA_LIST_IS_ARRAY 1
  27. # endif
  28. # undef HAVE_LARGEFILE_SUPPORT
  29. # ifndef __LP64__
  30. # define HAVE_LARGEFILE_SUPPORT 1
  31. # endif
  32. # undef SIZEOF_LONG
  33. # ifdef __LP64__
  34. # define SIZEOF__BOOL 1
  35. # define SIZEOF__BOOL 1
  36. # define SIZEOF_LONG 8
  37. # define SIZEOF_PTHREAD_T 8
  38. # define SIZEOF_SIZE_T 8
  39. # define SIZEOF_TIME_T 8
  40. # define SIZEOF_VOID_P 8
  41. # define SIZEOF_UINTPTR_T 8
  42. # define SIZEOF_PTHREAD_T 8
  43. # else
  44. # ifdef __ppc__
  45. # define SIZEOF__BOOL 4
  46. # else
  47. # define SIZEOF__BOOL 1
  48. # endif
  49. # define SIZEOF_LONG 4
  50. # define SIZEOF_PTHREAD_T 4
  51. # define SIZEOF_SIZE_T 4
  52. # define SIZEOF_TIME_T 4
  53. # define SIZEOF_VOID_P 4
  54. # define SIZEOF_UINTPTR_T 4
  55. # define SIZEOF_PTHREAD_T 4
  56. # endif
  57. # if defined(__LP64__)
  58. /* MacOSX 10.4 (the first release to support 64-bit code
  59. * at all) only supports 64-bit in the UNIX layer.
  60. * Therefore suppress the toolbox-glue in 64-bit mode.
  61. */
  62. /* In 64-bit mode setpgrp always has no arguments, in 32-bit
  63. * mode that depends on the compilation environment
  64. */
  65. # undef SETPGRP_HAVE_ARG
  66. # endif
  67. #ifdef __BIG_ENDIAN__
  68. #define WORDS_BIGENDIAN 1
  69. #define DOUBLE_IS_BIG_ENDIAN_IEEE754
  70. #else
  71. #define DOUBLE_IS_LITTLE_ENDIAN_IEEE754
  72. #endif /* __BIG_ENDIAN */
  73. #ifdef __i386__
  74. # define HAVE_GCC_ASM_FOR_X87
  75. #endif
  76. #endif /* defined(_APPLE__) */
  77. #endif /* PYMACCONFIG_H */