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 and Mocking 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 #  elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_TV_TITLE)
  58 #   define GTEST_OS_WINDOWS_PHONE 1
  59 #   define GTEST_OS_WINDOWS_TV_TITLE 1
  60 #  else
  61     // WINAPI_FAMILY defined but no known partition matched.
  62     // Default to desktop.
  63 #   define GTEST_OS_WINDOWS_DESKTOP 1
  64 #  endif
  65 # else
  66 #  define GTEST_OS_WINDOWS_DESKTOP 1
  67 # endif  // _WIN32_WCE
  68 #elif defined __APPLE__
  69 # define GTEST_OS_MAC 1
  70 # if TARGET_OS_IPHONE
  71 #  define GTEST_OS_IOS 1
  72 # endif
  73 #elif defined __FreeBSD__
  74 # define GTEST_OS_FREEBSD 1
  75 #elif defined __Fuchsia__
  76 # define GTEST_OS_FUCHSIA 1
  77 #elif defined __linux__
  78 # define GTEST_OS_LINUX 1
  79 # if defined __ANDROID__
  80 #  define GTEST_OS_LINUX_ANDROID 1
  81 # endif
  82 #elif defined __MVS__
  83 # define GTEST_OS_ZOS 1
  84 #elif defined(__sun) && defined(__SVR4)
  85 # define GTEST_OS_SOLARIS 1
  86 #elif defined(_AIX)
  87 # define GTEST_OS_AIX 1
  88 #elif defined(__hpux)
  89 # define GTEST_OS_HPUX 1
  90 #elif defined __native_client__
  91 # define GTEST_OS_NACL 1
  92 #elif defined __NetBSD__
  93 # define GTEST_OS_NETBSD 1
  94 #elif defined __OpenBSD__
  95 # define GTEST_OS_OPENBSD 1
  96 #elif defined __QNX__
  97 # define GTEST_OS_QNX 1
  98 #endif  // __CYGWIN__
  99 
 100 #endif  // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_