1/*	Manually created fficonfig.h for Darwin on PowerPC or Intel
2
3	This file is manually generated to do away with the need for autoconf and
4	therefore make it easier to cross-compile and build fat binaries.
5
6	NOTE: This file was added by PyObjC.
7*/
8
9#if defined(__APPLE__) && defined(__MACH__) && !defined(MACOSX)
10	#define MACOSX
11#endif
12
13#ifndef MACOSX
14#error "This file is only supported on Mac OS X"
15#endif
16
17#if defined(__i386__)
18#	define	BYTEORDER 1234
19#	undef	HOST_WORDS_BIG_ENDIAN
20#	undef	WORDS_BIGENDIAN
21#	define	SIZEOF_DOUBLE 8
22#	define	HAVE_LONG_DOUBLE 1
23#	define	SIZEOF_LONG_DOUBLE 16
24
25#elif defined(__x86_64__)
26#	define	BYTEORDER 1234
27#	undef	HOST_WORDS_BIG_ENDIAN
28#	undef	WORDS_BIGENDIAN
29#	define	SIZEOF_DOUBLE 8
30#	define	HAVE_LONG_DOUBLE 1
31#	define	SIZEOF_LONG_DOUBLE 16
32
33#elif defined(__ppc__)
34#	define	BYTEORDER 4321
35#	define	HOST_WORDS_BIG_ENDIAN 1
36#	define	WORDS_BIGENDIAN 1
37#	define	SIZEOF_DOUBLE 8
38#	if __GNUC__ >= 4
39#		define	HAVE_LONG_DOUBLE 1
40#		define	SIZEOF_LONG_DOUBLE 16
41#	else
42#		undef	HAVE_LONG_DOUBLE
43#		define	SIZEOF_LONG_DOUBLE 8
44#	endif
45
46#elif defined(__ppc64__)
47#	define	BYTEORDER 4321
48#	define	HOST_WORDS_BIG_ENDIAN 1
49#	define	WORDS_BIGENDIAN 1
50#	define	SIZEOF_DOUBLE 8
51#	define	HAVE_LONG_DOUBLE 1
52#	define	SIZEOF_LONG_DOUBLE 16
53
54#else
55#error "Unknown CPU type"
56#endif
57
58/*	Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
59	systems. This function is required for `alloca.c' support on those systems.	*/
60#undef CRAY_STACKSEG_END
61
62/*	Define to 1 if using `alloca.c'. */
63/*	#undef C_ALLOCA */
64
65/*	Define to the flags needed for the .section .eh_frame directive. */
66#define EH_FRAME_FLAGS "aw"
67
68/*	Define this if you want extra debugging. */
69#undef FFI_DEBUG
70
71/*	Define this is you do not want support for the raw API. */
72#define FFI_NO_RAW_API 1
73
74/*	Define this if you do not want support for aggregate types. */
75/*	#undef FFI_NO_STRUCTS */
76
77/*	Define to 1 if you have `alloca', as a function or macro. */
78#define HAVE_ALLOCA 1
79
80/*	Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).	*/
81#define HAVE_ALLOCA_H 1
82
83/*	Define if your assembler supports .register. */
84/*	#undef HAVE_AS_REGISTER_PSEUDO_OP */
85
86/*	Define if your assembler and linker support unaligned PC relative relocs.	*/
87/*	#undef HAVE_AS_SPARC_UA_PCREL */
88
89/*	Define to 1 if you have the `memcpy' function. */
90#define HAVE_MEMCPY 1
91
92/*	Define if mmap with MAP_ANON(YMOUS) works. */
93#define HAVE_MMAP_ANON 1
94
95/*	Define if mmap of /dev/zero works. */
96/*	#undef HAVE_MMAP_DEV_ZERO */
97
98/*	Define if read-only mmap of a plain file works. */
99#define HAVE_MMAP_FILE 1
100
101/*	Define if .eh_frame sections should be read-only. */
102/*	#undef HAVE_RO_EH_FRAME */
103
104/*	Define to 1 if your C compiler doesn't accept -c and -o together. */
105/*	#undef NO_MINUS_C_MINUS_O */
106
107/*	Name of package */
108#define PACKAGE "libffi"
109
110/*	Define to the address where bug reports for this package should be sent. */
111#define PACKAGE_BUGREPORT "http://gcc.gnu.org/bugs.html"
112
113/*	Define to the full name of this package. */
114#define PACKAGE_NAME "libffi"
115
116/*	Define to the full name and version of this package. */
117#define PACKAGE_STRING "libffi 2.1"
118
119/*	Define to the one symbol short name of this package. */
120#define PACKAGE_TARNAME "libffi"
121
122/*	Define to the version of this package. */
123#define PACKAGE_VERSION "2.1"
124
125/*	If using the C implementation of alloca, define if you know the
126	direction of stack growth for your system; otherwise it will be
127	automatically deduced at run-time.
128	STACK_DIRECTION > 0 => grows toward higher addresses
129	STACK_DIRECTION < 0 => grows toward lower addresses
130	STACK_DIRECTION = 0 => direction of growth unknown	*/
131/*	#undef STACK_DIRECTION */
132
133/*	Define to 1 if you have the ANSI C header files. */
134#define STDC_HEADERS 1
135
136/*	Define this if you are using Purify and want to suppress spurious messages.	*/
137/*	#undef USING_PURIFY	*/
138
139/*	Version number of package */
140#define VERSION "2.1-pyobjc"
141
142#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
143#	ifdef LIBFFI_ASM
144#		define FFI_HIDDEN(name) .hidden name
145#	else
146#		define FFI_HIDDEN __attribute__((visibility ("hidden")))
147#	endif
148#else
149#	ifdef LIBFFI_ASM
150#		define FFI_HIDDEN(name)
151#	else
152#		define FFI_HIDDEN
153#	endif
154#endif