blob: 615abe103ca0388c7ce67f142676d64bb8ef1697 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
// 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
|