Home | History | Annotate | Download | only in include
      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 (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_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_LOADSO_DISABLED
    153 #undef SDL_THREADS_DISABLED
    154 #undef SDL_TIMERS_DISABLED
    155 #undef SDL_VIDEO_DISABLED
    156 
    157 /* Enable various audio drivers */
    158 #undef SDL_AUDIO_DRIVER_ALSA
    159 #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC
    160 #undef SDL_AUDIO_DRIVER_ARTS
    161 #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
    162 #undef SDL_AUDIO_DRIVER_BAUDIO
    163 #undef SDL_AUDIO_DRIVER_BSD
    164 #undef SDL_AUDIO_DRIVER_COREAUDIO
    165 #undef SDL_AUDIO_DRIVER_DART
    166 #undef SDL_AUDIO_DRIVER_DC
    167 #undef SDL_AUDIO_DRIVER_DISK
    168 #undef SDL_AUDIO_DRIVER_DUMMY
    169 #undef SDL_AUDIO_DRIVER_DMEDIA
    170 #undef SDL_AUDIO_DRIVER_DSOUND
    171 #undef SDL_AUDIO_DRIVER_PULSE
    172 #undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC
    173 #undef SDL_AUDIO_DRIVER_ESD
    174 #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
    175 #undef SDL_AUDIO_DRIVER_MINT
    176 #undef SDL_AUDIO_DRIVER_MMEAUDIO
    177 #undef SDL_AUDIO_DRIVER_NAS
    178 #undef SDL_AUDIO_DRIVER_OSS
    179 #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
    180 #undef SDL_AUDIO_DRIVER_PAUD
    181 #undef SDL_AUDIO_DRIVER_QNXNTO
    182 #undef SDL_AUDIO_DRIVER_SNDMGR
    183 #undef SDL_AUDIO_DRIVER_SUNAUDIO
    184 #undef SDL_AUDIO_DRIVER_WAVEOUT
    185 
    186 /* Enable various cdrom drivers */
    187 #undef SDL_CDROM_AIX
    188 #undef SDL_CDROM_BEOS
    189 #undef SDL_CDROM_BSDI
    190 #undef SDL_CDROM_DC
    191 #undef SDL_CDROM_DUMMY
    192 #undef SDL_CDROM_FREEBSD
    193 #undef SDL_CDROM_LINUX
    194 #undef SDL_CDROM_MACOS
    195 #undef SDL_CDROM_MACOSX
    196 #undef SDL_CDROM_MINT
    197 #undef SDL_CDROM_OPENBSD
    198 #undef SDL_CDROM_OS2
    199 #undef SDL_CDROM_OSF
    200 #undef SDL_CDROM_QNX
    201 #undef SDL_CDROM_WIN32
    202 
    203 /* Enable various input drivers */
    204 #undef SDL_INPUT_TSLIB
    205 #undef SDL_JOYSTICK_BEOS
    206 #undef SDL_JOYSTICK_DC
    207 #undef SDL_JOYSTICK_DUMMY
    208 #undef SDL_JOYSTICK_IOKIT
    209 #undef SDL_JOYSTICK_LINUX
    210 #undef SDL_JOYSTICK_LINUXEV
    211 #undef SDL_JOYSTICK_MACOS
    212 #undef SDL_JOYSTICK_MINT
    213 #undef SDL_JOYSTICK_OS2
    214 #undef SDL_JOYSTICK_RISCOS
    215 #undef SDL_JOYSTICK_WINMM
    216 #undef SDL_JOYSTICK_USBHID
    217 #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
    218 
    219 /* Enable various shared object loading systems */
    220 #undef SDL_LOADSO_BEOS
    221 #undef SDL_LOADSO_DLCOMPAT
    222 #undef SDL_LOADSO_DLOPEN
    223 #undef SDL_LOADSO_DUMMY
    224 #undef SDL_LOADSO_LDG
    225 #undef SDL_LOADSO_MACOS
    226 #undef SDL_LOADSO_OS2
    227 #undef SDL_LOADSO_WIN32
    228 
    229 /* Enable various threading systems */
    230 #undef SDL_THREAD_BEOS
    231 #undef SDL_THREAD_DC
    232 #undef SDL_THREAD_OS2
    233 #undef SDL_THREAD_PTH
    234 #undef SDL_THREAD_PTHREAD
    235 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
    236 #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
    237 #undef SDL_THREAD_SPROC
    238 #undef SDL_THREAD_WIN32
    239 
    240 /* Enable various timer systems */
    241 #undef SDL_TIMER_BEOS
    242 #undef SDL_TIMER_DC
    243 #undef SDL_TIMER_DUMMY
    244 #undef SDL_TIMER_MACOS
    245 #undef SDL_TIMER_MINT
    246 #undef SDL_TIMER_OS2
    247 #undef SDL_TIMER_RISCOS
    248 #undef SDL_TIMER_UNIX
    249 #undef SDL_TIMER_WIN32
    250 #undef SDL_TIMER_WINCE
    251 
    252 /* Enable various video drivers */
    253 #undef SDL_VIDEO_DRIVER_AALIB
    254 #undef SDL_VIDEO_DRIVER_BWINDOW
    255 #undef SDL_VIDEO_DRIVER_DC
    256 #undef SDL_VIDEO_DRIVER_DDRAW
    257 #undef SDL_VIDEO_DRIVER_DGA
    258 #undef SDL_VIDEO_DRIVER_DIRECTFB
    259 #undef SDL_VIDEO_DRIVER_DRAWSPROCKET
    260 #undef SDL_VIDEO_DRIVER_DUMMY
    261 #undef SDL_VIDEO_DRIVER_FBCON
    262 #undef SDL_VIDEO_DRIVER_GAPI
    263 #undef SDL_VIDEO_DRIVER_GEM
    264 #undef SDL_VIDEO_DRIVER_GGI
    265 #undef SDL_VIDEO_DRIVER_IPOD
    266 #undef SDL_VIDEO_DRIVER_NANOX
    267 #undef SDL_VIDEO_DRIVER_OS2FS
    268 #undef SDL_VIDEO_DRIVER_PHOTON
    269 #undef SDL_VIDEO_DRIVER_PICOGUI
    270 #undef SDL_VIDEO_DRIVER_PS2GS
    271 #undef SDL_VIDEO_DRIVER_QTOPIA
    272 #undef SDL_VIDEO_DRIVER_QUARTZ
    273 #undef SDL_VIDEO_DRIVER_RISCOS
    274 #undef SDL_VIDEO_DRIVER_SVGALIB
    275 #undef SDL_VIDEO_DRIVER_TOOLBOX
    276 #undef SDL_VIDEO_DRIVER_VGL
    277 #undef SDL_VIDEO_DRIVER_WINDIB
    278 #undef SDL_VIDEO_DRIVER_WSCONS
    279 #undef SDL_VIDEO_DRIVER_X11
    280 #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE
    281 #undef SDL_VIDEO_DRIVER_X11_DPMS
    282 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
    283 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
    284 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR
    285 #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER
    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_XV
    291 #undef SDL_VIDEO_DRIVER_XBIOS
    292 
    293 /* Enable OpenGL support */
    294 #undef SDL_VIDEO_OPENGL
    295 #undef SDL_VIDEO_OPENGL_GLX
    296 #undef SDL_VIDEO_OPENGL_WGL
    297 #undef SDL_VIDEO_OPENGL_OSMESA
    298 #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC
    299 
    300 /* Enable assembly routines */
    301 #undef SDL_ASSEMBLY_ROUTINES
    302 #undef SDL_HERMES_BLITTERS
    303 #undef SDL_ALTIVEC_BLITTERS
    304 
    305 #endif /* _SDL_config_h */
    306