source: python/trunk/Include/pymacconfig.h@ 383

Last change on this file since 383 was 2, checked in by Yuri Dario, 15 years ago

Initial import for vendor code.

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
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 WORDS_BIGENDIAN
20
21# undef VA_LIST_IS_ARRAY
22# if defined(__LP64__) && defined(__x86_64__)
23# define VA_LIST_IS_ARRAY 1
24# endif
25
26# undef HAVE_LARGEFILE_SUPPORT
27# ifndef __LP64__
28# define HAVE_LARGEFILE_SUPPORT 1
29# endif
30
31# undef SIZEOF_LONG
32# ifdef __LP64__
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
40# else
41# ifdef __ppc__
42# define SIZEOF__BOOL 4
43# else
44# define SIZEOF__BOOL 1
45# endif
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
51# endif
52
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.
57 */
58
59 /* In 64-bit mode setpgrp always has no argments, in 32-bit
60 * mode that depends on the compilation environment
61 */
62# undef SETPGRP_HAVE_ARG
63
64# endif
65
66#ifdef __BIG_ENDIAN__
67#define WORDS_BIGENDIAN 1
68#endif /* __BIG_ENDIAN */
69
70 /*
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.
74 *
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
78 * of PY_FORMAT_SIZE_T
79 */
80#undef PY_FORMAT_SIZE_T
81
82
83#endif /* defined(_APPLE__) */
84
85#endif /* PYMACCONFIG_H */
Note: See TracBrowser for help on using the repository browser.