Home | History | Annotate | Download | only in include
      1 /*
      2     SDL - Simple DirectMedia Layer
      3     Copyright (C) 1997-2012 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 (at) 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_SA_SIGACTION
    135 #undef HAVE_SETJMP
    136 #undef HAVE_NANOSLEEP
    137 #undef HAVE_CLOCK_GETTIME
    138 #undef HAVE_GETPAGESIZE
    139 #undef HAVE_MPROTECT
    140 #undef HAVE_SEM_TIMEDWAIT
    141 
    142 #else
    143 /* We may need some replacement for stdarg.h here */
    144 #include <stdarg.h>
    145 #endif /* HAVE_LIBC */
    146 
    147 /* Allow disabling of core subsystems */
    148 #undef SDL_AUDIO_DISABLED
    149 #undef SDL_CDROM_DISABLED
    150 #undef SDL_CPUINFO_DISABLED
    151 #undef SDL_EVENTS_DISABLED
    152 #undef SDL_FILE_DISABLED
    153 #undef SDL_JOYSTICK_DISABLED
    154 #undef SDL_LOADSO_DISABLED
    155 #undef SDL_THREADS_DISABLED
    156 #undef SDL_TIMERS_DISABLED
    157 #undef SDL_VIDEO_DISABLED
    158 
    159 /* Enable various audio drivers */
    160 #undef SDL_AUDIO_DRIVER_ALSA
    161 #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
    162 #undef SDL_AUDIO_DRIVER_ARTS
    163 #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
    164 #undef SDL_AUDIO_DRIVER_BAUDIO
    165 #undef SDL_AUDIO_DRIVER_BSD
    166 #undef SDL_AUDIO_DRIVER_COREAUDIO
    167 #undef SDL_AUDIO_DRIVER_DART
    168 #undef SDL_AUDIO_DRIVER_DC
    169 #undef SDL_AUDIO_DRIVER_DISK
    170 #undef SDL_AUDIO_DRIVER_DUMMY
    171 #undef SDL_AUDIO_DRIVER_DMEDIA
    172 #undef SDL_AUDIO_DRIVER_DSOUND
    173 #undef SDL_AUDIO_DRIVER_PULSE
    174 #undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC
    175 #undef SDL_AUDIO_DRIVER_ESD
    176 #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
    177 #undef SDL_AUDIO_DRIVER_MINT
    178 #undef SDL_AUDIO_DRIVER_MMEAUDIO
    179 #undef SDL_AUDIO_DRIVER_NAS
    180 #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
    181 #undef SDL_AUDIO_DRIVER_OSS
    182 #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
    183 #undef SDL_AUDIO_DRIVER_PAUD
    184 #undef SDL_AUDIO_DRIVER_QNXNTO
    185 #undef SDL_AUDIO_DRIVER_SNDMGR
    186 #undef SDL_AUDIO_DRIVER_SUNAUDIO
    187 #undef SDL_AUDIO_DRIVER_WAVEOUT
    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_MACOS
    198 #undef SDL_CDROM_MACOSX
    199 #undef SDL_CDROM_MINT
    200 #undef SDL_CDROM_OPENBSD
    201 #undef SDL_CDROM_OS2
    202 #undef SDL_CDROM_OSF
    203 #undef SDL_CDROM_QNX
    204 #undef SDL_CDROM_WIN32
    205 
    206 /* Enable various input drivers */
    207 #undef SDL_INPUT_LINUXEV
    208 #undef SDL_INPUT_TSLIB
    209 #undef SDL_JOYSTICK_BEOS
    210 #undef SDL_JOYSTICK_DC
    211 #undef SDL_JOYSTICK_DUMMY
    212 #undef SDL_JOYSTICK_IOKIT
    213 #undef SDL_JOYSTICK_LINUX
    214 #undef SDL_JOYSTICK_MACOS
    215 #undef SDL_JOYSTICK_MINT
    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 
    222 /* Enable various shared object loading systems */
    223 #undef SDL_LOADSO_BEOS
    224 #undef SDL_LOADSO_DLCOMPAT
    225 #undef SDL_LOADSO_DLOPEN
    226 #undef SDL_LOADSO_DUMMY
    227 #undef SDL_LOADSO_LDG
    228 #undef SDL_LOADSO_MACOS
    229 #undef SDL_LOADSO_OS2
    230 #undef SDL_LOADSO_WIN32
    231 
    232 /* Enable various threading systems */
    233 #undef SDL_THREAD_BEOS
    234 #undef SDL_THREAD_DC
    235 #undef SDL_THREAD_OS2
    236 #undef SDL_THREAD_PTH
    237 #undef SDL_THREAD_PTHREAD
    238 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
    239 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
    240 #undef SDL_THREAD_SPROC
    241 #undef SDL_THREAD_WIN32
    242 
    243 /* Enable various timer systems */
    244 #undef SDL_TIMER_BEOS
    245 #undef SDL_TIMER_DC
    246 #undef SDL_TIMER_DUMMY
    247 #undef SDL_TIMER_MACOS
    248 #undef SDL_TIMER_MINT
    249 #undef SDL_TIMER_OS2
    250 #undef SDL_TIMER_RISCOS
    251 #undef SDL_TIMER_UNIX
    252 #undef SDL_TIMER_WIN32
    253 #undef SDL_TIMER_WINCE
    254 
    255 /* Enable various video drivers */
    256 #undef SDL_VIDEO_DRIVER_AALIB
    257 #undef SDL_VIDEO_DRIVER_BWINDOW
    258 #undef SDL_VIDEO_DRIVER_CACA
    259 #undef SDL_VIDEO_DRIVER_DC
    260 #undef SDL_VIDEO_DRIVER_DDRAW
    261 #undef SDL_VIDEO_DRIVER_DGA
    262 #undef SDL_VIDEO_DRIVER_DIRECTFB
    263 #undef SDL_VIDEO_DRIVER_DRAWSPROCKET
    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_GGI
    269 #undef SDL_VIDEO_DRIVER_IPOD
    270 #undef SDL_VIDEO_DRIVER_NANOX
    271 #undef SDL_VIDEO_DRIVER_OS2FS
    272 #undef SDL_VIDEO_DRIVER_PHOTON
    273 #undef SDL_VIDEO_DRIVER_PICOGUI
    274 #undef SDL_VIDEO_DRIVER_PS2GS
    275 #undef SDL_VIDEO_DRIVER_PS3
    276 #undef SDL_VIDEO_DRIVER_QTOPIA
    277 #undef SDL_VIDEO_DRIVER_QUARTZ
    278 #undef SDL_VIDEO_DRIVER_RISCOS
    279 #undef SDL_VIDEO_DRIVER_SVGALIB
    280 #undef SDL_VIDEO_DRIVER_TOOLBOX
    281 #undef SDL_VIDEO_DRIVER_VGL
    282 #undef SDL_VIDEO_DRIVER_WINDIB
    283 #undef SDL_VIDEO_DRIVER_WSCONS
    284 #undef SDL_VIDEO_DRIVER_X11
    285 #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
    286 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
    287 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
    288 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
    289 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
    290 #undef SDL_VIDEO_DRIVER_X11_VIDMODE
    291 #undef SDL_VIDEO_DRIVER_X11_XINERAMA
    292 #undef SDL_VIDEO_DRIVER_X11_XME
    293 #undef SDL_VIDEO_DRIVER_X11_XRANDR
    294 #undef SDL_VIDEO_DRIVER_X11_XV
    295 #undef SDL_VIDEO_DRIVER_XBIOS
    296 
    297 /* Enable OpenGL support */
    298 #undef SDL_VIDEO_OPENGL
    299 #undef SDL_VIDEO_OPENGL_GLX
    300 #undef SDL_VIDEO_OPENGL_WGL
    301 #undef SDL_VIDEO_OPENGL_OSMESA
    302 #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
    303 
    304 /* Disable screensaver */
    305 #undef SDL_VIDEO_DISABLE_SCREENSAVER
    306 
    307 /* Enable assembly routines */
    308 #undef SDL_ASSEMBLY_ROUTINES
    309 #undef SDL_HERMES_BLITTERS
    310 #undef SDL_ALTIVEC_BLITTERS
    311 
    312 #endif /* _SDL_config_h */
    313