1// Copyright 2015, Google Inc. 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: 7// 8// * Redistributions of source code must retain the above copyright 9// notice, this list of conditions and the following disclaimer. 10// * Redistributions in binary form must reproduce the above 11// copyright notice, this list of conditions and the following disclaimer 12// in the documentation and/or other materials provided with the 13// distribution. 14// * Neither the name of Google Inc. nor the names of its 15// contributors may be used to endorse or promote products derived from 16// this software without specific prior written permission. 17// 18// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29// 30// The Google C++ Testing Framework (Google Test) 31// 32// This header file defines the GTEST_OS_* macro. 33// It is separate from gtest-port.h so that custom/gtest-port.h can include it. 34 35#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 36#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 37 38// Determines the platform on which Google Test is compiled. 39#ifdef __CYGWIN__ 40# define GTEST_OS_CYGWIN 1 41#elif defined __SYMBIAN32__ 42# define GTEST_OS_SYMBIAN 1 43#elif defined _WIN32 44# define GTEST_OS_WINDOWS 1 45# ifdef _WIN32_WCE 46# define GTEST_OS_WINDOWS_MOBILE 1 47# elif defined(__MINGW__) || defined(__MINGW32__) 48# define GTEST_OS_WINDOWS_MINGW 1 49# elif defined(WINAPI_FAMILY) 50# include <winapifamily.h> 51# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 52# define GTEST_OS_WINDOWS_DESKTOP 1 53# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP) 54# define GTEST_OS_WINDOWS_PHONE 1 55# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 56# define GTEST_OS_WINDOWS_RT 1 57# else 58 // WINAPI_FAMILY defined but no known partition matched. 59 // Default to desktop. 60# define GTEST_OS_WINDOWS_DESKTOP 1 61# endif 62# else 63# define GTEST_OS_WINDOWS_DESKTOP 1 64# endif // _WIN32_WCE 65#elif defined __APPLE__ 66# define GTEST_OS_MAC 1 67# if TARGET_OS_IPHONE 68# define GTEST_OS_IOS 1 69# endif 70#elif defined __FreeBSD__ 71# define GTEST_OS_FREEBSD 1 72#elif defined __linux__ 73# define GTEST_OS_LINUX 1 74# if defined __ANDROID__ 75# define GTEST_OS_LINUX_ANDROID 1 76# endif 77#elif defined __MVS__ 78# define GTEST_OS_ZOS 1 79#elif defined(__sun) && defined(__SVR4) 80# define GTEST_OS_SOLARIS 1 81#elif defined(_AIX) 82# define GTEST_OS_AIX 1 83#elif defined(__hpux) 84# define GTEST_OS_HPUX 1 85#elif defined __native_client__ 86# define GTEST_OS_NACL 1 87#elif defined __OpenBSD__ 88# define GTEST_OS_OPENBSD 1 89#elif defined __QNX__ 90# define GTEST_OS_QNX 1 91#endif // __CYGWIN__ 92 93#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 94