Helixis 1.0
Task Programming API
includes/hlx/platforms.h
Go to the documentation of this file.
00001 /*
00002 ** Copyright 2009-2011, helixis.org
00003 ** All rights reserved.
00004 **
00005 ** Redistribution and use in source and binary forms, with or without modification, are permitted provided
00006 ** that the following conditions are met:
00007 **
00008 ** Redistributions of source code must retain the above copyright notice, this list of conditions and the
00009 ** following disclaimer.
00010 **
00011 ** Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
00012 ** the following disclaimer in the documentation and/or other materials provided with the distribution.
00013 **
00014 ** Neither the name of the helixis.org nor the names of its contributors may be used to endorse or promote
00015 ** products derived from this software without specific prior written permission.
00016 **
00017 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
00018 ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
00019 ** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
00020 ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
00021 ** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00022 ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00023 ** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00024 ** POSSIBILITY OF SUCH DAMAGE.
00025 */
00026 
00027 #ifndef __HLX_PLATFORMS_H__
00028 # define __HLX_PLATFORMS_H__
00029 
00030 #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
00031         #ifndef PLATFORM_BSDI
00032         # define PLATFORM_BSDI /*                               BSDI */
00033         #endif
00034 #elif defined(sun) || defined(__sun)
00035         #ifndef PLATFORM_SOLARIS
00036         # define PLATFORM_SOLARIS /*                    Sun Solaris */
00037         #endif
00038 #elif defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
00039         #ifndef PLATFORM_SGI
00040         # define PLATFORM_SGI /*                                SGI Irix */
00041         #endif
00042 #elif defined(__hpux)
00043         #ifndef PLATFORM_HP_UNIX
00044         # define PLATFORM_HP_UNIX /*                    HP unix */
00045         #endif
00046 #elif defined(__CYGWIN__)
00047         #ifndef PLATFORM_CYGWIN
00048         # define PLATFORM_CYGWIN /*                             Cygwin is not win32! */
00049         #endif
00050 #elif defined(PS2)
00051         #ifndef PLATFORM_PS2
00052         # define PLATFORM_PS2 /*                                Sony Playstation 2 */
00053         #endif
00054 #elif defined(PS3)
00055         #ifndef PLATFORM_PS3
00056         # define PLATFORM_PS3 /*                                Sony Playstation 3 */
00057         #endif
00058 #elif defined(PSP)
00059         #ifndef PLATFORM_PSP
00060         # define PLATFORM_PSP /*                                Sony PSP */
00061         #endif
00062 #elif defined(_arch_dreamcast)
00063         #ifndef PLATFORM_PS3
00064         # define PLATFORM_DREAMCAST /*                  Sega Dreamcast */
00065         #endif
00066 #elif defined(OS2)
00067         #ifndef PLATFORM_OS2
00068         # define PLATFORM_OS2 /*                                OS2 */
00069         #endif
00070 #elif defined(__BEOS__)
00071         #ifndef PLATFORM_BEOS
00072         # define PLATFORM_BEOS /*                               BeOS */
00073         #endif
00074 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__MACOSX__)
00075 #       include "TargetConditionals.h"
00076 #       if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1
00077 #               ifndef PLATFORM_IPHONE
00078 #                       define PLATFORM_IPHONE /*                               iPhone */
00079 #               endif
00080 #       else
00081 #               ifndef PLATFORM_MACOS
00082 #                       define PLATFORM_MACOS /*                                MacOS */
00083 #               endif
00084 #       endif
00085 #elif defined(__IBMCPP__) || defined(_AIX)
00086         #ifndef PLATFORM_IBM
00087         # define PLATFORM_IBM /*                                IBM */
00088         #endif
00089 #elif defined(__QNXNTO__)
00090         #ifndef PLATFORM_QNXNTO
00091         # define PLATFORM_QNXNTO /*                             QNXNTO */
00092         #endif
00093 #elif defined(riscos) || defined(__riscos) || defined(__riscos__)
00094         #ifndef PLATFORM_RISCOS
00095         # define PLATFORM_RISCOS /*                             Risc OS */
00096         #endif
00097 #elif defined(AMIGA) || defined(__AMIGA) || defined(__amigados__)
00098         #ifndef PLATFORM_AMIGAOS
00099         # define PLATFORM_AMIGAOS /*                    Amiga OS */
00100         #endif
00101 #elif defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
00102         #ifndef PLATFORM_OSF
00103         # define PLATFORM_OSF /*                                OSF */
00104         #endif
00105 #elif defined(_AIX)
00106         #ifndef PLATFORM_AIX
00107         # define PLATFORM_AIX /*                                AIX */
00108         #endif
00109 #elif defined(__PALMOS__)
00110         #ifndef PLATFORM_PALMOS
00111         # define PLATFORM_PALMOS /*                             PalmOS */
00112         #endif
00113 #elif defined(__sparc__)
00114         #ifndef PLATFORM_SPARC
00115         # define PLATFORM_SPARC /*                              SPARC */
00116         #endif
00117 #elif defined(__SYMBIAN32__)
00118         #ifndef PLATFORM_SYMBIAN_32
00119         # define PLATFORM_SYMBIAN_32
00120         #endif
00121         #ifndef PLATFORM_SYMBIAN
00122         # define PLATFORM_SYMBIAN /*                    Symbian 32 */
00123         #endif
00124 #elif defined(__SYMBIAN64__)
00125     #ifndef HLX_BUILD_WITH_64_BITS_SUPPORT
00126     # define HLX_BUILD_WITH_64_BITS_SUPPORT
00127     #endif
00128         #ifndef PLATFORM_SYMBIAN_64
00129         # define PLATFORM_SYMBIAN_64
00130         #endif
00131         #ifndef PLATFORM_SYMBIAN
00132         # define PLATFORM_SYMBIAN /*                    Symbian 64 */
00133         #endif
00134 #elif defined(__hpux)
00135         #ifndef PLATFORM_HP_UNIX
00136         # define PLATFORM_HP_UNIX
00137         #endif
00138 #elif defined(_XBOX) && _XBOX_VER < 200
00139         #ifndef PLATFORM_XBOX
00140         # define PLATFORM_XBOX /*                               Xbox */
00141         #endif
00142 #elif defined(_XBOX) && _XBOX_VER >= 200
00143         #ifndef PLATFORM_XBOX_360
00144         # define PLATFORM_XBOX_360 /*                   Xbox 360 */
00145         #endif
00146 #elif defined(_WIN32_WCE) || defined(WINCE)
00147         #ifndef PLATFORM_WIN_CE
00148         # define PLATFORM_WIN_CE /*                             Microsoft Windows CE */
00149         #endif
00150         #ifndef PLATFORM_WINDOWS
00151         # define PLATFORM_WINDOWS /*                    Microsoft Windows */
00152         #endif
00153 #elif defined(_WIN64) || defined(__WIN64__) || defined(WIN64)
00154     #ifndef HLX_BUILD_WITH_64_BITS_SUPPORT
00155     # define HLX_BUILD_WITH_64_BITS_SUPPORT
00156     #endif
00157         #ifndef PLATFORM_WIN_64
00158         # define PLATFORM_WIN_64 /*                             Microsoft Windows 64 */
00159         #endif
00160         #ifndef PLATFORM_WINDOWS
00161         # define PLATFORM_WINDOWS /*                    Microsoft Windows */
00162         #endif
00163 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__WINE__)
00164         #ifndef PLATFORM_WIN_32
00165         # define PLATFORM_WIN_32 /*                             Microsoft Windows 32 */
00166         #endif
00167         #ifndef PLATFORM_WINDOWS
00168         # define PLATFORM_WINDOWS /*                    Microsoft Windows */
00169         #endif
00170 #elif defined (ANDROID_NDK) || defined (ANDROID)
00171         #ifndef PLATFORM_ANDROID
00172         # define PLATFORM_ANDROID /*                    Android */
00173         #endif
00174 #elif defined(linux) || defined(__linux) || defined(__linux__)
00175         #ifndef PLATFORM_LINUX
00176         # define PLATFORM_LINUX
00177         #endif
00178         #ifndef __i686__
00179         # define __i686__
00180         #endif
00181 #elif !(defined PLATFORM_NDS)
00182         #ifndef __unix__ 
00183         # define __unix__
00184         #endif
00185         #define PLATFORM_UNIX
00186         #ifndef __i686__
00187         # define __i686__
00188         #endif
00189 #endif
00190 
00191 #if defined(PLATFORM_MACOS)
00192 # if defined(_LP64)
00193 #  define PLATFORM_MACOS_64
00194 #  ifndef HLX_BUILD_WITH_64_BITS_SUPPORT
00195 #   define HLX_BUILD_WITH_64_BITS_SUPPORT
00196 #  endif
00197 # else
00198 #  define PLATFORM_MACOS_32
00199 # endif
00200 #endif
00201 
00202 #if defined(__x86_64__)
00203 # ifndef HLX_BUILD_WITH_64_BITS_SUPPORT
00204 #  define HLX_BUILD_WITH_64_BITS_SUPPORT
00205 # endif
00206 #endif
00207 
00208 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
00209         #ifndef PLATFORM_BSD
00210         # define PLATFORM_BSD
00211         #endif
00212 #endif
00213 
00214 #endif  /* !__HLX_PLATFORMS_H__ */
00215 
00216 /*
00217 ** END OF FILE
00218 */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines