1/*
2    SDL - Simple DirectMedia Layer
3    Copyright (C) 1997-2006 Sam Lantinga
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with this library; if not, write to the Free Software
17    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
19    Sam Lantinga
20    slouken@libsdl.org
21*/
22
23#ifndef _SDL_config_macosx_h
24#define _SDL_config_macosx_h
25
26#include "SDL_platform.h"
27
28/* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
29#include <AvailabilityMacros.h>
30
31/* This is a set of defines to configure the SDL features */
32
33#define SDL_HAS_64BIT_TYPE	1
34
35/* Useful headers */
36/* If we specified an SDK or have a post-PowerPC chip, then alloca.h exists. */
37#if ( (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (!defined(__POWERPC__)) )
38#define HAVE_ALLOCA_H		1
39#endif
40#define HAVE_SYS_TYPES_H	1
41#define HAVE_STDIO_H	1
42#define STDC_HEADERS	1
43#define HAVE_STRING_H	1
44#define HAVE_INTTYPES_H	1
45#define HAVE_STDINT_H	1
46#define HAVE_CTYPE_H	1
47#define HAVE_MATH_H	1
48#define HAVE_SIGNAL_H	1
49
50/* C library functions */
51#define HAVE_MALLOC	1
52#define HAVE_CALLOC	1
53#define HAVE_REALLOC	1
54#define HAVE_FREE	1
55#define HAVE_ALLOCA	1
56#define HAVE_GETENV	1
57#define HAVE_PUTENV	1
58#define HAVE_UNSETENV	1
59#define HAVE_QSORT	1
60#define HAVE_ABS	1
61#define HAVE_BCOPY	1
62#define HAVE_MEMSET	1
63#define HAVE_MEMCPY	1
64#define HAVE_MEMMOVE	1
65#define HAVE_MEMCMP	1
66#define HAVE_STRLEN	1
67#define HAVE_STRLCPY	1
68#define HAVE_STRLCAT	1
69#define HAVE_STRDUP	1
70#define HAVE_STRCHR	1
71#define HAVE_STRRCHR	1
72#define HAVE_STRSTR	1
73#define HAVE_STRTOL	1
74#define HAVE_STRTOUL	1
75#define HAVE_STRTOLL	1
76#define HAVE_STRTOULL	1
77#define HAVE_STRTOD	1
78#define HAVE_ATOI	1
79#define HAVE_ATOF	1
80#define HAVE_STRCMP	1
81#define HAVE_STRNCMP	1
82#define HAVE_STRCASECMP	1
83#define HAVE_STRNCASECMP 1
84#define HAVE_SSCANF	1
85#define HAVE_SNPRINTF	1
86#define HAVE_VSNPRINTF	1
87#define HAVE_SIGACTION	1
88#define HAVE_SETJMP	1
89#define HAVE_NANOSLEEP	1
90
91/* Enable various audio drivers */
92#define SDL_AUDIO_DRIVER_COREAUDIO	1
93#define SDL_AUDIO_DRIVER_SNDMGR	1
94#define SDL_AUDIO_DRIVER_DISK	1
95#define SDL_AUDIO_DRIVER_DUMMY	1
96
97/* Enable various cdrom drivers */
98#define SDL_CDROM_MACOSX	1
99
100/* Enable various input drivers */
101#define SDL_JOYSTICK_IOKIT	1
102
103/* Enable various shared object loading systems */
104#ifdef __ppc__
105/* For Mac OS X 10.2 compatibility */
106#define SDL_LOADSO_DLCOMPAT	1
107#else
108#define SDL_LOADSO_DLOPEN	1
109#endif
110
111/* Enable various threading systems */
112#define SDL_THREAD_PTHREAD	1
113#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX	1
114
115/* Enable various timer systems */
116#define SDL_TIMER_UNIX	1
117
118/* Enable various video drivers */
119#define SDL_VIDEO_DRIVER_DUMMY	1
120#if ((defined TARGET_API_MAC_CARBON) && (TARGET_API_MAC_CARBON))
121#define SDL_VIDEO_DRIVER_TOOLBOX	1
122#else
123#define SDL_VIDEO_DRIVER_QUARTZ	1
124#endif
125
126/* Enable OpenGL support */
127#define SDL_VIDEO_OPENGL	1
128
129/* Enable assembly routines */
130#define SDL_ASSEMBLY_ROUTINES	1
131#ifdef __ppc__
132#define SDL_ALTIVEC_BLITTERS	1
133#endif
134
135#endif /* _SDL_config_macosx_h */
136