include/SDL_config_iphoneos.h
author Ethan Lee <flibitijibibo@flibitijibibo.com>
Sat, 04 Aug 2018 11:52:46 -0400
changeset 12072 1e46699fa470
parent 11852 c3fc99758ad2
child 12088 399cc39583cc
permissions -rw-r--r--
SDL_exp
slouken@2765
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@11811
     3
  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
slouken@2765
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@2765
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@2765
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@2765
    20
*/
slouken@2765
    21
slouken@10638
    22
#ifndef SDL_config_iphoneos_h_
slouken@10638
    23
#define SDL_config_iphoneos_h_
slouken@10903
    24
#define SDL_config_h_
slouken@2765
    25
slouken@2765
    26
#include "SDL_platform.h"
slouken@2765
    27
slouken@3400
    28
#ifdef __LP64__
slouken@3400
    29
#define SIZEOF_VOIDP 8
slouken@3400
    30
#else
slouken@3400
    31
#define SIZEOF_VOIDP 4
slouken@3400
    32
#endif
slouken@3400
    33
slouken@7191
    34
#define HAVE_GCC_ATOMICS    1
slouken@5004
    35
slouken@11480
    36
#define STDC_HEADERS    1
slouken@7191
    37
#define HAVE_ALLOCA_H       1
slouken@11480
    38
#define HAVE_CTYPE_H    1
slouken@7191
    39
#define HAVE_INTTYPES_H 1
slouken@11480
    40
#define HAVE_LIMITS_H   1
slouken@7191
    41
#define HAVE_MATH_H 1
slouken@7191
    42
#define HAVE_SIGNAL_H   1
slouken@11480
    43
#define HAVE_STDINT_H   1
slouken@11480
    44
#define HAVE_STDIO_H    1
slouken@11480
    45
#define HAVE_STRING_H   1
slouken@11480
    46
#define HAVE_SYS_TYPES_H    1
slouken@11679
    47
/* The libunwind functions are only available on x86 */
slouken@11679
    48
/* #undef HAVE_LIBUNWIND_H */
slouken@2765
    49
slouken@2765
    50
/* C library functions */
slouken@7191
    51
#define HAVE_MALLOC 1
slouken@7191
    52
#define HAVE_CALLOC 1
slouken@7191
    53
#define HAVE_REALLOC    1
slouken@7191
    54
#define HAVE_FREE   1
slouken@7191
    55
#define HAVE_ALLOCA 1
slouken@7191
    56
#define HAVE_GETENV 1
slouken@7191
    57
#define HAVE_SETENV 1
slouken@7191
    58
#define HAVE_PUTENV 1
slouken@7191
    59
#define HAVE_SETENV 1
slouken@7191
    60
#define HAVE_UNSETENV   1
slouken@7191
    61
#define HAVE_QSORT  1
slouken@7191
    62
#define HAVE_ABS    1
slouken@7191
    63
#define HAVE_BCOPY  1
slouken@7191
    64
#define HAVE_MEMSET 1
slouken@7191
    65
#define HAVE_MEMCPY 1
slouken@7191
    66
#define HAVE_MEMMOVE    1
slouken@7191
    67
#define HAVE_MEMCMP 1
slouken@7191
    68
#define HAVE_STRLEN 1
slouken@7191
    69
#define HAVE_STRLCPY    1
slouken@7191
    70
#define HAVE_STRLCAT    1
slouken@7191
    71
#define HAVE_STRCHR 1
slouken@7191
    72
#define HAVE_STRRCHR    1
slouken@7191
    73
#define HAVE_STRSTR 1
slouken@7191
    74
#define HAVE_STRTOL 1
slouken@7191
    75
#define HAVE_STRTOUL    1
slouken@7191
    76
#define HAVE_STRTOLL    1
slouken@7191
    77
#define HAVE_STRTOULL   1
slouken@7191
    78
#define HAVE_STRTOD 1
slouken@7191
    79
#define HAVE_ATOI   1
slouken@7191
    80
#define HAVE_ATOF   1
slouken@7191
    81
#define HAVE_STRCMP 1
slouken@7191
    82
#define HAVE_STRNCMP    1
slouken@7191
    83
#define HAVE_STRCASECMP 1
slouken@2765
    84
#define HAVE_STRNCASECMP 1
icculus@8089
    85
#define HAVE_VSSCANF 1
slouken@7191
    86
#define HAVE_VSNPRINTF  1
slouken@7191
    87
#define HAVE_M_PI   1
slouken@11684
    88
#define HAVE_ACOS   1
slouken@11684
    89
#define HAVE_ACOSF  1
slouken@11684
    90
#define HAVE_ASIN   1
slouken@11684
    91
#define HAVE_ASINF  1
slouken@7191
    92
#define HAVE_ATAN   1
slouken@11684
    93
#define HAVE_ATANF  1
slouken@7191
    94
#define HAVE_ATAN2  1
slouken@11684
    95
#define HAVE_ATAN2F 1
slouken@7191
    96
#define HAVE_CEIL   1
slouken@11684
    97
#define HAVE_CEILF  1
slouken@7191
    98
#define HAVE_COPYSIGN   1
slouken@11684
    99
#define HAVE_COPYSIGNF  1
slouken@7191
   100
#define HAVE_COS    1
slouken@7191
   101
#define HAVE_COSF   1
flibitijibibo@12072
   102
#define HAVE_EXP    1
flibitijibibo@12072
   103
#define HAVE_EXPF   1
slouken@7191
   104
#define HAVE_FABS   1
slouken@11684
   105
#define HAVE_FABSF  1
slouken@7191
   106
#define HAVE_FLOOR  1
slouken@11684
   107
#define HAVE_FLOORF 1
slouken@11684
   108
#define HAVE_FMOD   1
slouken@11684
   109
#define HAVE_FMODF  1
slouken@7191
   110
#define HAVE_LOG    1
slouken@11684
   111
#define HAVE_LOGF   1
flibitijibibo@11852
   112
#define HAVE_LOG10  1
flibitijibibo@11852
   113
#define HAVE_LOG10F 1
slouken@7191
   114
#define HAVE_POW    1
slouken@11684
   115
#define HAVE_POWF   1
slouken@7191
   116
#define HAVE_SCALBN 1
slouken@11684
   117
#define HAVE_SCALBNF    1
slouken@7191
   118
#define HAVE_SIN    1
slouken@7191
   119
#define HAVE_SINF   1
slouken@7191
   120
#define HAVE_SQRT   1
slouken@8840
   121
#define HAVE_SQRTF  1
slouken@8840
   122
#define HAVE_TAN    1
slouken@8840
   123
#define HAVE_TANF   1
slouken@7191
   124
#define HAVE_SIGACTION  1
slouken@7191
   125
#define HAVE_SETJMP 1
slouken@7191
   126
#define HAVE_NANOSLEEP  1
slouken@7191
   127
#define HAVE_SYSCONF    1
slouken@3579
   128
#define HAVE_SYSCTLBYNAME 1
slouken@2765
   129
slouken@2771
   130
/* enable iPhone version of Core Audio driver */
icculus@5658
   131
#define SDL_AUDIO_DRIVER_COREAUDIO 1
slouken@2771
   132
/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
slouken@7191
   133
#define SDL_AUDIO_DRIVER_DUMMY  1
slouken@2771
   134
slouken@2771
   135
/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
slouken@9044
   136
#define SDL_HAPTIC_DUMMY 1
slouken@2771
   137
slime73@9876
   138
/* Enable MFi joystick support */
slime73@9876
   139
#define SDL_JOYSTICK_MFI 1
slime73@9876
   140
slouken@2771
   141
/* Enable Unix style SO loading */
slime73@10372
   142
#define SDL_LOADSO_DLOPEN 1
slouken@2771
   143
slouken@2771
   144
/* Enable various threading systems */
slouken@7191
   145
#define SDL_THREAD_PTHREAD  1
slouken@7191
   146
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX  1
slouken@2771
   147
slouken@2771
   148
/* Enable various timer systems */
slouken@7191
   149
#define SDL_TIMER_UNIX  1
slouken@2771
   150
slouken@2771
   151
/* Supported video drivers */
slouken@7191
   152
#define SDL_VIDEO_DRIVER_UIKIT  1
slouken@7191
   153
#define SDL_VIDEO_DRIVER_DUMMY  1
slouken@2771
   154
slouken@11733
   155
/* Enable OpenGL ES */
slouken@8891
   156
#define SDL_VIDEO_OPENGL_ES2 1
slouken@7191
   157
#define SDL_VIDEO_OPENGL_ES 1
slouken@7191
   158
#define SDL_VIDEO_RENDER_OGL_ES 1
slouken@7191
   159
#define SDL_VIDEO_RENDER_OGL_ES2    1
slouken@2771
   160
slouken@11733
   161
/* Metal supported on 64-bit devices running iOS 8.0 and tvOS 9.0 and newer */
slouken@11733
   162
#if !TARGET_OS_SIMULATOR && !TARGET_CPU_ARM && ((__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 90000))
slouken@11733
   163
#define SDL_PLATFORM_SUPPORTS_METAL	1
slouken@11733
   164
#else
slouken@11733
   165
#define SDL_PLATFORM_SUPPORTS_METAL	0
slouken@11733
   166
#endif
slouken@11733
   167
slouken@11733
   168
#if SDL_PLATFORM_SUPPORTS_METAL
slouken@11732
   169
#define SDL_VIDEO_RENDER_METAL  1
slouken@11733
   170
#endif
slouken@11733
   171
slouken@11733
   172
#if SDL_PLATFORM_SUPPORTS_METAL
slouken@11381
   173
#define SDL_VIDEO_VULKAN 1
icculus@11365
   174
#endif
icculus@11365
   175
icculus@3170
   176
/* Enable system power support */
icculus@4444
   177
#define SDL_POWER_UIKIT 1
icculus@3170
   178
slouken@2771
   179
/* enable iPhone keyboard support */
slouken@4490
   180
#define SDL_IPHONE_KEYBOARD 1
slouken@2771
   181
slime73@9532
   182
/* enable iOS extended launch screen */
slime73@9532
   183
#define SDL_IPHONE_LAUNCHSCREEN 1
slime73@9532
   184
slouken@4490
   185
/* Set max recognized G-force from accelerometer
slouken@8921
   186
   See src/joystick/uikit/SDL_sysjoystick.m for notes on why this is needed
slouken@2771
   187
 */
slouken@2771
   188
#define SDL_IPHONE_MAX_GFORCE 5.0
slouken@2771
   189
icculus@7667
   190
/* enable filesystem support */
icculus@7667
   191
#define SDL_FILESYSTEM_COCOA   1
icculus@7667
   192
slouken@10638
   193
#endif /* SDL_config_iphoneos_h_ */