1 // 2 // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // platform.h: Operating system specific includes and defines. 8 9 #ifndef COMMON_PLATFORM_H_ 10 #define COMMON_PLATFORM_H_ 11 12 #if defined(_WIN32) || defined(_WIN64) 13 # define ANGLE_PLATFORM_WINDOWS 1 14 #elif defined(__APPLE__) 15 # define ANGLE_PLATFORM_APPLE 1 16 # define ANGLE_PLATFORM_POSIX 1 17 #elif defined(__linux__) 18 # define ANGLE_PLATFORM_LINUX 1 19 # define ANGLE_PLATFORM_POSIX 1 20 #elif defined(ANDROID) 21 # define ANGLE_PLATFORM_ANDROID 1 22 # define ANGLE_PLATFORM_POSIX 1 23 #elif defined(__FreeBSD__) || \ 24 defined(__OpenBSD__) || \ 25 defined(__NetBSD__) || \ 26 defined(__DragonFly__) || \ 27 defined(__sun) || \ 28 defined(__GLIBC__) || \ 29 defined(__GNU__) || \ 30 defined(__QNX__) 31 # define ANGLE_PLATFORM_POSIX 1 32 #else 33 # error Unsupported platform. 34 #endif 35 36 #ifdef ANGLE_PLATFORM_WINDOWS 37 # ifndef STRICT 38 # define STRICT 1 39 # endif 40 # ifndef WIN32_LEAN_AND_MEAN 41 # define WIN32_LEAN_AND_MEAN 1 42 # endif 43 # ifndef NOMINMAX 44 # define NOMINMAX 1 45 # endif 46 47 # include <windows.h> 48 # include <intrin.h> 49 50 # if defined(ANGLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_PERF) 51 # include <d3d9.h> 52 # include <d3dcompiler.h> 53 # endif 54 55 # if defined(ANGLE_ENABLE_D3D11) 56 # include <d3d10_1.h> 57 # include <d3d11.h> 58 # include <dxgi.h> 59 # include <dxgi1_2.h> 60 # include <d3dcompiler.h> 61 # endif 62 63 # undef near 64 # undef far 65 #endif 66 67 #endif // COMMON_PLATFORM_H_ 68