include/SDL_config_win32.h
author Paul Hunkin <paul@bieh.net>
Mon, 17 May 2010 15:14:34 +1200
changeset 4695 b7918263da92
parent 3697 f7b03b6838cb
child 4874 8288636b861d
permissions -rw-r--r--
Initial commit, adding __ANDROID__ to the platform list
     1 /*
     2     SDL - Simple DirectMedia Layer
     3     Copyright (C) 1997-2010 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(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
    31 #if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)
    32 #define HAVE_STDINT_H	1
    33 #elif defined(_MSC_VER)
    34 typedef signed __int8 int8_t;
    35 typedef unsigned __int8 uint8_t;
    36 typedef signed __int16 int16_t;
    37 typedef unsigned __int16 uint16_t;
    38 typedef signed __int32 int32_t;
    39 typedef unsigned __int32 uint32_t;
    40 typedef signed __int64 int64_t;
    41 typedef unsigned __int64 uint64_t;
    42 #ifndef _UINTPTR_T_DEFINED
    43 #ifdef  _WIN64
    44 typedef unsigned __int64 uintptr_t;
    45 #else
    46 typedef unsigned int uintptr_t;
    47 #endif
    48 #define _UINTPTR_T_DEFINED
    49 #endif
    50 /* Older Visual C++ headers don't have the Win64-compatible typedefs... */
    51 #if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))
    52 #define DWORD_PTR DWORD
    53 #endif
    54 #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))
    55 #define LONG_PTR LONG
    56 #endif
    57 #else /* !__GNUC__ && !_MSC_VER */
    58 typedef signed char int8_t;
    59 typedef unsigned char uint8_t;
    60 typedef signed short int16_t;
    61 typedef unsigned short uint16_t;
    62 typedef signed int int32_t;
    63 typedef unsigned int uint32_t;
    64 typedef signed long long int64_t;
    65 typedef unsigned long long uint64_t;
    66 #ifndef _SIZE_T_DEFINED_
    67 #define _SIZE_T_DEFINED_
    68 typedef unsigned int size_t;
    69 #endif
    70 typedef unsigned int uintptr_t;
    71 #endif /* __GNUC__ || _MSC_VER */
    72 #endif /* !_STDINT_H_ && !HAVE_STDINT_H */
    73 
    74 #ifdef _WIN64
    75 # define SIZEOF_VOIDP 8
    76 #else
    77 # define SIZEOF_VOIDP 4
    78 #endif
    79 #define SDL_HAS_64BIT_TYPE	1
    80 
    81 /* Enabled for SDL 1.2 (binary compatibility) */
    82 //#define HAVE_LIBC     1
    83 #ifdef HAVE_LIBC
    84 /* Useful headers */
    85 #define HAVE_STDIO_H 1
    86 #define STDC_HEADERS 1
    87 #define HAVE_STRING_H 1
    88 #define HAVE_CTYPE_H 1
    89 #define HAVE_MATH_H 1
    90 #ifndef _WIN32_WCE
    91 #define HAVE_SIGNAL_H 1
    92 #endif
    93 
    94 /* C library functions */
    95 #define HAVE_MALLOC 1
    96 #define HAVE_CALLOC 1
    97 #define HAVE_REALLOC 1
    98 #define HAVE_FREE 1
    99 #define HAVE_ALLOCA 1
   100 #define HAVE_QSORT 1
   101 #define HAVE_ABS 1
   102 #define HAVE_MEMSET 1
   103 #define HAVE_MEMCPY 1
   104 #define HAVE_MEMMOVE 1
   105 #define HAVE_MEMCMP 1
   106 #define HAVE_STRLEN 1
   107 #define HAVE__STRREV 1
   108 #define HAVE__STRUPR 1
   109 #define HAVE__STRLWR 1
   110 #define HAVE_STRCHR 1
   111 #define HAVE_STRRCHR 1
   112 #define HAVE_STRSTR 1
   113 #define HAVE_ITOA 1
   114 #define HAVE__LTOA 1
   115 #define HAVE__ULTOA 1
   116 #define HAVE_STRTOL 1
   117 #define HAVE_STRTOUL 1
   118 #define HAVE_STRTOLL 1
   119 #define HAVE_STRTOD 1
   120 #define HAVE_ATOI 1
   121 #define HAVE_ATOF 1
   122 #define HAVE_STRCMP 1
   123 #define HAVE_STRNCMP 1
   124 #define HAVE__STRICMP 1
   125 #define HAVE__STRNICMP 1
   126 #define HAVE_SSCANF 1
   127 #define HAVE_M_PI 1
   128 #define HAVE_CEIL 1
   129 #define HAVE_COPYSIGN 1
   130 #define HAVE_COS 1
   131 #define HAVE_COSF 1
   132 #define HAVE_FABS 1
   133 #define HAVE_FLOOR 1
   134 #define HAVE_LOG 1
   135 #define HAVE_POW 1
   136 #define HAVE_SCALBN 1
   137 #define HAVE_SIN 1
   138 #define HAVE_SINF 1
   139 #define HAVE_SQRT 1
   140 #else
   141 #define HAVE_STDARG_H	1
   142 #define HAVE_STDDEF_H	1
   143 #endif
   144 
   145 /* Enable various audio drivers */
   146 #ifndef _WIN32_WCE
   147 #define SDL_AUDIO_DRIVER_DSOUND	1
   148 #endif
   149 #define SDL_AUDIO_DRIVER_WINWAVEOUT	1
   150 #define SDL_AUDIO_DRIVER_DISK	1
   151 #define SDL_AUDIO_DRIVER_DUMMY	1
   152 
   153 /* Enable various input drivers */
   154 #ifdef _WIN32_WCE
   155 #define SDL_JOYSTICK_DISABLED	1
   156 #define SDL_HAPTIC_DUMMY	1
   157 #else
   158 #define SDL_JOYSTICK_DINPUT	1
   159 #define SDL_HAPTIC_DINPUT	1
   160 #endif
   161 
   162 /* Enable various shared object loading systems */
   163 #define SDL_LOADSO_WIN32	1
   164 
   165 /* Enable various threading systems */
   166 #define SDL_THREAD_WIN32	1
   167 
   168 /* Enable various timer systems */
   169 #ifdef _WIN32_WCE
   170 #define SDL_TIMER_WINCE	1
   171 #else
   172 #define SDL_TIMER_WIN32	1
   173 #endif
   174 
   175 /* Enable various video drivers */
   176 #define SDL_VIDEO_DRIVER_DUMMY	1
   177 #define SDL_VIDEO_DRIVER_WIN32	1
   178 
   179 #define SDL_VIDEO_RENDER_D3D	1
   180 #define SDL_VIDEO_RENDER_GDI	1
   181 
   182 /* Enable OpenGL support */
   183 #ifndef _WIN32_WCE
   184 #define SDL_VIDEO_OPENGL	1
   185 #define SDL_VIDEO_OPENGL_WGL	1
   186 #define SDL_VIDEO_RENDER_OGL	1
   187 #endif
   188 
   189 /* Enable system power support */
   190 #define SDL_POWER_WINDOWS 1
   191 
   192 /* Enable assembly routines (Win64 doesn't have inline asm) */
   193 #ifndef _WIN64
   194 #define SDL_ASSEMBLY_ROUTINES	1
   195 #endif
   196 
   197 #endif /* _SDL_config_win32_h */