include/SDL_config_iphoneos.h
author Sam Lantinga <slouken@libsdl.org>
Sun, 16 Jan 2011 15:16:39 -0800
changeset 5004 0c72ae7b7cb2
parent 5002 c5b9486688ce
child 5070 042ad5e274ed
permissions -rw-r--r--
Added native atomic operations for Windows, Mac OS X, and gcc compiler intrinsics.
Changed the CAS return value to bool, so it's efficient with OSAtomicCompareAndSwap32Barrier()
Added an atomic test adapted from code by Michael Davidsaver
slouken@2765
     1
/*
slouken@2765
     2
    SDL - Simple DirectMedia Layer
slouken@3697
     3
    Copyright (C) 1997-2010 Sam Lantinga
slouken@2765
     4
slouken@2765
     5
    This library is free software; you can redistribute it and/or
slouken@2765
     6
    modify it under the terms of the GNU Lesser General Public
slouken@2765
     7
    License as published by the Free Software Foundation; either
slouken@2765
     8
    version 2.1 of the License, or (at your option) any later version.
slouken@2765
     9
slouken@2765
    10
    This library is distributed in the hope that it will be useful,
slouken@2765
    11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
slouken@2765
    12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
slouken@2765
    13
    Lesser General Public License for more details.
slouken@2765
    14
slouken@2765
    15
    You should have received a copy of the GNU Lesser General Public
slouken@2765
    16
    License along with this library; if not, write to the Free Software
slouken@2765
    17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
slouken@2765
    18
slouken@2765
    19
    Sam Lantinga
slouken@2765
    20
    slouken@libsdl.org
slouken@2765
    21
*/
slouken@2765
    22
slouken@2765
    23
#ifndef _SDL_config_iphoneos_h
slouken@2765
    24
#define _SDL_config_iphoneos_h
slouken@2765
    25
slouken@2765
    26
#include "SDL_platform.h"
slouken@2765
    27
slouken@3220
    28
#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
slouken@2765
    29
typedef signed char int8_t;
slouken@2765
    30
typedef unsigned char uint8_t;
slouken@2765
    31
typedef signed short int16_t;
slouken@2765
    32
typedef unsigned short uint16_t;
slouken@2765
    33
typedef signed int int32_t;
slouken@2765
    34
typedef unsigned int uint32_t;
slouken@2765
    35
typedef unsigned long uintptr_t;
slouken@3220
    36
#endif /* !_STDINT_H_ && !HAVE_STDINT_H */
slouken@3219
    37
slouken@3400
    38
#ifdef __LP64__
slouken@3400
    39
#define SIZEOF_VOIDP 8
slouken@3400
    40
#else
slouken@3400
    41
#define SIZEOF_VOIDP 4
slouken@3400
    42
#endif
slouken@3400
    43
slouken@2765
    44
#define SDL_HAS_64BIT_TYPE	1
slouken@2765
    45
slouken@5004
    46
#define HAVE_GCC_ATOMICS	1
slouken@5004
    47
slouken@2765
    48
#define HAVE_ALLOCA_H		1
slouken@2765
    49
#define HAVE_SYS_TYPES_H	1
slouken@2765
    50
#define HAVE_STDIO_H	1
slouken@2765
    51
#define STDC_HEADERS	1
slouken@2765
    52
#define HAVE_STRING_H	1
slouken@2765
    53
#define HAVE_INTTYPES_H	1
slouken@2765
    54
#define HAVE_STDINT_H	1
slouken@2765
    55
#define HAVE_CTYPE_H	1
slouken@2765
    56
#define HAVE_MATH_H	1
slouken@2765
    57
#define HAVE_SIGNAL_H	1
slouken@2765
    58
slouken@2765
    59
/* C library functions */
slouken@2765
    60
#define HAVE_MALLOC	1
slouken@2765
    61
#define HAVE_CALLOC	1
slouken@2765
    62
#define HAVE_REALLOC	1
slouken@2765
    63
#define HAVE_FREE	1
slouken@2765
    64
#define HAVE_ALLOCA	1
slouken@2765
    65
#define HAVE_GETENV	1
icculus@3581
    66
#define HAVE_SETENV	1
slouken@2765
    67
#define HAVE_PUTENV	1
icculus@3581
    68
#define HAVE_SETENV	1
slouken@2765
    69
#define HAVE_UNSETENV	1
slouken@2765
    70
#define HAVE_QSORT	1
slouken@2765
    71
#define HAVE_ABS	1
slouken@2765
    72
#define HAVE_BCOPY	1
slouken@2765
    73
#define HAVE_MEMSET	1
slouken@2765
    74
#define HAVE_MEMCPY	1
slouken@2765
    75
#define HAVE_MEMMOVE	1
slouken@2765
    76
#define HAVE_MEMCMP	1
slouken@2765
    77
#define HAVE_STRLEN	1
slouken@2765
    78
#define HAVE_STRLCPY	1
slouken@2765
    79
