author | Sam Lantinga <slouken@libsdl.org> |
Wed, 03 Jan 2018 10:03:25 -0800 | |
changeset 11811 | 5d94cb6b24d3 |
parent 11725 | 5dc2ef223b08 |
child 12503 | 806492103856 |
permissions | -rw-r--r-- |
slouken@8582 | 1 |
/* |
slouken@8582 | 2 |
Simple DirectMedia Layer |
slouken@11811 | 3 |
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
slouken@8582 | 4 |
|
slouken@8582 | 5 |
This software is provided 'as-is', without any express or implied |
slouken@8582 | 6 |
warranty. In no event will the authors be held liable for any damages |
slouken@8582 | 7 |
arising from the use of this software. |
slouken@8582 | 8 |
|
slouken@8582 | 9 |
Permission is granted to anyone to use this software for any purpose, |
slouken@8582 | 10 |
including commercial applications, and to alter it and redistribute it |
slouken@8582 | 11 |
freely, subject to the following restrictions: |
slouken@8582 | 12 |
|
slouken@8582 | 13 |
1. The origin of this software must not be misrepresented; you must not |
slouken@8582 | 14 |
claim that you wrote the original software. If you use this software |
slouken@8582 | 15 |
in a product, an acknowledgment in the product documentation would be |
slouken@8582 | 16 |
appreciated but is not required. |
slouken@8582 | 17 |
2. Altered source versions must be plainly marked as such, and must not be |
slouken@8582 | 18 |
misrepresented as being the original software. |
slouken@8582 | 19 |
3. This notice may not be removed or altered from any source distribution. |
slouken@8582 | 20 |
*/ |
slouken@8582 | 21 |
|
slouken@8582 | 22 |
/** |
slouken@8582 | 23 |
* \file SDL_platform.h |
slouken@8582 | 24 |
* |
slouken@8582 | 25 |
* Try to get a standard set of platform defines. |
slouken@8582 | 26 |
*/ |
slouken@8582 | 27 |
|
slouken@10638 | 28 |
#ifndef SDL_platform_h_ |
slouken@10638 | 29 |
#define SDL_platform_h_ |
slouken@8582 | 30 |
|
slouken@8582 | 31 |
#if defined(_AIX) |
slouken@8582 | 32 |
#undef __AIX__ |
slouken@8582 | 33 |
#define __AIX__ 1 |
slouken@8582 | 34 |
#endif |
slouken@8582 | 35 |
#if defined(__HAIKU__) |
slouken@8582 | 36 |
#undef __HAIKU__ |
slouken@8582 | 37 |
#define __HAIKU__ 1 |
slouken@8582 | 38 |
#endif |
slouken@8582 | 39 |
#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) |
slouken@8582 | 40 |
#undef __BSDI__ |
slouken@8582 | 41 |
#define __BSDI__ 1 |
slouken@8582 | 42 |
#endif |
slouken@8582 | 43 |
#if defined(_arch_dreamcast) |
slouken@8582 | 44 |
#undef __DREAMCAST__ |
slouken@8582 | 45 |
#define __DREAMCAST__ 1 |
slouken@8582 | 46 |
#endif |
slouken@8582 | 47 |
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) |
slouken@8582 | 48 |
#undef __FREEBSD__ |
slouken@8582 | 49 |
#define __FREEBSD__ 1 |
slouken@8582 | 50 |
#endif |
slouken@8582 | 51 |
#if defined(hpux) || defined(__hpux) || defined(__hpux__) |
slouken@8582 | 52 |
#undef __HPUX__ |
slouken@8582 | 53 |
#define __HPUX__ 1 |
slouken@8582 | 54 |
#endif |
slouken@8582 | 55 |
#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE) |
slouken@8582 | 56 |
#undef __IRIX__ |
slouken@8582 | 57 |
#define __IRIX__ 1 |
slouken@8582 | 58 |
#endif |
gabomdq@8833 | 59 |
#if (defined(linux) || defined(__linux) || defined(__linux__)) |
slouken@8582 | 60 |
#undef __LINUX__ |
slouken@8582 | 61 |
#define __LINUX__ 1 |
slouken@8582 | 62 |
#endif |
philipp@8150 | 63 |
#if defined(ANDROID) || defined(__ANDROID__) |
slouken@8582 | 64 |
#undef __ANDROID__ |
slouken@8582 | 65 |
#undef __LINUX__ /* do we need to do this? */ |
slouken@8582 | 66 |
#define __ANDROID__ 1 |
slouken@8582 | 67 |
#endif |
slouken@8582 | 68 |
|
slouken@8582 | 69 |
#if defined(__APPLE__) |
slouken@8582 | 70 |
/* lets us know what version of Mac OS X we're compiling on */ |
slouken@8582 | 71 |
#include "AvailabilityMacros.h" |
slouken@8582 | 72 |
#include "TargetConditionals.h" |
slime73@10340 | 73 |
#if TARGET_OS_TV |
slime73@10340 | 74 |
#undef __TVOS__ |
slime73@10340 | 75 |
#define __TVOS__ 1 |
slime73@10340 | 76 |
#endif |
slouken@8582 | 77 |
#if TARGET_OS_IPHONE |
slime73@10340 | 78 |
/* if compiling for iOS */ |
slouken@8582 | 79 |
#undef __IPHONEOS__ |
slouken@8582 | 80 |
#define __IPHONEOS__ 1 |
slouken@8582 | 81 |
#undef __MACOSX__ |
slouken@8582 | 82 |
#else |
slime73@10340 | 83 |
/* if not compiling for iOS */ |
slouken@8582 | 84 |
#undef __MACOSX__ |
slouken@8582 | 85 |
#define __MACOSX__ 1 |
slime73@10176 | 86 |
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 |
slime73@10176 | 87 |
# error SDL for Mac OS X only supports deploying on 10.6 and above. |
slime73@10176 | 88 |
#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1060 */ |
slouken@8582 | 89 |
#endif /* TARGET_OS_IPHONE */ |
slouken@8582 | 90 |
#endif /* defined(__APPLE__) */ |
slouken@8582 | 91 |
|
slouken@8582 | 92 |
#if defined(__NetBSD__) |
slouken@8582 | 93 |
#undef __NETBSD__ |
slouken@8582 | 94 |
#define __NETBSD__ 1 |
slouken@8582 | 95 |
#endif |
slouken@8582 | 96 |
#if defined(__OpenBSD__) |
slouken@8582 | 97 |
#undef __OPENBSD__ |
slouken@8582 | 98 |
#define __OPENBSD__ 1 |
slouken@8582 | 99 |
#endif |
slouken@11287 | 100 |
#if defined(__OS2__) || defined(__EMX__) |
slouken@8582 | 101 |
#undef __OS2__ |
slouken@8582 | 102 |
#define __OS2__ 1 |
slouken@8582 | 103 |
#endif |
slouken@8582 | 104 |
#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE) |
slouken@8582 | 105 |
#undef __OSF__ |
slouken@8582 | 106 |
#define __OSF__ 1 |
slouken@8582 | 107 |
#endif |
slouken@8582 | 108 |
#if defined(__QNXNTO__) |
slouken@8582 | 109 |
#undef __QNXNTO__ |
slouken@8582 | 110 |
#define __QNXNTO__ 1 |
slouken@8582 | 111 |
#endif |
slouken@8582 | 112 |
#if defined(riscos) || defined(__riscos) || defined(__riscos__) |
slouken@8582 | 113 |
#undef __RISCOS__ |
slouken@8582 | 114 |
#define __RISCOS__ 1 |
slouken@8582 | 115 |
#endif |
binarycrusader@8979 | 116 |
#if defined(__sun) && defined(__SVR4) |
slouken@8582 | 117 |
#undef __SOLARIS__ |
slouken@8582 | 118 |
#define __SOLARIS__ 1 |
slouken@8582 | 119 |
#endif |
slouken@8582 | 120 |
|
dludwig@8630 | 121 |
#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) |
slouken@8582 | 122 |
/* Try to find out if we're compiling for WinRT or non-WinRT */ |
slouken@11469 | 123 |
#if defined(_MSC_VER) && defined(__has_include) |
icculus@11725 | 124 |
#if __has_include(<winapifamily.h>) |
icculus@11725 | 125 |
#define HAVE_WINAPIFAMILY_H 1 |
icculus@11725 | 126 |
#else |
icculus@11725 | 127 |
#define HAVE_WINAPIFAMILY_H 0 |
icculus@11725 | 128 |
#endif |
icculus@11725 | 129 |
|
slouken@11329 | 130 |
/* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */ |
slouken@11329 | 131 |
#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_) /* _MSC_VER == 1700 for Visual Studio 2012 */ |
slouken@11329 | 132 |
#define HAVE_WINAPIFAMILY_H 1 |
slouken@11329 | 133 |
#else |
slouken@11329 | 134 |
#define HAVE_WINAPIFAMILY_H 0 |
slouken@11329 | 135 |
#endif |
slouken@11329 | 136 |
|
slouken@11329 | 137 |
#if HAVE_WINAPIFAMILY_H |
slouken@8582 | 138 |
#include <winapifamily.h> |
slouken@11329 | 139 |
#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)) |
slouken@11329 | 140 |
#else |
slouken@11329 | 141 |
#define WINAPI_FAMILY_WINRT 0 |
slouken@11329 | 142 |
#endif /* HAVE_WINAPIFAMILY_H */ |
slouken@11329 | 143 |
|
slouken@11329 | 144 |
#if WINAPI_FAMILY_WINRT |
slouken@8582 | 145 |
#undef __WINRT__ |
slouken@8582 | 146 |
#define __WINRT__ 1 |
slouken@8584 | 147 |
#else |
slouken@8584 | 148 |
#undef __WINDOWS__ |
slouken@11329 | 149 |
#define __WINDOWS__ 1 |
slouken@11329 | 150 |
#endif |
slouken@8582 | 151 |
#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */ |
slouken@8582 | 152 |
|
slouken@8582 | 153 |
#if defined(__WINDOWS__) |
slouken@8582 | 154 |
#undef __WIN32__ |
slouken@8582 | 155 |
#define __WIN32__ 1 |
slouken@8582 | 156 |
#endif |
slouken@8582 | 157 |
#if defined(__PSP__) |
slouken@8582 | 158 |
#undef __PSP__ |
slouken@8582 | 159 |
#define __PSP__ 1 |
slouken@8582 | 160 |
#endif |
slouken@8582 | 161 |
|
gabomdq@8833 | 162 |
/* The NACL compiler defines __native_client__ and __pnacl__ |
gabomdq@8833 | 163 |
* Ref: http://www.chromium.org/nativeclient/pnacl/stability-of-the-pnacl-bitcode-abi |
gabomdq@8833 | 164 |
*/ |
gabomdq@8833 | 165 |
#if defined(__native_client__) |
gabomdq@8833 | 166 |
#undef __LINUX__ |
gabomdq@8833 | 167 |
#undef __NACL__ |
gabomdq@8833 | 168 |
#define __NACL__ 1 |
gabomdq@8833 | 169 |
#endif |
gabomdq@8833 | 170 |
#if defined(__pnacl__) |
gabomdq@8833 | 171 |
#undef __LINUX__ |
gabomdq@8833 | 172 |
#undef __PNACL__ |
gabomdq@8833 | 173 |
#define __PNACL__ 1 |
gabomdq@8833 | 174 |
/* PNACL with newlib supports static linking only */ |
gabomdq@8833 | 175 |
#define __SDL_NOGETPROCADDR__ |
gabomdq@8833 | 176 |
#endif |
gabomdq@8833 | 177 |
|
gabomdq@8833 | 178 |
|
slouken@8582 | 179 |
#include "begin_code.h" |
slouken@8582 | 180 |
/* Set up for C function definitions, even when using C++ */ |
slouken@8582 | 181 |
#ifdef __cplusplus |
slouken@8582 | 182 |
extern "C" { |
slouken@8582 | 183 |
#endif |
slouken@8582 | 184 |
|
slouken@8582 | 185 |
/** |
slouken@8582 | 186 |
* \brief Gets the name of the platform. |
slouken@8582 | 187 |
*/ |
slouken@8582 | 188 |
extern DECLSPEC const char * SDLCALL SDL_GetPlatform (void); |
slouken@8582 | 189 |
|
slouken@8582 | 190 |
/* Ends C function definitions when using C++ */ |
slouken@8582 | 191 |
#ifdef __cplusplus |
slouken@8582 | 192 |
} |
slouken@8582 | 193 |
#endif |
slouken@8582 | 194 |
#include "close_code.h" |
slouken@8582 | 195 |
|
slouken@10638 | 196 |
#endif /* SDL_platform_h_ */ |
slouken@8582 | 197 |
|
slouken@8582 | 198 |
/* vi: set ts=4 sw=4 expandtab: */ |