include/SDL_config_win32.h
author Bob Pendleton <bob@pendleton.com>
Thu, 09 Jul 2009 21:31:27 +0000
changeset 3216 48a80f2a7ff2
parent 3180 77d6336711fc
child 3219 b91354fa65a2
permissions -rw-r--r--
volitile... duh, yeah the variable need to be labeled volitile
     1 /*
     2     SDL - Simple DirectMedia Layer
     3     Copyright (C) 1997-2009 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_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 
    72 #ifdef _WIN64
    73 # define SIZEOF_VOIDP 8
    74 #else
    75 # define SIZEOF_VOIDP 4
    76 #endif
    77 #define SDL_HAS_64BIT_TYPE	1
    78 
    79 /* Enabled for SDL 1.2 (binary compatibility) */
    80 //#define HAVE_LIBC     1
    81 #ifdef HAVE_LIBC
    82 /* Useful headers */
    83 #define HAVE_STDIO_H 1
    84 #define STDC_HEADERS 1
    85 #define HAVE_STRING_H 1
    86 #define HAVE_CTYPE_H 1
    87 #define HAVE_MATH_H 1
    88 #ifndef _WIN32_WCE
    89 #define HAVE_SIGNAL_H 1
    90 #endif
    91 
    92 /* C library functions */
    93 #define HAVE_MALLOC 1
    94 #define HAVE_CALLOC 1
    95 #define HAVE_REALLOC 1
    96 #define HAVE_FREE 1
    97 #define HAVE_ALLOCA 1
    98 #define HAVE_QSORT 1
    99 #define HAVE_ABS 1
   100 #define HAVE_MEMSET 1
   101 #define HAVE_MEMCPY 1
   102 #define HAVE_MEMMOVE 1
   103 #define HAVE_MEMCMP 1
   104 #define HAVE_STRLEN 1
   105 #define HAVE__STRREV 1
   106 #define HAVE__STRUPR 1
   107 #define HAVE__STRLWR 1
   108 #define HAVE_STRCHR 1
   109 #define HAVE_STRRCHR 1
   110 #define HAVE_STRSTR 1
   111 #define HAVE_ITOA 1
   112 #define HAVE__LTOA 1
   113 #define HAVE__ULTOA 1
   114 #define HAVE_STRTOL 1
   115 #define HAVE_STRTOUL 1
   116 #define HAVE_STRTOLL 1
   117 #define HAVE_STRTOD 1
   118 #define HAVE_ATOI 1
   119 #define HAVE_ATOF 1
   120 #define HAVE_STRCMP 1
   121 #define HAVE_STRNCMP 1
   122 #define HAVE__STRICMP 1
   123 #define HAVE__STRNICMP 1
   124 #define HAVE_SSCANF 1
   125 #define HAVE_M_PI 1
   126 #define HAVE_CEIL 1
   127 #define HAVE_COPYSIGN 1
   128 #define HAVE_COS 1
   129 #define HAVE_COSF 1
   130 #define HAVE_FABS 1
   131 #define HAVE_FLOOR 1
   132 #define HAVE_LOG 1
   133 #define HAVE_POW 1
   134 #define HAVE_SCALBN 1
   135 #define HAVE_SIN 1
   136 #define HAVE_SINF 1
   137 #define HAVE_SQRT 1
   138 #else
   139 #define HAVE_STDARG_H	1
   140 #define HAVE_STDDEF_H	1
   141 #endif
   142 
   143 /* Enable various audio drivers */
   144 #ifndef _WIN32_WCE
   145 #define SDL_AUDIO_DRIVER_DSOUND	1
   146 #endif
   147 #define SDL_AUDIO_DRIVER_WINWAVEOUT	1
   148 #define SDL_AUDIO_DRIVER_DISK	1
   149 #define SDL_AUDIO_DRIVER_DUMMY	1
   150 
   151 /* Enable various cdrom drivers */
   152 #ifdef _WIN32_WCE
   153 #define SDL_CDROM_DISABLED	1
   154 #else
   155 #define SDL_CDROM_WIN32		1
   156 #endif
   157 
   158 /* Enable various input drivers */
   159 #ifdef _WIN32_WCE
   160 #define SDL_JOYSTICK_DISABLED	1
   161 #define SDL_HAPTIC_DUMMY	1
   162 #else
   163 #define SDL_JOYSTICK_DINPUT	1
   164 #define SDL_HAPTIC_DINPUT	1
   165 #endif
   166 
   167 /* Enable various shared object loading systems */
   168 #define SDL_LOADSO_WIN32	1
   169 
   170 /* Enable various threading systems */
   171 #define SDL_THREAD_WIN32	1
   172 
   173 /* Enable various timer systems */
   174 #ifdef _WIN32_WCE
   175 #define SDL_TIMER_WINCE	1
   176 #else
   177 #define SDL_TIMER_WIN32	1
   178 #endif
   179 
   180 /* Enable various video drivers */
   181 #define SDL_VIDEO_DRIVER_DUMMY	1
   182 #define SDL_VIDEO_DRIVER_WIN32	1
   183 
   184 #define SDL_VIDEO_RENDER_D3D	1
   185 #define SDL_VIDEO_RENDER_GDI	1
   186 
   187 /* Enable OpenGL support */
   188 #ifndef _WIN32_WCE
   189 #define SDL_VIDEO_OPENGL	1
   190 #define SDL_VIDEO_OPENGL_WGL	1
   191 #define SDL_VIDEO_RENDER_OGL	1
   192 #endif
   193 
   194 /* Enable system power support */
   195 #define SDL_POWER_WINDOWS 1
   196 
   197 /* Enable assembly routines (Win64 doesn't have inline asm) */
   198 #ifndef _WIN64
   199 #define SDL_ASSEMBLY_ROUTINES	1
   200 #endif
   201 
   202 #endif /* _SDL_config_win32_h */