include/SDL_config.h.in
author Ryan C. Gordon <icculus@icculus.org>
Wed, 17 Sep 2008 08:20:57 +0000
changeset 2763 6fc50bdd88c0
parent 2735 204be4fc2726
child 2810 27cb878a278e
permissions -rw-r--r--
Some cleanups on the new XInput code.

One or two things got moved around, but largely this is hooked up correctly
in the Unix configure system now: it can be dynamically loaded and fallback
gracefully if not available, or libXi can be directly linked to libSDL.

XInput support can be --disable'd from the configure script, too (defaults to
enabled).

Please note that while the framework is in place to gracefully fallback, the
current state of the source requires XInput. We'll need to adjust a few
things still to correct this.
     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_h
    24 #define _SDL_config_h
    25 
    26 /* This is a set of defines to configure the SDL features */
    27 
    28 /* General platform specific identifiers */
    29 #include "SDL_platform.h"
    30 
    31 /* Make sure that this isn't included by Visual C++ */
    32 #ifdef _MSC_VER
    33 #error You should copy include/SDL_config.h.default to include/SDL_config.h
    34 #endif
    35 
    36 /* C language features */
    37 #undef const
    38 #undef inline
    39 #undef volatile
    40 
    41 /* C datatypes */
    42 #undef size_t
    43 #undef int8_t
    44 #undef uint8_t
    45 #undef int16_t
    46 #undef uint16_t
    47 #undef int32_t
    48 #undef uint32_t
    49 #undef int64_t
    50 #undef uint64_t
    51 #undef uintptr_t
    52 #undef SDL_HAS_64BIT_TYPE
    53 
    54 /* Endianness */
    55 #undef SDL_BYTEORDER
    56 
    57 /* Comment this if you want to build without any C library requirements */
    58 #undef HAVE_LIBC
    59 #if HAVE_LIBC
    60 
    61 /* Useful headers */
    62 #undef HAVE_ALLOCA_H
    63 #undef HAVE_SYS_TYPES_H
    64 #undef HAVE_STDIO_H
    65 #undef STDC_HEADERS
    66 #undef HAVE_STDLIB_H
    67 #undef HAVE_STDARG_H
    68 #undef HAVE_MALLOC_H
    69 #undef HAVE_MEMORY_H
    70 #undef HAVE_STRING_H
    71 #undef HAVE_STRINGS_H
    72 #undef HAVE_INTTYPES_H
    73 #undef HAVE_STDINT_H
    74 #undef HAVE_CTYPE_H
    75 #undef HAVE_MATH_H
    76 #undef HAVE_ICONV_H
    77 #undef HAVE_SIGNAL_H
    78 #undef HAVE_ALTIVEC_H
    79 
    80 /* C library functions */
    81 #undef HAVE_MALLOC
    82 #undef HAVE_CALLOC
    83 #undef HAVE_REALLOC
    84 #undef HAVE_FREE
    85 #undef HAVE_ALLOCA
    86 #ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
    87 #undef HAVE_GETENV
    88 #undef HAVE_PUTENV
    89 #undef HAVE_UNSETENV
    90 #endif
    91 #undef HAVE_QSORT
    92 #undef HAVE_ABS
    93 #undef HAVE_BCOPY
    94 #undef HAVE_MEMSET
    95 #undef HAVE_MEMCPY
    96 #undef HAVE_MEMMOVE
    97 #undef HAVE_MEMCMP
    98 #undef HAVE_STRLEN
    99 #undef HAVE_STRLCPY
   100 #undef HAVE_STRLCAT
   101 #undef HAVE_STRDUP
   102 #undef HAVE__STRREV
   103 #undef HAVE__STRUPR
   104 #undef HAVE__STRLWR
   105 #undef HAVE_INDEX
   106 #undef HAVE_RINDEX
   107 #undef HAVE_STRCHR
   108 #undef HAVE_STRRCHR
   109 #undef HAVE_STRSTR
   110 #undef HAVE_ITOA
   111 #undef HAVE__LTOA
   112 #undef HAVE__UITOA
   113 #undef HAVE__ULTOA
   114 #undef HAVE_STRTOL
   115 #undef HAVE_STRTOUL
   116 #undef HAVE__I64TOA
   117 #undef HAVE__UI64TOA
   118 #undef HAVE_STRTOLL
   119 #undef HAVE_STRTOULL
   120 #undef HAVE_STRTOD
   121 #undef HAVE_ATOI
   122 #undef HAVE_ATOF
   123 #undef HAVE_STRCMP
   124 #undef HAVE_STRNCMP
   125 #undef HAVE__STRICMP
   126 #undef HAVE_STRCASECMP
   127 #undef HAVE__STRNICMP
   128 #undef HAVE_STRNCASECMP
   129 #undef HAVE_SSCANF
   130 #undef HAVE_SNPRINTF
   131 #undef HAVE_VSNPRINTF
   132 #undef HAVE_ICONV
   133 #undef HAVE_SIGACTION
   134 #undef HAVE_SETJMP
   135 #undef HAVE_NANOSLEEP
   136 #undef HAVE_CLOCK_GETTIME
   137 #undef HAVE_DLVSYM
   138 #undef HAVE_GETPAGESIZE
   139 
   140 #else
   141 /* We may need some replacement for stdarg.h here */
   142 #include <stdarg.h>
   143 #endif /* HAVE_LIBC */
   144 
   145 /* Allow disabling of core subsystems */
   146 #undef SDL_AUDIO_DISABLED
   147 #undef SDL_CDROM_DISABLED
   148 #undef SDL_CPUINFO_DISABLED
   149 #undef SDL_EVENTS_DISABLED
   150 #undef SDL_FILE_DISABLED
   151 #undef SDL_JOYSTICK_DISABLED
   152 #undef SDL_HAPTIC_DISABLED
   153 #undef SDL_LOADSO_DISABLED
   154 #undef SDL_THREADS_DISABLED
   155 #undef SDL_TIMERS_DISABLED
   156 #undef SDL_VIDEO_DISABLED
   157 
   158 /* Enable various audio drivers */
   159 #undef SDL_AUDIO_DRIVER_ALSA
   160 #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
   161 #undef SDL_AUDIO_DRIVER_ARTS
   162 #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
   163 #undef SDL_AUDIO_DRIVER_PULSEAUDIO
   164 #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC
   165 #undef SDL_AUDIO_DRIVER_BEOSAUDIO
   166 #undef SDL_AUDIO_DRIVER_BSD
   167 #undef SDL_AUDIO_DRIVER_COREAUDIO
   168 #undef SDL_AUDIO_DRIVER_DART
   169 #undef SDL_AUDIO_DRIVER_DC
   170 #undef SDL_AUDIO_DRIVER_DISK
   171 #undef SDL_AUDIO_DRIVER_DUMMY
   172 #undef SDL_AUDIO_DRIVER_DMEDIA
   173 #undef SDL_AUDIO_DRIVER_DSOUND
   174 #undef SDL_AUDIO_DRIVER_ESD
   175 #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
   176 #undef SDL_AUDIO_DRIVER_MINT
   177 #undef SDL_AUDIO_DRIVER_MMEAUDIO
   178 #undef SDL_AUDIO_DRIVER_NAS
   179 #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
   180 #undef SDL_AUDIO_DRIVER_NDS
   181 #undef SDL_AUDIO_DRIVER_OSS
   182 #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
   183 #undef SDL_AUDIO_DRIVER_PAUDIO
   184 #undef SDL_AUDIO_DRIVER_QNXNTO
   185 #undef SDL_AUDIO_DRIVER_SNDMGR
   186 #undef SDL_AUDIO_DRIVER_SUNAUDIO
   187 #undef SDL_AUDIO_DRIVER_WINWAVEOUT
   188 
   189 /* Enable various cdrom drivers */
   190 #undef SDL_CDROM_AIX
   191 #undef SDL_CDROM_BEOS
   192 #undef SDL_CDROM_BSDI
   193 #undef SDL_CDROM_DC
   194 #undef SDL_CDROM_DUMMY
   195 #undef SDL_CDROM_FREEBSD
   196 #undef SDL_CDROM_LINUX
   197 #undef SDL_CDROM_MACOSX
   198 #undef SDL_CDROM_MINT
   199 #undef SDL_CDROM_OPENBSD
   200 #undef SDL_CDROM_OS2
   201 #undef SDL_CDROM_OSF
   202 #undef SDL_CDROM_QNX
   203 #undef SDL_CDROM_WIN32
   204 
   205 /* Enable various input drivers */
   206 #undef SDL_INPUT_LINUXEV
   207 #undef SDL_INPUT_TSLIB
   208 #undef SDL_JOYSTICK_BEOS
   209 #undef SDL_JOYSTICK_DC
   210 #undef SDL_JOYSTICK_DINPUT
   211 #undef SDL_JOYSTICK_DUMMY
   212 #undef SDL_JOYSTICK_IOKIT
   213 #undef SDL_JOYSTICK_LINUX
   214 #undef SDL_JOYSTICK_MINT
   215 #undef SDL_JOYSTICK_NDS
   216 #undef SDL_JOYSTICK_OS2
   217 #undef SDL_JOYSTICK_RISCOS
   218 #undef SDL_JOYSTICK_WINMM
   219 #undef SDL_JOYSTICK_USBHID
   220 #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
   221 #undef SDL_HAPTIC_DUMMY
   222 #undef SDL_HAPTIC_LINUX
   223 #undef SDL_HAPTIC_IOKIT
   224 #undef SDL_HAPTIC_DINPUT
   225 
   226 /* Enable various shared object loading systems */
   227 #undef SDL_LOADSO_BEOS
   228 #undef SDL_LOADSO_DLCOMPAT
   229 #undef SDL_LOADSO_DLOPEN
   230 #undef SDL_LOADSO_DUMMY
   231 #undef SDL_LOADSO_LDG
   232 #undef SDL_LOADSO_OS2
   233 #undef SDL_LOADSO_WIN32
   234 
   235 /* Enable various threading systems */
   236 #undef SDL_THREAD_BEOS
   237 #undef SDL_THREAD_DC
   238 #undef SDL_THREAD_NDS
   239 #undef SDL_THREAD_OS2
   240 #undef SDL_THREAD_PTH
   241 #undef SDL_THREAD_PTHREAD
   242 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
   243 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
   244 #undef SDL_THREAD_SPROC
   245 #undef SDL_THREAD_WIN32
   246 
   247 /* Enable various timer systems */
   248 #undef SDL_TIMER_BEOS
   249 #undef SDL_TIMER_DC
   250 #undef SDL_TIMER_DUMMY
   251 #undef SDL_TIMER_MINT
   252 #undef SDL_TIMER_NDS
   253 #undef SDL_TIMER_OS2
   254 #undef SDL_TIMER_RISCOS
   255 #undef SDL_TIMER_UNIX
   256 #undef SDL_TIMER_WIN32
   257 #undef SDL_TIMER_WINCE
   258 
   259 /* Enable various video drivers */
   260 #undef SDL_VIDEO_DRIVER_BWINDOW
   261 #undef SDL_VIDEO_DRIVER_COCOA
   262 #undef SDL_VIDEO_DRIVER_DC
   263 #undef SDL_VIDEO_DRIVER_DIRECTFB
   264 #undef SDL_VIDEO_DRIVER_DUMMY
   265 #undef SDL_VIDEO_DRIVER_FBCON
   266 #undef SDL_VIDEO_DRIVER_GAPI
   267 #undef SDL_VIDEO_DRIVER_GEM
   268 #undef SDL_VIDEO_DRIVER_IPOD
   269 #undef SDL_VIDEO_DRIVER_NANOX
   270 #undef SDL_VIDEO_DRIVER_NDS
   271 #undef SDL_VIDEO_DRIVER_OS2FS
   272 #undef SDL_VIDEO_DRIVER_PHOTON
   273 #undef SDL_VIDEO_DRIVER_PS2GS
   274 #undef SDL_VIDEO_DRIVER_RISCOS
   275 #undef SDL_VIDEO_DRIVER_SVGALIB
   276 #undef SDL_VIDEO_DRIVER_VGL
   277 #undef SDL_VIDEO_DRIVER_WIN32
   278 #undef SDL_VIDEO_DRIVER_WSCONS
   279 #undef SDL_VIDEO_DRIVER_X11
   280 #undef SDL_VIDEO_DRIVER_X11_DPMS
   281 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
   282 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
   283 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
   284 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
   285 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT
   286 #undef SDL_VIDEO_DRIVER_X11_VIDMODE
   287 #undef SDL_VIDEO_DRIVER_X11_XINERAMA
   288 #undef SDL_VIDEO_DRIVER_X11_XME
   289 #undef SDL_VIDEO_DRIVER_X11_XRANDR
   290 #undef SDL_VIDEO_DRIVER_X11_XINPUT
   291 #undef SDL_VIDEO_DRIVER_X11_XV
   292 #undef SDL_VIDEO_DRIVER_XBIOS
   293 
   294 #undef SDL_VIDEO_RENDER_D3D
   295 #undef SDL_VIDEO_RENDER_GDI
   296 #undef SDL_VIDEO_RENDER_OGL
   297 
   298 /* Enable OpenGL support */
   299 #undef SDL_VIDEO_OPENGL
   300 #undef SDL_VIDEO_OPENGL_BGL
   301 #undef SDL_VIDEO_OPENGL_CGL
   302 #undef SDL_VIDEO_OPENGL_GLX
   303 #undef SDL_VIDEO_OPENGL_WGL
   304 #undef SDL_VIDEO_OPENGL_OSMESA
   305 #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
   306 
   307 /* Enable assembly routines */
   308 #undef SDL_ASSEMBLY_ROUTINES
   309 #undef SDL_ALTIVEC_BLITTERS
   310 
   311 #endif /* _SDL_config_h */