106f32e7eSjoerg // Copyright 2015, Google Inc. 206f32e7eSjoerg // All rights reserved. 306f32e7eSjoerg // 406f32e7eSjoerg // Redistribution and use in source and binary forms, with or without 506f32e7eSjoerg // modification, are permitted provided that the following conditions are 606f32e7eSjoerg // met: 706f32e7eSjoerg // 806f32e7eSjoerg // * Redistributions of source code must retain the above copyright 906f32e7eSjoerg // notice, this list of conditions and the following disclaimer. 1006f32e7eSjoerg // * Redistributions in binary form must reproduce the above 1106f32e7eSjoerg // copyright notice, this list of conditions and the following disclaimer 1206f32e7eSjoerg // in the documentation and/or other materials provided with the 1306f32e7eSjoerg // distribution. 1406f32e7eSjoerg // * Neither the name of Google Inc. nor the names of its 1506f32e7eSjoerg // contributors may be used to endorse or promote products derived from 1606f32e7eSjoerg // this software without specific prior written permission. 1706f32e7eSjoerg // 1806f32e7eSjoerg // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1906f32e7eSjoerg // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2006f32e7eSjoerg // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2106f32e7eSjoerg // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2206f32e7eSjoerg // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2306f32e7eSjoerg // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2406f32e7eSjoerg // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2506f32e7eSjoerg // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2606f32e7eSjoerg // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2706f32e7eSjoerg // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2806f32e7eSjoerg // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2906f32e7eSjoerg // 30*da58b97aSjoerg // The Google C++ Testing and Mocking Framework (Google Test) 3106f32e7eSjoerg // 3206f32e7eSjoerg // This header file defines the GTEST_OS_* macro. 3306f32e7eSjoerg // It is separate from gtest-port.h so that custom/gtest-port.h can include it. 3406f32e7eSjoerg 3506f32e7eSjoerg #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 3606f32e7eSjoerg #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 3706f32e7eSjoerg 3806f32e7eSjoerg // Determines the platform on which Google Test is compiled. 3906f32e7eSjoerg #ifdef __CYGWIN__ 4006f32e7eSjoerg # define GTEST_OS_CYGWIN 1 41*da58b97aSjoerg # elif defined(__MINGW__) || defined(__MINGW32__) || defined(__MINGW64__) 42*da58b97aSjoerg # define GTEST_OS_WINDOWS_MINGW 1 43*da58b97aSjoerg # define GTEST_OS_WINDOWS 1 4406f32e7eSjoerg #elif defined _WIN32 4506f32e7eSjoerg # define GTEST_OS_WINDOWS 1 4606f32e7eSjoerg # ifdef _WIN32_WCE 4706f32e7eSjoerg # define GTEST_OS_WINDOWS_MOBILE 1 4806f32e7eSjoerg # elif defined(WINAPI_FAMILY) 4906f32e7eSjoerg # include <winapifamily.h> 5006f32e7eSjoerg # if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 5106f32e7eSjoerg # define GTEST_OS_WINDOWS_DESKTOP 1 5206f32e7eSjoerg # elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP) 5306f32e7eSjoerg # define GTEST_OS_WINDOWS_PHONE 1 5406f32e7eSjoerg # elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 5506f32e7eSjoerg # define GTEST_OS_WINDOWS_RT 1 56*da58b97aSjoerg # elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_TV_TITLE) 57*da58b97aSjoerg # define GTEST_OS_WINDOWS_PHONE 1 58*da58b97aSjoerg # define GTEST_OS_WINDOWS_TV_TITLE 1 5906f32e7eSjoerg # else 6006f32e7eSjoerg // WINAPI_FAMILY defined but no known partition matched. 6106f32e7eSjoerg // Default to desktop. 6206f32e7eSjoerg # define GTEST_OS_WINDOWS_DESKTOP 1 6306f32e7eSjoerg # endif 6406f32e7eSjoerg # else 6506f32e7eSjoerg # define GTEST_OS_WINDOWS_DESKTOP 1 6606f32e7eSjoerg # endif // _WIN32_WCE 67*da58b97aSjoerg #elif defined __OS2__ 68*da58b97aSjoerg # define GTEST_OS_OS2 1 6906f32e7eSjoerg #elif defined __APPLE__ 7006f32e7eSjoerg # define GTEST_OS_MAC 1 7106f32e7eSjoerg # if TARGET_OS_IPHONE 7206f32e7eSjoerg # define GTEST_OS_IOS 1 7306f32e7eSjoerg # endif 74*da58b97aSjoerg #elif defined __DragonFly__ 75*da58b97aSjoerg # define GTEST_OS_DRAGONFLY 1 7606f32e7eSjoerg #elif defined __FreeBSD__ 7706f32e7eSjoerg # define GTEST_OS_FREEBSD 1 78*da58b97aSjoerg #elif defined __Fuchsia__ 79*da58b97aSjoerg # define GTEST_OS_FUCHSIA 1 80*da58b97aSjoerg #elif defined(__GLIBC__) && defined(__FreeBSD_kernel__) 81*da58b97aSjoerg # define GTEST_OS_GNU_KFREEBSD 1 8206f32e7eSjoerg #elif defined __linux__ 8306f32e7eSjoerg # define GTEST_OS_LINUX 1 8406f32e7eSjoerg # if defined __ANDROID__ 8506f32e7eSjoerg # define GTEST_OS_LINUX_ANDROID 1 8606f32e7eSjoerg # endif 8706f32e7eSjoerg #elif defined __MVS__ 8806f32e7eSjoerg # define GTEST_OS_ZOS 1 8906f32e7eSjoerg #elif defined(__sun) && defined(__SVR4) 9006f32e7eSjoerg # define GTEST_OS_SOLARIS 1 9106f32e7eSjoerg #elif defined(_AIX) 9206f32e7eSjoerg # define GTEST_OS_AIX 1 9306f32e7eSjoerg #elif defined(__hpux) 9406f32e7eSjoerg # define GTEST_OS_HPUX 1 9506f32e7eSjoerg #elif defined __native_client__ 9606f32e7eSjoerg # define GTEST_OS_NACL 1 9706f32e7eSjoerg #elif defined __NetBSD__ 9806f32e7eSjoerg # define GTEST_OS_NETBSD 1 9906f32e7eSjoerg #elif defined __OpenBSD__ 10006f32e7eSjoerg # define GTEST_OS_OPENBSD 1 10106f32e7eSjoerg #elif defined __QNX__ 10206f32e7eSjoerg # define GTEST_OS_QNX 1 10306f32e7eSjoerg #elif defined(__HAIKU__) 10406f32e7eSjoerg #define GTEST_OS_HAIKU 1 10506f32e7eSjoerg #endif // __CYGWIN__ 10606f32e7eSjoerg 10706f32e7eSjoerg #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ 108