1 // Boost compiler configuration selection header file
\r
3 // (C) Copyright John Maddock 2001 - 2002.
\r
4 // (C) Copyright Jens Maurer 2001.
\r
5 // Use, modification and distribution are subject to the
\r
6 // Boost Software License, Version 1.0. (See accompanying file
\r
7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
\r
9 // See http://www.boost.org for most recent version.
\r
11 // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
\r
12 // Note that we define the headers to include using "header_name" not
\r
13 // <header_name> in order to prevent macro expansion within the header
\r
14 // name (for example "linux" is a macro on linux systems).
\r
16 #if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
\r
17 // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
\r
18 # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
\r
20 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
\r
22 # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
\r
24 #elif defined(sun) || defined(__sun)
\r
26 # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
\r
28 #elif defined(__sgi)
\r
30 # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
\r
32 #elif defined(__hpux)
\r
34 # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
\r
36 #elif defined(__CYGWIN__)
\r
37 // cygwin is not win32:
\r
38 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
\r
40 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
\r
42 # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
\r
44 #elif defined(__BEOS__)
\r
46 # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
\r
48 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
\r
50 # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
\r
52 #elif defined(__IBMCPP__) || defined(_AIX)
\r
54 # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
\r
56 #elif defined(__amigaos__)
\r
58 # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
\r
60 #elif defined(__QNXNTO__)
\r
62 # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
\r
64 #elif defined(__VXWORKS__)
\r
66 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
\r
70 # if defined(unix) \
\r
71 || defined(__unix) \
\r
72 || defined(_XOPEN_SOURCE) \
\r
73 || defined(_POSIX_SOURCE)
\r
75 // generic unix platform:
\r
77 # ifndef BOOST_HAS_UNISTD_H
\r
78 # define BOOST_HAS_UNISTD_H
\r
81 # include <boost/config/posix_features.hpp>
\r
85 # if defined (BOOST_ASSERT_CONFIG)
\r
86 // this must come last - generate an error if we don't
\r
87 // recognise the platform:
\r
88 # error "Unknown platform - please configure and report the results to boost.org"
\r