#define HAVE_STRLCAT	1
slouken@2765
    80
#define HAVE_STRDUP	1
slouken@2765
    81
#define HAVE_STRCHR	1
slouken@2765
    82
#define HAVE_STRRCHR	1
slouken@2765
    83
#define HAVE_STRSTR	1
slouken@2765
    84
#define HAVE_STRTOL	1
slouken@2765
    85
#define HAVE_STRTOUL	1
slouken@2765
    86
#define HAVE_STRTOLL	1
slouken@2765
    87
#define HAVE_STRTOULL	1
slouken@2765
    88
#define HAVE_STRTOD	1
slouken@2765
    89
#define HAVE_ATOI	1
slouken@2765
    90
#define HAVE_ATOF	1
slouken@2765
    91
#define HAVE_STRCMP	1
slouken@2765
    92
#define HAVE_STRNCMP	1
slouken@2765
    93
#define HAVE_STRCASECMP	1
slouken@2765
    94
#define HAVE_STRNCASECMP 1
slouken@2765
    95
#define HAVE_SSCANF	1
slouken@2765
    96
#define HAVE_SNPRINTF	1
slouken@2765
    97
#define HAVE_VSNPRINTF	1
slouken@5002
    98
#define HAVE_M_PI	1
slouken@5002
    99
#define HAVE_ATAN	1
slouken@5002
   100
#define HAVE_ATAN2	1
slouken@3084
   101
#define HAVE_CEIL	1
slouken@3084
   102
#define HAVE_COPYSIGN	1
slouken@3084
   103
#define HAVE_COS	1
slouken@3084
   104
#define HAVE_COSF	1
slouken@3084
   105
#define HAVE_FABS	1
slouken@3084
   106
#define HAVE_FLOOR	1
slouken@3084
   107
#define HAVE_LOG	1
slouken@3084
   108
#define HAVE_POW	1
slouken@3084
   109
#define HAVE_SCALBN	1
slouken@3084
   110
#define HAVE_SIN	1
slouken@3084
   111
#define HAVE_SINF	1
slouken@3084
   112
#define HAVE_SQRT	1
slouken@2765
   113
#define HAVE_SIGACTION	1
slouken@2765
   114
#define HAVE_SETJMP	1
slouken@2765
   115
#define HAVE_NANOSLEEP	1
slouken@3586
   116
#define HAVE_SYSCONF	1
slouken@3579
   117
#define HAVE_SYSCTLBYNAME 1
slouken@2765
   118
slouken@2771
   119
/* enable iPhone version of Core Audio driver */
slouken@2771
   120
#define SDL_AUDIO_DRIVER_COREAUDIOIPHONE 1
slouken@2771
   121
/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
slouken@2771
   122
#define SDL_AUDIO_DRIVER_DUMMY	1
slouken@2771
   123
slouken@2771
   124
/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
slouken@2771
   125
#define SDL_HAPTIC_DISABLED	1
slouken@2771
   126
slouken@2771
   127
/* Enable Unix style SO loading */
slouken@2771
   128
/* Technically this works, but it violates the iPhone developer agreement */
slouken@2771
   129
/* #define SDL_LOADSO_DLOPEN 1 */
slouken@2771
   130
slouken@2771
   131
/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
slouken@2771
   132
#define SDL_LOADSO_DISABLED	1
slouken@2771
   133
slouken@2771
   134
/* Enable various threading systems */
slouken@2771
   135
#define SDL_THREAD_PTHREAD	1
slouken@2771
   136
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX	1
slouken@2771
   137
slouken@2771
   138
/* Enable various timer systems */
slouken@2771
   139
#define SDL_TIMER_UNIX	1
slouken@2771
   140
slouken@2771
   141
/* Supported video drivers */
slouken@2771
   142
#define SDL_VIDEO_DRIVER_UIKIT	1
slouken@2771
   143
#define SDL_VIDEO_DRIVER_DUMMY	1
slouken@2771
   144
slouken@2771
   145
/* enable OpenGL ES */
slouken@2771
   146
#define SDL_VIDEO_OPENGL_ES	1
slouken@2771
   147
#define SDL_VIDEO_RENDER_OGL_ES	1
slouken@2771
   148
icculus@3170
   149
/* Enable system power support */
icculus@4444
   150
#define SDL_POWER_UIKIT 1
icculus@3170
   151
slouken@2771
   152
/* enable iPhone keyboard support */
slouken@4490
   153
#define SDL_IPHONE_KEYBOARD 1
slouken@2771
   154
slouken@4490
   155
/* Set max recognized G-force from accelerometer
slouken@2771
   156
   See src/joystick/uikit/SDLUIAccelerationDelegate.m for notes on why this is needed
slouken@2771
   157
 */
slouken@2771
   158
#define SDL_IPHONE_MAX_GFORCE 5.0
slouken@2771
   159
slouken@2765
   160
#endif /* _SDL_config_iphoneos_h */