include/SDL_config_win32.h
author Ryan C. Gordon <icculus@icculus.org>
Mon, 12 Feb 2007 11:46:08 +0000
changeset 2087 b10089473699
parent 2070 dbfa1ebd73b0
child 2132 46648dc418ec
permissions -rw-r--r--
Merged r2956:2957 from branches/SDL-1.2: Digital Mars stdint.h usage.

Fixes Bugzilla #376.
     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@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 #else /* !__GNUC__ && !_MSC_VER */
    50 typedef signed char int8_t;
    51 typedef unsigned char uint8_t;
    52 typedef signed short int16_t;
    53 typedef unsigned short uint16_t;
    54 typedef signed int int32_t;
    55 typedef unsigned int uint32_t;
    56 typedef signed long long int64_t;
    57 typedef unsigned long long uint64_t;
    58 #ifndef _SIZE_T_DEFINED_
    59 #define _SIZE_T_DEFINED_
    60 typedef unsigned int size_t;
    61 #endif
    62 typedef unsigned int uintptr_t;
    63 #endif /* __GNUC__ || _MSC_VER */
    64 #define SDL_HAS_64BIT_TYPE	1
    65 
    66 /* Enabled for SDL 1.2 (binary compatibility) */
    67 //#define HAVE_LIBC     1
    68 #ifdef HAVE_LIBC
    69 /* Useful headers */
    70 #define HAVE_STDIO_H 1
    71 #define STDC_HEADERS 1
    72 #define HAVE_STRING_H 1
    73 #define HAVE_CTYPE_H 1
    74 #define HAVE_MATH_H 1
    75 #ifndef _WIN32_WCE
    76 #define HAVE_SIGNAL_H 1
    77 #endif
    78 
    79 /* C library functions */
    80 #define HAVE_MALLOC 1
    81 #define HAVE_CALLOC 1
    82 #define HAVE_REALLOC 1
    83 #define HAVE_FREE 1
    84 #define HAVE_ALLOCA 1
    85 #define HAVE_QSORT 1
    86 #define HAVE_ABS 1
    87 #define HAVE_MEMSET 1
    88 #define HAVE_MEMCPY 1
    89 #define HAVE_MEMMOVE 1
    90 #define HAVE_MEMCMP 1
    91 #define HAVE_STRLEN 1
    92 #define HAVE__STRREV 1
    93 #define HAVE__STRUPR 1
    94 #define HAVE__STRLWR 1
    95 #define HAVE_STRCHR 1
    96 #define HAVE_STRRCHR 1
    97 #define HAVE_STRSTR 1
    98 #define HAVE_ITOA 1
    99 #define HAVE__LTOA 1
   100 #define HAVE__ULTOA 1
   101 #define HAVE_STRTOL 1
   102 #define HAVE_STRTOUL 1
   103 #define HAVE_STRTOLL 1
   104 #define HAVE_STRTOD 1
   105 #define HAVE_ATOI 1
   106 #define HAVE_ATOF 1
   107 #define HAVE_STRCMP 1
   108 #define HAVE_STRNCMP 1
   109 #define HAVE__STRICMP 1
   110 #define HAVE__STRNICMP 1
   111 #define HAVE_SSCANF 1
   112 #else
   113 #define HAVE_STDARG_H	1
   114 #define HAVE_STDDEF_H	1
   115 #endif
   116 
   117 /* Enable various audio drivers */
   118 #ifndef _WIN32_WCE
   119 #define SDL_AUDIO_DRIVER_DSOUND	1
   120 #endif
   121 #define SDL_AUDIO_DRIVER_WINWAVEOUT	1
   122 #define SDL_AUDIO_DRIVER_DISK	1
   123 #define SDL_AUDIO_DRIVER_DUMMY	1
   124 
   125 /* Enable various cdrom drivers */
   126 #ifdef _WIN32_WCE
   127 #define SDL_CDROM_DISABLED      1
   128 #else
   129 #define SDL_CDROM_WIN32		1
   130 #endif
   131 
   132 /* Enable various input drivers */
   133 #ifdef _WIN32_WCE
   134 #define SDL_JOYSTICK_DISABLED   1
   135 #else
   136 #define SDL_JOYSTICK_WINMM	1
   137 #endif
   138 
   139 /* Enable various shared object loading systems */
   140 #define SDL_LOADSO_WIN32	1
   141 
   142 /* Enable various threading systems */
   143 #define SDL_THREAD_WIN32	1
   144 
   145 /* Enable various timer systems */
   146 #ifdef _WIN32_WCE
   147 #define SDL_TIMER_WINCE	1
   148 #else
   149 #define SDL_TIMER_WIN32	1
   150 #endif
   151 
   152 /* Enable various video drivers */
   153 #define SDL_VIDEO_DRIVER_DUMMY	1
   154 #define SDL_VIDEO_DRIVER_WIN32	1
   155 
   156 #define SDL_VIDEO_RENDER_D3D	1
   157 #define SDL_VIDEO_RENDER_GDI	1
   158 
   159 /* Enable OpenGL support */
   160 #ifndef _WIN32_WCE
   161 #define SDL_VIDEO_OPENGL	1
   162 #define SDL_VIDEO_OPENGL_WGL	1
   163 #define SDL_VIDEO_RENDER_OGL	1
   164 #endif
   165 
   166 /* Enable assembly routines (Win64 doesn't have inline asm) */
   167 #ifndef _WIN64
   168 #define SDL_ASSEMBLY_ROUTINES	1
   169 #endif
   170 
   171 #endif /* _SDL_config_win32_h */