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_win32_h
     24 #define _SDL_config_win32_h
     25 
     26 #include "SDL_platform.h"
     27 
     28 /* This is a set of defines to configure the SDL features */
     29 
     30 #if defined(__GNUC__) || defined(__DMC__)
     31 #define HAVE_STDINT_H	1
     32 #elif defined(_MSC_VER)
     33 typedef signed __int8		int8_t;
     34 typedef unsigned __int8		uint8_t;
     35 typedef signed __int16		int16_t;
     36 typedef unsigned __int16	uint16_t;
     37 typedef signed __int32		int32_t;
     38 typedef unsigned __int32	uint32_t;
     39 typedef signed __int64		int64_t;
     40 typedef unsigned __int64	uint64_t;
     41 #ifndef _UINTPTR_T_DEFINED
     42 #ifdef  _WIN64
     43 typedef unsigned __int64    uintptr_t;
     44 #else
     45 typedef unsigned int   uintptr_t;
     46 #endif
     47 #define _UINTPTR_T_DEFINED
     48 #endif
     49 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */
     50 #if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
     51 #define DWORD_PTR DWORD
     52 #endif
     53 #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
     54 #define LONG_PTR LONG
     55 #endif
     56 #else	/* !__GNUC__ && !_MSC_VER */
     57 typedef signed char int8_t;
     58 typedef unsigned char uint8_t;
     59 typedef signed short int16_t;
     60 typedef unsigned short uint16_t;
     61 typedef signed int int32_t;
     62 typedef unsigned int uint32_t;
     63 typedef signed long long int64_t;
     64 typedef unsigned long long uint64_t;
     65 #ifndef _SIZE_T_DEFINED_
     66 #define _SIZE_T_DEFINED_
     67 typedef unsigned int size_t;
     68 #endif
     69 typedef unsigned int uintptr_t;
     70 #endif /* __GNUC__ || _MSC_VER */
     71 #define SDL_HAS_64BIT_TYPE	1
     72 
     73 /* Enabled for SDL 1.2 (binary compatibility) */
     74 #define HAVE_LIBC	1
     75 #ifdef HAVE_LIBC
     76 /* Useful headers */
     77 #define HAVE_STDIO_H 1
     78 #define STDC_HEADERS 1
     79 #define HAVE_STRING_H 1
     80 #define HAVE_CTYPE_H 1
     81 #define HAVE_MATH_H 1
     82 #ifndef _WIN32_WCE
     83 #define HAVE_SIGNAL_H 1
     84 #endif
     85 
     86 /* C library functions */
     87 #define HAVE_MALLOC 1
     88 #define HAVE_CALLOC 1
     89 #define HAVE_REALLOC 1
     90 #define HAVE_FREE 1
     91 #define HAVE_ALLOCA 1
     92 #define HAVE_QSORT 1
     93 #define HAVE_ABS 1
     94 #define HAVE_MEMSET 1
     95 #define HAVE_MEMCPY 1
     96 #define HAVE_MEMMOVE 1
     97 #define HAVE_MEMCMP 1
     98 #define HAVE_STRLEN 1
     99 #define HAVE__STRREV 1
    100 #define HAVE__STRUPR 1
    101 #define HAVE__STRLWR 1
    102 #define HAVE_STRCHR 1
    103 #define HAVE_STRRCHR 1
    104 #define HAVE_STRSTR 1
    105 #define HAVE_ITOA 1
    106 #define HAVE__LTOA 1
    107 #define HAVE__ULTOA 1
    108 #define HAVE_STRTOL 1
    109 #define HAVE_STRTOUL 1
    110 #define HAVE_STRTOLL 1
    111 #define HAVE_STRTOD 1
    112 #define HAVE_ATOI 1
    113 #define HAVE_ATOF 1
    114 #define HAVE_STRCMP 1
    115 #define HAVE_STRNCMP 1
    116 #define HAVE__STRICMP 1
    117 #define HAVE__STRNICMP 1
    118 #define HAVE_SSCANF 1
    119 #else
    120 #define HAVE_STDARG_H	1
    121 #define HAVE_STDDEF_H	1
    122 #endif
    123 
    124 /* Enable various audio drivers */
    125 #ifndef _WIN32_WCE
    126 #define SDL_AUDIO_DRIVER_DSOUND	1
    127 #endif
    128 #define SDL_AUDIO_DRIVER_WAVEOUT	1
    129 #define SDL_AUDIO_DRIVER_DISK	1
    130 #define SDL_AUDIO_DRIVER_DUMMY	1
    131 
    132 /* Enable various cdrom drivers */
    133 #ifdef _WIN32_WCE
    134 #define SDL_CDROM_DISABLED      1
    135 #else
    136 #define SDL_CDROM_WIN32		1
    137 #endif
    138 
    139 /* Enable various input drivers */
    140 #ifdef _WIN32_WCE
    141 #define SDL_JOYSTICK_DISABLED   1
    142 #else
    143 #define SDL_JOYSTICK_WINMM	1
    144 #endif
    145 
    146 /* Enable various shared object loading systems */
    147 #define SDL_LOADSO_WIN32	1
    148 
    149 /* Enable various threading systems */
    150 #define SDL_THREAD_WIN32	1
    151 
    152 /* Enable various timer systems */
    153 #ifdef _WIN32_WCE
    154 #define SDL_TIMER_WINCE	1
    155 #else
    156 #define SDL_TIMER_WIN32	1
    157 #endif
    158 
    159 /* Enable various video drivers */
    160 #ifdef _WIN32_WCE
    161 #define SDL_VIDEO_DRIVER_GAPI	1
    162 #endif
    163 #ifndef _WIN32_WCE
    164 #define SDL_VIDEO_DRIVER_DDRAW	1
    165 #endif
    166 #define SDL_VIDEO_DRIVER_DUMMY	1
    167 #define SDL_VIDEO_DRIVER_WINDIB	1
    168 
    169 /* Enable OpenGL support */
    170 #ifndef _WIN32_WCE
    171 #define SDL_VIDEO_OPENGL	1
    172 #define SDL_VIDEO_OPENGL_WGL	1
    173 #endif
    174 
    175 /* Enable assembly routines (Win64 doesn't have inline asm) */
    176 #ifndef _WIN64
    177 #define SDL_ASSEMBLY_ROUTINES	1
    178 #endif
    179 
    180 #endif /* _SDL_config_win32_h */
    181