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.
11 #if defined(__APPLE__)
14 # undef SIZEOF_PTHREAD_T
19 # undef WORDS_BIGENDIAN
21 # undef VA_LIST_IS_ARRAY
22 # if defined(__LP64__) && defined(__x86_64__)
23 # define VA_LIST_IS_ARRAY 1
26 # undef HAVE_LARGEFILE_SUPPORT
28 # define HAVE_LARGEFILE_SUPPORT 1
33 # define SIZEOF__BOOL 1
34 # define SIZEOF__BOOL 1
35 # define SIZEOF_LONG 8
36 # define SIZEOF_PTHREAD_T 8
37 # define SIZEOF_SIZE_T 8
38 # define SIZEOF_TIME_T 8
39 # define SIZEOF_VOID_P 8
42 # define SIZEOF__BOOL 4
44 # define SIZEOF__BOOL 1
46 # define SIZEOF_LONG 4
47 # define SIZEOF_PTHREAD_T 4
48 # define SIZEOF_SIZE_T 4
49 # define SIZEOF_TIME_T 4
50 # define SIZEOF_VOID_P 4
53 # if defined(__LP64__)
54 /* MacOSX 10.4 (the first release to suppport 64-bit code
55 * at all) only supports 64-bit in the UNIX layer.
56 * Therefore surpress the toolbox-glue in 64-bit mode.
59 /* In 64-bit mode setpgrp always has no argments, in 32-bit
60 * mode that depends on the compilation environment
62 # undef SETPGRP_HAVE_ARG
67 #define WORDS_BIGENDIAN 1
68 #endif /* __BIG_ENDIAN */
71 * The definition in pyconfig.h is only valid on the OS release
72 * where configure ran on and not necessarily for all systems where
73 * the executable can be used on.
75 * Specifically: OSX 10.4 has limited supported for '%zd', while
76 * 10.5 has full support for '%zd'. A binary built on 10.5 won't
77 * work properly on 10.4 unless we surpress the definition
80 #undef PY_FORMAT_SIZE_T
83 #endif /* defined(_APPLE__) */
85 #endif /* PYMACCONFIG_H */