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(__IBMCPP__) || defined(_AIX) |
57 | // IBM |
58 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" |
59 | |
60 | #elif defined(__amigaos__) |
61 | // AmigaOS |
62 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" |
63 | |
64 | #elif defined(__QNXNTO__) |
65 | // QNX: |
66 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" |
67 | |
68 | #elif defined(__VXWORKS__) |
69 | // vxWorks: |
70 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" |
71 | |
72 | #elif defined(__SYMBIAN32__) |
73 | // Symbian: |
74 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" |
75 | |
76 | #elif defined(_CRAYC) |
77 | // Cray: |
78 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" |
79 | |
80 | #elif defined(__VMS) |
81 | // VMS: |
82 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" |
83 | #else |
84 | |
85 | # if defined(unix) \ |
86 | || defined(__unix) \ |
87 | || defined(_XOPEN_SOURCE) \ |
88 | || defined(_POSIX_SOURCE) |
89 | |
90 | // generic unix platform: |
91 | |
92 | # ifndef BOOST_HAS_UNISTD_H |
93 | # define BOOST_HAS_UNISTD_H |
94 | # endif |
95 | |
96 | # include <boost/config/posix_features.hpp> |
97 | |
98 | # endif |
99 | |
100 | # if defined (BOOST_ASSERT_CONFIG) |
101 | // this must come last - generate an error if we don't |
102 | // recognise the platform: |
103 | # error "Unknown platform - please configure and report the results to boost.org" |
104 | # endif |
105 | |
106 | #endif |
107 | |
108 | #if 0 |
109 | // |
110 | // This section allows dependency scanners to find all the files we *might* include: |
111 | // |
112 | # include "boost/config/platform/linux.hpp" |
113 | # include "boost/config/platform/bsd.hpp" |
114 | # include "boost/config/platform/solaris.hpp" |
115 | # include "boost/config/platform/irix.hpp" |
116 | # include "boost/config/platform/hpux.hpp" |
117 | # include "boost/config/platform/cygwin.hpp" |
118 | # include "boost/config/platform/win32.hpp" |
119 | # include "boost/config/platform/beos.hpp" |
120 | # include "boost/config/platform/macos.hpp" |
121 | # include "boost/config/platform/aix.hpp" |
122 | # include "boost/config/platform/amigaos.hpp" |
123 | # include "boost/config/platform/qnxnto.hpp" |
124 | # include "boost/config/platform/vxworks.hpp" |
125 | # include "boost/config/platform/symbian.hpp" |
126 | # include "boost/config/platform/cray.hpp" |
127 | # include "boost/config/platform/vms.hpp" |
128 | # include <boost/config/posix_features.hpp> |
129 | |
130 | |
131 | |
132 | #endif |
133 | |
134 | |