1 // Boost compiler configuration selection header file 2 3 // (C) Copyright John Maddock 2001 - 2002. 4 // (C) Copyright Jens Maurer 2001. 5 // Use, modification and distribution are subject to the 6 // Boost Software License, Version 1.0. (See accompanying file 7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 9 // See http://www.boost.org for most recent version. 10 11 // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. 12 // Note that we define the headers to include using "header_name" not 13 // <header_name> in order to prevent macro expansion within the header 14 // name (for example "linux" is a macro on linux systems). 15 16 #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) 17 // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? 18 # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" 19 20 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) 21 // BSD: 22 # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" 23 24 #elif defined(sun) || defined(__sun) 25 // solaris: 26 # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" 27 28 #elif defined(__sgi) 29 // SGI Irix: 30 # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" 31 32 #elif defined(__hpux) 33 // hp unix: 34 # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" 35 36 #elif defined(__CYGWIN__) 37 // cygwin is not win32: 38 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" 39 40 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) 41 // win32: 42 # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" 43 44 #elif defined(__HAIKU__) 45 // Haiku 46 # define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" 47 48 #elif defined(__BEOS__) 49 // BeOS 50 # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" 51 52 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) 53 // MacOS 54 # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" 55 56 #elif defined(__TOS_MVS__) 57 // IBM z/OS 58 # define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" 59 60 #elif defined(__IBMCPP__) || defined(_AIX) 61 // IBM AIX 62 # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" 63 64 #elif defined(__amigaos__) 65 // AmigaOS 66 # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" 67 68 #elif defined(__QNXNTO__) 69 // QNX: 70 # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" 71 72 #elif defined(__VXWORKS__) 73 // vxWorks: 74 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" 75 76 #elif defined(__SYMBIAN32__) 77 // Symbian: 78 # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" 79 80 #elif defined(_CRAYC) 81 // Cray: 82 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" 83 84 #elif defined(__VMS) 85 // VMS: 86 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" 87 88 #elif defined(__CloudABI__) 89 // Nuxi CloudABI: 90 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp" 91 #else 92 93 # if defined(unix) \ 94 || defined(__unix) \ 95 || defined(_XOPEN_SOURCE) \ 96 || defined(_POSIX_SOURCE) 97 98 // generic unix platform: 99 100 # ifndef BOOST_HAS_UNISTD_H 101 # define BOOST_HAS_UNISTD_H 102 # endif 103 104 # include <boost/config/detail/posix_features.hpp> 105 106 # endif 107 108 # if defined (BOOST_ASSERT_CONFIG) 109 // this must come last - generate an error if we don't 110 // recognise the platform: 111 # error "Unknown platform - please configure and report the results to boost.org" 112 # endif 113 114 #endif 115 116 #if 0 117 // 118 // This section allows dependency scanners to find all the files we *might* include: 119 // 120 # include "boost/config/platform/linux.hpp" 121 # include "boost/config/platform/bsd.hpp" 122 # include "boost/config/platform/solaris.hpp" 123 # include "boost/config/platform/irix.hpp" 124 # include "boost/config/platform/hpux.hpp" 125 # include "boost/config/platform/cygwin.hpp" 126 # include "boost/config/platform/win32.hpp" 127 # include "boost/config/platform/beos.hpp" 128 # include "boost/config/platform/macos.hpp" 129 # include "boost/config/platform/zos.hpp" 130 # include "boost/config/platform/aix.hpp" 131 # include "boost/config/platform/amigaos.hpp" 132 # include "boost/config/platform/qnxnto.hpp" 133 # include "boost/config/platform/vxworks.hpp" 134 # include "boost/config/platform/symbian.hpp" 135 # include "boost/config/platform/cray.hpp" 136 # include "boost/config/platform/vms.hpp" 137 # include <boost/config/detail/posix_features.hpp> 138 139 140 141 #endif 142 143