File: /Users/paulross/dev/Python-3.6.2/Include/pymacconfig.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       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: 
      11: #if defined(__APPLE__)
      12: 
      13: # undef SIZEOF_LONG
      14: # undef SIZEOF_PTHREAD_T
      15: # undef SIZEOF_SIZE_T
      16: # undef SIZEOF_TIME_T
      17: # undef SIZEOF_VOID_P
      18: # undef SIZEOF__BOOL
      19: # undef SIZEOF_UINTPTR_T
      20: # undef SIZEOF_PTHREAD_T
      21: # undef WORDS_BIGENDIAN
      22: # undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754
      23: # undef DOUBLE_IS_BIG_ENDIAN_IEEE754
      24: # undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754
      25: # undef HAVE_GCC_ASM_FOR_X87
      26: 
      27: #    undef VA_LIST_IS_ARRAY
      28: #    if defined(__LP64__) && defined(__x86_64__)
      29: #        define VA_LIST_IS_ARRAY 1
      30: #    endif
      31: 
      32: #    undef HAVE_LARGEFILE_SUPPORT
      33: #    ifndef __LP64__
      34: #         define HAVE_LARGEFILE_SUPPORT 1
      35: #    endif
      36: 
      37: #    undef SIZEOF_LONG
      38: #    ifdef __LP64__
      39: #        define SIZEOF__BOOL            1
      40: #        define SIZEOF__BOOL            1
      41: #        define SIZEOF_LONG             8
      42: #        define SIZEOF_PTHREAD_T        8
      43: #        define SIZEOF_SIZE_T           8
      44: #        define SIZEOF_TIME_T           8
      45: #        define SIZEOF_VOID_P           8
      46: #        define SIZEOF_UINTPTR_T        8
      47: #        define SIZEOF_PTHREAD_T        8
      48: #    else
      49: #        ifdef __ppc__
      50: #           define SIZEOF__BOOL         4
      51: #        else
      52: #           define SIZEOF__BOOL         1
      53: #        endif
      54: #        define SIZEOF_LONG             4
      55: #        define SIZEOF_PTHREAD_T        4
      56: #        define SIZEOF_SIZE_T           4
      57: #        define SIZEOF_TIME_T           4
      58: #        define SIZEOF_VOID_P           4
      59: #        define SIZEOF_UINTPTR_T        4
      60: #        define SIZEOF_PTHREAD_T        4
      61: #    endif
      62: 
      63: #    if defined(__LP64__)
      64:      /* MacOSX 10.4 (the first release to support 64-bit code
      65:       * at all) only supports 64-bit in the UNIX layer.
      66:       * Therefore suppress the toolbox-glue in 64-bit mode.
      67:       */
      68: 
      69:     /* In 64-bit mode setpgrp always has no arguments, in 32-bit
      70:      * mode that depends on the compilation environment
      71:      */
      72: #       undef SETPGRP_HAVE_ARG
      73: 
      74: #    endif
      75: 
      76: #ifdef __BIG_ENDIAN__
      77: #define WORDS_BIGENDIAN 1
      78: #define DOUBLE_IS_BIG_ENDIAN_IEEE754
      79: #else
      80: #define DOUBLE_IS_LITTLE_ENDIAN_IEEE754
      81: #endif /* __BIG_ENDIAN */
      82: 
      83: #ifdef __i386__
      84: # define HAVE_GCC_ASM_FOR_X87
      85: #endif
      86: 
      87:     /*
      88:      * The definition in pyconfig.h is only valid on the OS release
      89:      * where configure ran on and not necessarily for all systems where
      90:      * the executable can be used on.
      91:      *
      92:      * Specifically: OSX 10.4 has limited supported for '%zd', while
      93:      * 10.5 has full support for '%zd'. A binary built on 10.5 won't
      94:      * work properly on 10.4 unless we suppress the definition
      95:      * of PY_FORMAT_SIZE_T
      96:      */
      97: #undef  PY_FORMAT_SIZE_T
      98: 
      99: 
     100: #endif /* defined(_APPLE__) */
     101: 
     102: #endif /* PYMACCONFIG_H */
     103: