include/SDL_config.h.in
author Ryan C. Gordon <icculus@icculus.org>
Tue, 11 Dec 2012 12:07:06 -0500
changeset 6734 7fdaee2be782
parent 6642 b716011e53ce
child 6774 ad8522052ce6
permissions -rw-r--r--
Updated Linux joystick code to support hotplug, GUIDs, etc.

This uses libudev for hotplug, but it's optional, so we'll just try to find
some reasonable defaults without it (maybe an older Linux box or under
FreeBSD's Linux emulation?).
slouken@1341
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@6138
     3
  Copyright (C) 1997-2012 Sam Lantinga <slouken@libsdl.org>
slouken@1341
     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@1341
     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@1341
    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@1341
    20
*/
slouken@1341
    21
slouken@6235
    22
#ifndef _SDL_config_h
slouken@6235
    23
#define _SDL_config_h
slouken@1341
    24
slouken@3407
    25
/**
slouken@3407
    26
 *  \file SDL_config.h.in
slouken@3407
    27
 *
slouken@3407
    28
 *  This is a set of defines to configure the SDL features
slouken@3407
    29
 */
slouken@1341
    30
slouken@1402
    31
/* General platform specific identifiers */
slouken@1402
    32
#include "SDL_platform.h"
slouken@1402
    33
slouken@2175
    34
/* Make sure that this isn't included by Visual C++ */
slouken@2175
    35
#ifdef _MSC_VER
slouken@5389
    36
#error You should run hg revert SDL_config.h 
slouken@2175
    37
#endif
slouken@2175
    38
slouken@1353
    39
/* C language features */
slouken@1353
    40
#undef const
slouken@1353
    41
#undef inline
slouken@1353
    42
#undef volatile
slouken@1352
    43
slouken@1353
    44
/* C datatypes */
bob@3180
    45
#undef SIZEOF_VOIDP
slouken@5004
    46
#undef HAVE_GCC_ATOMICS
slouken@5069
    47
#undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET
nathanheisey@5557
    48
#undef HAVE_PTHREAD_SPINLOCK
slouken@1353
    49
slouken@1353
    50
/* Comment this if you want to build without any C library requirements */
slouken@1341
    51
#undef HAVE_LIBC
slouken@1402
    52
#if HAVE_LIBC
slouken@1341
    53
slouken@1353
    54
/* Useful headers */
slouken@1367
    55
#undef HAVE_ALLOCA_H
slouken@1353
    56
#undef HAVE_SYS_TYPES_H
slouken@1352
    57
#undef HAVE_STDIO_H
slouken@1353
    58
#undef STDC_HEADERS
slouken@1352
    59
#undef HAVE_STDLIB_H
slouken@1353
    60
#undef HAVE_STDARG_H
slouken@1352
    61
#undef HAVE_MALLOC_H
slouken@1353
    62
#undef HAVE_MEMORY_H
slouken@1352
    63
#undef HAVE_STRING_H
slouken@1353
    64
#undef HAVE_STRINGS_H
slouken@1353
    65
#undef HAVE_INTTYPES_H
slouken@1353
    66
#undef HAVE_STDINT_H
slouken@1352
    67
#undef HAVE_CTYPE_H
slouken@1361
    68
#undef HAVE_MATH_H
slouken@1501
    69
#undef HAVE_ICONV_H
slouken@1352
    70
#undef HAVE_SIGNAL_H
slouken@5389
    71
#undef HAVE_ALTIVEC_H
icculus@5969
    72
#undef HAVE_PTHREAD_NP_H
icculus@6734
    73
#undef HAVE_LIBUDEV_H
slouken@1341
    74
slouken@1353
    75
/* C library functions */
slouken@1352
    76
#undef HAVE_MALLOC
slouken@1352
    77
#undef HAVE_CALLOC
slouken@1352
    78
#undef HAVE_REALLOC
slouken@1352
    79
#undef HAVE_FREE
slouken@1352
    80
#undef HAVE_ALLOCA
slouken@5093
    81
#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
slouken@1352
    82
#undef HAVE_GETENV
icculus@3581
    83
#undef HAVE_SETENV
slouken@1352
    84
#undef HAVE_PUTENV
slouken@1352
    85
#undef HAVE_UNSETENV
slouken@1352
    86
#endif
slouken@1352
    87
#undef HAVE_QSORT
slouken@1341
    88
#undef HAVE_ABS
slouken@1353
    89
#undef HAVE_BCOPY
slouken@1352
    90
#undef HAVE_MEMSET
slouken@1352
    91
#undef HAVE_MEMCPY
slouken@1352
    92
#undef HAVE_MEMMOVE
slouken@1352
    93
#undef HAVE_MEMCMP
slouken@1352
    94
#undef HAVE_STRLEN
slouken@1379
    95
#undef HAVE_STRLCPY
slouken@1379
    96
#undef HAVE_STRLCAT
slouken@1352
    97
#undef HAVE_STRDUP
slouken@1352
    98
#undef HAVE__STRREV
slouken@1352
    99
#undef HAVE__STRUPR
slouken@1352
   100
#undef HAVE__STRLWR
slouken@1353
   101
#undef HAVE_INDEX
slouken@1353
   102
#undef HAVE_RINDEX
slouken@1352
   103
#undef HAVE_STRCHR
slouken@1352
   104
#undef HAVE_STRRCHR
slouken@1352
   105
#undef HAVE_STRSTR
slouken@1352
   106
#undef HAVE_ITOA
slouken@1352
   107
#undef HAVE__LTOA
slouken@1352
   108
#undef HAVE__UITOA
slouken@1352
   109
#undef HAVE__ULTOA
slouken@1352
   110
#undef HAVE_STRTOL
slouken@1461
   111
#undef HAVE_STRTOUL
slouken@1352
   112
#undef HAVE__I64TOA
slouken@1352
   113
#undef HAVE__UI64TOA
slouken@1352
   114
#undef HAVE_STRTOLL
slouken@1461
   115
#undef HAVE_STRTOULL
slouken@1352
   116
#undef HAVE_STRTOD
slouken@1352
   117
#undef HAVE_ATOI
slouken@1341
   118
#undef HAVE_ATOF
slouken@1352
   119
#undef HAVE_STRCMP
slouken@1352
   120
#undef HAVE_STRNCMP
slouken@1510
   121
#undef HAVE__STRICMP
slouken@1352
   122
#undef HAVE_STRCASECMP
slouken@1512
   123
#undef HAVE__STRNICMP
slouken@1501
   124
#undef HAVE_STRNCASECMP
slouken@1352
   125
#undef HAVE_SSCANF
slouken@1341
   126
#undef HAVE_SNPRINTF
slouken@1341
   127
#undef HAVE_VSNPRINTF
slouken@3012
   128
#undef HAVE_M_PI
slouken@4873
   129
#undef HAVE_ATAN
slouken@4870
   130
#undef HAVE_ATAN2
slouken@3032
   131
#undef HAVE_CEIL
slouken@3012
   132
#undef HAVE_COPYSIGN
slouken@3012
   133
#undef HAVE_COS
slouken@3012
   134
#undef HAVE_COSF
slouken@3012
   135
#undef HAVE_FABS
slouken@3012
   136
#undef HAVE_FLOOR
slouken@3012
   137
#undef HAVE_LOG
slouken@3012
   138
#undef HAVE_POW
slouken@3012
   139
#undef HAVE_SCALBN
slouken@3012
   140
#undef HAVE_SIN
slouken@3012
   141
#undef HAVE_SINF
slouken@3012
   142
#undef HAVE_SQRT
slouken@6642
   143
#undef HAVE_FSEEKO
slouken@6642
   144
#undef HAVE_FSEEKO64
slouken@1361
   145
#undef HAVE_SIGACTION
icculus@5577
   146
#undef HAVE_SA_SIGACTION
slouken@1361
   147
#undef HAVE_SETJMP
slouken@1361
   148
#undef HAVE_NANOSLEEP
slouken@3586
   149
#undef HAVE_SYSCONF
slouken@3579
   150
#undef HAVE_SYSCTLBYNAME
slouken@1361
   151
#undef HAVE_CLOCK_GETTIME
icculus@2093
   152
#undef HAVE_GETPAGESIZE
slouken@3405
   153
#undef HAVE_MPROTECT
slouken@5041
   154
#undef HAVE_ICONV
icculus@5969
   155
#undef HAVE_PTHREAD_SETNAME_NP
icculus@5969
   156
#undef HAVE_PTHREAD_SET_NAME_NP
slouken@6219
   157
#undef HAVE_SEM_TIMEDWAIT
slouken@1341
   158
slouken@1361
   159
#else
slouken@1361
   160
/* We may need some replacement for stdarg.h here */
slouken@1361
   161
#include <stdarg.h>
slouken@1341
   162
#endif /* HAVE_LIBC */
slouken@1341
   163
slouken@3647
   164
/* SDL internal assertion support */
slouken@3649
   165
#undef SDL_DEFAULT_ASSERT_LEVEL
slouken@3647
   166
slouken@1353
   167
/* Allow disabling of core subsystems */
slouken@5225
   168
#undef SDL_ATOMIC_DISABLED
slouken@1361
   169
#undef SDL_AUDIO_DISABLED
slouken@1361
   170
#undef SDL_CPUINFO_DISABLED
slouken@1361
   171
#undef SDL_EVENTS_DISABLED
slouken@1361
   172
#undef SDL_FILE_DISABLED
slouken@1361
   173
#undef SDL_JOYSTICK_DISABLED
slouken@2713
   174
#undef SDL_HAPTIC_DISABLED
slouken@1361
   175
#undef SDL_LOADSO_DISABLED
slouken@5226
   176
#undef SDL_RENDER_DISABLED
slouken@1361
   177
#undef SDL_THREADS_DISABLED
slouken@1361
   178
#undef SDL_TIMERS_DISABLED
slouken@1361
   179
#undef SDL_VIDEO_DISABLED
icculus@3170
   180
#undef SDL_POWER_DISABLED
slouken@1361
   181
slouken@1361
   182
/* Enable various audio drivers */
slouken@1361
   183
#undef SDL_AUDIO_DRIVER_ALSA
slouken@1361
   184
#undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
slouken@1361
   185
#undef SDL_AUDIO_DRIVER_ARTS
slouken@1361
   186
#undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
icculus@2271
   187
#undef SDL_AUDIO_DRIVER_PULSEAUDIO
icculus@2271
   188
#undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC
icculus@2049
   189
#undef SDL_AUDIO_DRIVER_BEOSAUDIO
slouken@1568
   190
#undef SDL_AUDIO_DRIVER_BSD
slouken@1361
   191
#undef SDL_AUDIO_DRIVER_COREAUDIO
slouken@1361
   192
#undef SDL_AUDIO_DRIVER_DISK
icculus@1532
   193
#undef SDL_AUDIO_DRIVER_DUMMY
icculus@5592
   194
#undef SDL_AUDIO_DRIVER_XAUDIO2
slouken@1361
   195
#undef SDL_AUDIO_DRIVER_DSOUND
slouken@1361
   196
#undef SDL_AUDIO_DRIVER_ESD
slouken@1361
   197
#undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
slouken@1361
   198
#undef SDL_AUDIO_DRIVER_NAS
icculus@2049
   199
#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
slouken@2735
   200
#undef SDL_AUDIO_DRIVER_NDS
slouken@1361
   201
#undef SDL_AUDIO_DRIVER_OSS
slouken@1361
   202
#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
icculus@2049
   203
#undef SDL_AUDIO_DRIVER_PAUDIO
slouken@3099
   204
#undef SDL_AUDIO_DRIVER_QSA
slouken@1361
   205
#undef SDL_AUDIO_DRIVER_SUNAUDIO
icculus@5588
   206
#undef SDL_AUDIO_DRIVER_WINMM
slouken@2947
   207
#undef SDL_AUDIO_DRIVER_FUSIONSOUND
slouken@2947
   208
#undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC
slouken@1361
   209
slouken@1361
   210
/* Enable various input drivers */
icculus@2276
   211
#undef SDL_INPUT_LINUXEV
slouken@1361
   212
#undef SDL_INPUT_TSLIB
slouken@1361
   213
#undef SDL_JOYSTICK_BEOS
slouken@1895
   214
#undef SDL_JOYSTICK_DINPUT
slouken@1361
   215
#undef SDL_JOYSTICK_DUMMY
slouken@1361
   216
#undef SDL_JOYSTICK_IOKIT
slouken@1361
   217
#undef SDL_JOYSTICK_LINUX
slouken@2735
   218
#undef SDL_JOYSTICK_NDS
slouken@1361
   219
#undef SDL_JOYSTICK_WINMM
slouken@1361
   220
#undef SDL_JOYSTICK_USBHID
slouken@1565
   221
#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
slouken@2713
   222
#undef SDL_HAPTIC_DUMMY
slouken@2713
   223
#undef SDL_HAPTIC_LINUX
slouken@2713
   224
#undef SDL_HAPTIC_IOKIT
slouken@2713
   225
#undef SDL_HAPTIC_DINPUT
slouken@1361
   226
slouken@1361
   227
/* Enable various shared object loading systems */
slouken@1361
   228
#undef SDL_LOADSO_BEOS
slouken@1361
   229
#undef SDL_LOADSO_DLOPEN
slouken@1635
   230
#undef SDL_LOADSO_DUMMY
slouken@1361
   231
#undef SDL_LOADSO_LDG
slouken@5062
   232
#undef SDL_LOADSO_WINDOWS
slouken@1361
   233
slouken@1361
   234
/* Enable various threading systems */
slouken@1361
   235
#undef SDL_THREAD_BEOS
slouken@2735
   236
#undef SDL_THREAD_NDS
slouken@1361
   237
#undef SDL_THREAD_PTHREAD
slouken@1361
   238
#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
slouken@1361
   239
#undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
slouken@5062
   240
#undef SDL_THREAD_WINDOWS
slouken@1361
   241
slouken@1361
   242
/* Enable various timer systems */
slouken@1361
   243
#undef SDL_TIMER_BEOS
slouken@1635
   244
#undef SDL_TIMER_DUMMY
slouken@2735
   245
#undef SDL_TIMER_NDS
slouken@1361
   246
#undef SDL_TIMER_UNIX
slouken@5062
   247
#undef SDL_TIMER_WINDOWS
slouken@1361
   248
slouken@1361
   249
/* Enable various video drivers */
slouken@1361
   250
#undef SDL_VIDEO_DRIVER_BWINDOW
slouken@1931
   251
#undef SDL_VIDEO_DRIVER_COCOA
slouken@1361
   252
#undef SDL_VIDEO_DRIVER_DIRECTFB
slouken@2998
   253
#undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC
slouken@1361
   254
#undef SDL_VIDEO_DRIVER_DUMMY
slouken@2735
   255
#undef SDL_VIDEO_DRIVER_NDS
slouken@5062
   256
#undef SDL_VIDEO_DRIVER_WINDOWS
slouken@1361
   257
#undef SDL_VIDEO_DRIVER_X11
slouken@1361
   258
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC
slouken@1361
   259
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
slouken@5471
   260
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR
slouken@5408
   261
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA
slouken@6311
   262
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2
icculus@1589
   263
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
slouken@3025
   264
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS
slouken@5408
   265
#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE
slouken@5471
   266
#undef SDL_VIDEO_DRIVER_X11_XCURSOR
slouken@1361
   267
#undef SDL_VIDEO_DRIVER_X11_XINERAMA
slouken@6311
   268
#undef SDL_VIDEO_DRIVER_X11_XINPUT2
dimitris@6316
   269
#undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
icculus@1589
   270
#undef SDL_VIDEO_DRIVER_X11_XRANDR
slouken@5408
   271
#undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER
icculus@4793
   272
#undef SDL_VIDEO_DRIVER_X11_XSHAPE
slouken@5408
   273
#undef SDL_VIDEO_DRIVER_X11_XVIDMODE
slouken@6311
   274
#undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS
slouken@6313
   275
#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY
dimitris@6318
   276
#undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM
slouken@1361
   277
slouken@1895
   278
#undef SDL_VIDEO_RENDER_D3D
slouken@1895
   279
#undef SDL_VIDEO_RENDER_OGL
slouken@3087
   280
#undef SDL_VIDEO_RENDER_OGL_ES
slouken@6188
   281
#undef SDL_VIDEO_RENDER_OGL_ES2
slouken@5199
   282
#undef SDL_VIDEO_RENDER_DIRECTFB
slouken@1895
   283
slouken@1361
   284
/* Enable OpenGL support */
slouken@1361
   285
#undef SDL_VIDEO_OPENGL
slouken@3087
   286
#undef SDL_VIDEO_OPENGL_ES
slouken@1952
   287
#undef SDL_VIDEO_OPENGL_BGL
slouken@1952
   288
#undef SDL_VIDEO_OPENGL_CGL
slouken@1361
   289
#undef SDL_VIDEO_OPENGL_GLX
slouken@1361
   290
#undef SDL_VIDEO_OPENGL_WGL
slouken@1361
   291
#undef SDL_VIDEO_OPENGL_OSMESA
slouken@1361
   292
#undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
slouken@1361
   293
icculus@3170
   294
/* Enable system power support */
icculus@3170
   295
#undef SDL_POWER_LINUX
icculus@3170
   296
#undef SDL_POWER_WINDOWS
icculus@3170
   297
#undef SDL_POWER_MACOSX
icculus@3173
   298
#undef SDL_POWER_BEOS
icculus@3170
   299
#undef SDL_POWER_NINTENDODS
icculus@3170
   300
#undef SDL_POWER_HARDWIRED
icculus@3170
   301
slouken@1402
   302
/* Enable assembly routines */
slouken@1402
   303
#undef SDL_ASSEMBLY_ROUTINES
slouken@5389
   304
#undef SDL_ALTIVEC_BLITTERS
slouken@1353
   305
slouken@6235
   306
#endif /* _SDL_config_h */