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(__BEOS__) 45 // BeOS 46 # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" 47 48 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) 49 // MacOS 50 # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" 51 52 #elif defined(__IBMCPP__) || defined(_AIX) 53 // IBM 54 # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" 55 56 #elif defined(__amigaos__) 57 // AmigaOS 58 # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" 59 60 #elif defined(__QNXNTO__) 61 // QNX: 62 # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" 63 64 #elif defined(__VXWORKS__) 65 // vxWorks: 66 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" 67 68 #elif defined(__SYMBIAN32__) 69 // Symbian: 70 # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" 71 72 #elif defined(_CRAYC) 73 // Cray: 74 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" 75 76 #elif defined(__VMS) 77 // VMS: 78 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" 79 #else 80 81 # if defined(unix) \ 82 || defined(__unix) \ 83 || defined(_XOPEN_SOURCE) \ 84 || defined(_POSIX_SOURCE) 85 86 // generic unix platform: 87 88 # ifndef BOOST_HAS_UNISTD_H 89 # define BOOST_HAS_UNISTD_H 90 # endif 91 92 # include <boost/config/posix_features.hpp> 93 94 # endif 95 96 # if defined (BOOST_ASSERT_CONFIG) 97 // this must come last - generate an error if we don't 98 // recognise the platform: 99 # error "Unknown platform - please configure and report the results to boost.org" 100 # endif 101 102 #endif 103 104 105 106