include/SDL_config_win32.h
author Ryan C. Gordon <icculus@icculus.org>
Thu, 21 Jun 2007 18:20:59 +0000
branchSDL-1.2
changeset 3973 5fbd763b1c88
parent 3911 ba3abfa20e18
child 3974 42578e98a295
permissions -rw-r--r--
Fixes for Visual C++ 6.0 with and without the Processor Pack.
     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 /* 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 #ifndef GWLP_HINSTANCE
    57 #define GWLP_HINSTANCE GWL_HINSTANCE
    58 #endif
    59 #endif
    60 #else	/* !__GNUC__ && !_MSC_VER */
    61 typedef signed char int8_t;
    62 typedef unsigned char uint8_t;
    63 typedef signed short int16_t;
    64 typedef unsigned short uint16_t;
    65 typedef signed int int32_t;
    66 typedef unsigned int uint32_t;
    67 typedef signed long long int64_t;
    68 typedef unsigned long long uint64_t;
    69 #ifndef _SIZE_T_DEFINED_
    70 #define _SIZE_T_DEFINED_
    71 typedef unsigned int size_t;
    72 #endif
    73 typedef unsigned int uintptr_t;
    74 #endif /* __GNUC__ || _MSC_VER */
    75 #define SDL_HAS_64BIT_TYPE	1
    76 
    77 /* Enabled for SDL 1.2 (binary compatibility) */
    78 #define HAVE_LIBC	1
    79 #ifdef HAVE_LIBC
    80 /* Useful headers */
    81 #define HAVE_STDIO_H 1
    82 #define STDC_HEADERS 1
    83 #define HAVE_STRING_H 1
    84 #define HAVE_CTYPE_H 1
    85 #define HAVE_MATH_H 1
    86 #ifndef _WIN32_WCE
    87 #define HAVE_SIGNAL_H 1
    88 #endif
    89 
    90 /* C library functions */
    91 #define HAVE_MALLOC 1
    92 #define HAVE_CALLOC 1
    93 #define HAVE_REALLOC 1
    94 #define HAVE_FREE 1
    95 #define HAVE_ALLOCA 1
    96 #define HAVE_QSORT 1
    97 #define HAVE_ABS 1
    98 #define HAVE_MEMSET 1
    99 #define HAVE_MEMCPY 1
   100 #define HAVE_MEMMOVE 1
   101 #define HAVE_MEMCMP 1
   102 #define HAVE_STRLEN 1
   103 #define HAVE__STRREV 1
   104 #define HAVE__STRUPR 1
   105 #define HAVE__STRLWR 1
   106 #define HAVE_STRCHR 1
   107 #define HAVE_STRRCHR 1
   108 #define HAVE_STRSTR 1
   109 #define HAVE_ITOA 1
   110 #define HAVE__LTOA 1
   111 #define HAVE__ULTOA 1
   112 #define HAVE_STRTOL 1
   113 #define HAVE_STRTOUL 1
   114 #define HAVE_STRTOLL 1
   115 #define HAVE_STRTOD 1
   116 #define HAVE_ATOI 1
   117 #define HAVE_ATOF 1
   118 #define HAVE_STRCMP 1
   119 #define HAVE_STRNCMP 1
   120 #define HAVE__STRICMP 1
   121 #define HAVE__STRNICMP 1
   122 #define HAVE_SSCANF 1
   123 #else
   124 #define HAVE_STDARG_H	1
   125 #define HAVE_STDDEF_H	1
   126 #endif
   127 
   128 /* Enable various audio drivers */
   129 #ifndef _WIN32_WCE
   130 #define SDL_AUDIO_DRIVER_DSOUND	1
   131 #endif
   132 #define SDL_AUDIO_DRIVER_WAVEOUT	1
   133 #define SDL_AUDIO_DRIVER_DISK	1
   134 #define SDL_AUDIO_DRIVER_DUMMY	1
   135 
   136 /* Enable various cdrom drivers */
   137 #ifdef _WIN32_WCE
   138 #define SDL_CDROM_DISABLED      1
   139 #else
   140 #define SDL_CDROM_WIN32		1
   141 #endif
   142 
   143 /* Enable various input drivers */
   144 #ifdef _WIN32_WCE
   145 #define SDL_JOYSTICK_DISABLED   1
   146 #else
   147 #define SDL_JOYSTICK_WINMM	1
   148 #endif
   149 
   150 /* Enable various shared object loading systems */
   151 #define SDL_LOADSO_WIN32	1
   152 
   153 /* Enable various threading systems */
   154 #define SDL_THREAD_WIN32	1
   155 
   156 /* Enable various timer systems */
   157 #ifdef _WIN32_WCE
   158 #define SDL_TIMER_WINCE	1
   159 #else
   160 #define SDL_TIMER_WIN32	1
   161 #endif
   162 
   163 /* Enable various video drivers */
   164 #ifdef _WIN32_WCE
   165 #define SDL_VIDEO_DRIVER_GAPI	1
   166 #endif
   167 #ifndef _WIN32_WCE
   168 #define SDL_VIDEO_DRIVER_DDRAW	1
   169 #endif
   170 #define SDL_VIDEO_DRIVER_DUMMY	1
   171 #define SDL_VIDEO_DRIVER_WINDIB	1
   172 
   173 /* Enable OpenGL support */
   174 #ifndef _WIN32_WCE
   175 #define SDL_VIDEO_OPENGL	1
   176 #define SDL_VIDEO_OPENGL_WGL	1
   177 #endif
   178 
   179 /* Enable assembly routines (Win64 doesn't have inline asm) */
   180 #ifndef _WIN64
   181 #define SDL_ASSEMBLY_ROUTINES	1
   182 #endif
   183 
   184 #endif /* _SDL_config_win32_h */