Add better error reporting for MemoryErrors caused by str->float conversions.
[python.git] / Include / pymacconfig.h
blob813a617cab17292efda4d30636e0b343de811a51
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 */
11 #if defined(__APPLE__)
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
27 # undef VA_LIST_IS_ARRAY
28 # if defined(__LP64__) && defined(__x86_64__)
29 # define VA_LIST_IS_ARRAY 1
30 # endif
32 # undef HAVE_LARGEFILE_SUPPORT
33 # ifndef __LP64__
34 # define HAVE_LARGEFILE_SUPPORT 1
35 # endif
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
63 # if defined(__LP64__)
64 /* MacOSX 10.4 (the first release to suppport 64-bit code
65 * at all) only supports 64-bit in the UNIX layer.
66 * Therefore surpress the toolbox-glue in 64-bit mode.
69 /* In 64-bit mode setpgrp always has no argments, in 32-bit
70 * mode that depends on the compilation environment
72 # undef SETPGRP_HAVE_ARG
74 # endif
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 */
83 #ifdef __i386__
84 # define HAVE_GCC_ASM_FOR_X87
85 #endif
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.
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 surpress the definition
95 * of PY_FORMAT_SIZE_T
97 #undef PY_FORMAT_SIZE_T
100 #endif /* defined(_APPLE__) */
102 #endif /* PYMACCONFIG_H */