• Main Page
  • Classes
  • Files
  • File List

Swiften/Base/Platform.h

00001 /*
00002  * Copyright (c) 2010 Remko Tronçon
00003  * Licensed under the GNU General Public License v3.
00004  * See Documentation/Licenses/GPLv3.txt for more information.
00005  */
00006 
00007 #pragma once
00008 
00009 // Base platforms
00010 #if defined(linux) || defined(__linux) || defined(__linux__)
00011 #define SWIFTEN_PLATFORM_LINUX
00012 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
00013 #define SWIFTEN_PLATFORM_BSD
00014 #elif defined(sun) || defined(__sun)
00015 #define SWIFTEN_PLATFORM_SOLARIS
00016 #elif defined(__sgi)
00017 #define SWIFTEN_PLATFORM_SGI
00018 #elif defined(__hpux)
00019 #define SWIFTEN_PLATFORM_HPUX
00020 #elif defined(__CYGWIN__)
00021 #define SWIFTEN_PLATFORM_CYGWIN
00022 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
00023 #define SWIFTEN_PLATFORM_WIN32
00024 #elif defined(__BEOS__)
00025 #define SWIFTEN_PLATFORM_BEOS
00026 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
00027 #define SWIFTEN_PLATFORM_MACOSX
00028 #include <TargetConditionals.h>
00029 #  if TARGET_OS_IPHONE == 1
00030 #  define SWIFTEN_PLATFORM_IPHONE
00031 #  endif
00032 #elif defined(__IBMCPP__) || defined(_AIX)
00033 #define SWIFTEN_PLATFORM_AIX
00034 #elif defined(__amigaos__)
00035 #define SWIFTEN_PLATFORM_AMIGAOS
00036 #elif defined(__QNXNTO__)
00037 #define SWIFTEN_PLATFORM_QNX
00038 #endif
00039 
00040 // Derived platforms
00041 #if defined(SWIFTEN_PLATFORM_CYGWIN) || defined(SWIFTEN_PLATFORM_WIN32)
00042 #define SWIFTEN_PLATFORM_WINDOWS
00043 #endif
00044 
00045 // Endianness
00046 #include <boost/detail/endian.hpp>
00047 #if defined(BOOST_LITTLE_ENDIAN)
00048 #define SWIFTEN_LITTLE_ENDIAN
00049 #elif defined(BOOST_BIG_ENDIAN)
00050 #define SWIFTEN_BIG_ENDIAN
00051 #endif

Generated on Fri Oct 12 2012 21:00:19 for Swiften by  doxygen 1.7.1