mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 15a80b15af
			
		
	
	
		15a80b15af
		
			
		
	
	
	
	
		
			
			* gh-110820: Make sure processor specific defines are correct for Universal 2 build on macOS A number of processor specific defines are different for x86-64 and arm64, and need to be adjusted in pymacconfig.h. * remove debug stuf
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // This file moves some of the autoconf magic to compile-time when building on
 | |
| // macOS. This is needed for building 4-way universal binaries and for 64-bit
 | |
| // universal binaries because the values redefined below aren't configure-time
 | |
| // constant but only compile-time constant in these scenarios.
 | |
| 
 | |
| #ifndef PY_MACCONFIG_H
 | |
| #define PY_MACCONFIG_H
 | |
| #ifdef __APPLE__
 | |
| 
 | |
| #undef ALIGNOF_MAX_ALIGN_T
 | |
| #undef SIZEOF_LONG
 | |
| #undef SIZEOF_LONG_DOUBLE
 | |
| #undef SIZEOF_PTHREAD_T
 | |
| #undef SIZEOF_SIZE_T
 | |
| #undef SIZEOF_TIME_T
 | |
| #undef SIZEOF_VOID_P
 | |
| #undef SIZEOF__BOOL
 | |
| #undef SIZEOF_UINTPTR_T
 | |
| #undef SIZEOF_PTHREAD_T
 | |
| #undef WORDS_BIGENDIAN
 | |
| #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754
 | |
| #undef DOUBLE_IS_BIG_ENDIAN_IEEE754
 | |
| #undef DOUBLE_IS_LITTLE_ENDIAN_IEEE754
 | |
| #undef HAVE_GCC_ASM_FOR_X87
 | |
| #undef HAVE_GCC_ASM_FOR_X64
 | |
| 
 | |
| #undef VA_LIST_IS_ARRAY
 | |
| #if defined(__LP64__) && defined(__x86_64__)
 | |
| #  define VA_LIST_IS_ARRAY 1
 | |
| #endif
 | |
| 
 | |
| #undef HAVE_LARGEFILE_SUPPORT
 | |
| #ifndef __LP64__
 | |
| #   define HAVE_LARGEFILE_SUPPORT 1
 | |
| #endif
 | |
| 
 | |
| #undef SIZEOF_LONG
 | |
| #ifdef __LP64__
 | |
| #  define SIZEOF__BOOL            1
 | |
| #  define SIZEOF__BOOL            1
 | |
| #  define SIZEOF_LONG             8
 | |
| #  define SIZEOF_PTHREAD_T        8
 | |
| #  define SIZEOF_SIZE_T           8
 | |
| #  define SIZEOF_TIME_T           8
 | |
| #  define SIZEOF_VOID_P           8
 | |
| #  define SIZEOF_UINTPTR_T        8
 | |
| #  define SIZEOF_PTHREAD_T        8
 | |
| #else
 | |
| #  ifdef __ppc__
 | |
| #     define SIZEOF__BOOL         4
 | |
| #  else
 | |
| #     define SIZEOF__BOOL         1
 | |
| #  endif
 | |
| #  define SIZEOF_LONG             4
 | |
| #  define SIZEOF_PTHREAD_T        4
 | |
| #  define SIZEOF_SIZE_T           4
 | |
| #  define SIZEOF_TIME_T           4
 | |
| #  define SIZEOF_VOID_P           4
 | |
| #  define SIZEOF_UINTPTR_T        4
 | |
| #  define SIZEOF_PTHREAD_T        4
 | |
| #endif
 | |
| 
 | |
| // macOS 10.4 (the first release to support 64-bit code
 | |
| // at all) only supports 64-bit in the UNIX layer.
 | |
| // Therefore suppress the toolbox-glue in 64-bit mode.
 | |
| //
 | |
| // In 64-bit mode setpgrp always has no arguments, in 32-bit
 | |
| // mode that depends on the compilation environment
 | |
| #if defined(__LP64__)
 | |
| #   undef SETPGRP_HAVE_ARG
 | |
| #endif
 | |
| 
 | |
| #ifdef __BIG_ENDIAN__
 | |
| #  define WORDS_BIGENDIAN 1
 | |
| #  define DOUBLE_IS_BIG_ENDIAN_IEEE754
 | |
| #else
 | |
| #  define DOUBLE_IS_LITTLE_ENDIAN_IEEE754
 | |
| #endif
 | |
| 
 | |
| #if defined(__i386__) || defined(__x86_64__)
 | |
| #  define HAVE_GCC_ASM_FOR_X87
 | |
| #  define ALIGNOF_MAX_ALIGN_T 16
 | |
| #  define HAVE_GCC_ASM_FOR_X64 1
 | |
| #  define SIZEOF_LONG_DOUBLE 16
 | |
| #else
 | |
| #  define ALIGNOF_MAX_ALIGN_T 8
 | |
| #  define SIZEOF_LONG_DOUBLE 8
 | |
| #endif
 | |
| 
 | |
| #endif   // __APPLE__
 | |
| #endif   // !PY_MACCONFIG_H
 |