]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
b32b8144 FG |
56 | #elif defined(__TOS_MVS__) |
57 | // IBM z/OS | |
58 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" | |
59 | ||
7c673cae | 60 | #elif defined(__IBMCPP__) || defined(_AIX) |
b32b8144 | 61 | // IBM AIX |
7c673cae FG |
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" | |
1e59de90 TL |
91 | |
92 | #elif defined (__wasm__) | |
93 | // Web assembly: | |
94 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp" | |
95 | ||
7c673cae FG |
96 | #else |
97 | ||
98 | # if defined(unix) \ | |
99 | || defined(__unix) \ | |
100 | || defined(_XOPEN_SOURCE) \ | |
101 | || defined(_POSIX_SOURCE) | |
102 | ||
103 | // generic unix platform: | |
104 | ||
105 | # ifndef BOOST_HAS_UNISTD_H | |
106 | # define BOOST_HAS_UNISTD_H | |
107 | # endif | |
108 | ||
b32b8144 | 109 | # include <boost/config/detail/posix_features.hpp> |
7c673cae FG |
110 | |
111 | # endif | |
112 | ||
113 | # if defined (BOOST_ASSERT_CONFIG) | |
114 | // this must come last - generate an error if we don't | |
115 | // recognise the platform: | |
116 | # error "Unknown platform - please configure and report the results to boost.org" | |
117 | # endif | |
118 | ||
119 | #endif | |
120 | ||
121 | #if 0 | |
122 | // | |
123 | // This section allows dependency scanners to find all the files we *might* include: | |
124 | // | |
125 | # include "boost/config/platform/linux.hpp" | |
126 | # include "boost/config/platform/bsd.hpp" | |
127 | # include "boost/config/platform/solaris.hpp" | |
128 | # include "boost/config/platform/irix.hpp" | |
129 | # include "boost/config/platform/hpux.hpp" | |
130 | # include "boost/config/platform/cygwin.hpp" | |
131 | # include "boost/config/platform/win32.hpp" | |
132 | # include "boost/config/platform/beos.hpp" | |
133 | # include "boost/config/platform/macos.hpp" | |
b32b8144 | 134 | # include "boost/config/platform/zos.hpp" |
7c673cae FG |
135 | # include "boost/config/platform/aix.hpp" |
136 | # include "boost/config/platform/amigaos.hpp" | |
137 | # include "boost/config/platform/qnxnto.hpp" | |
138 | # include "boost/config/platform/vxworks.hpp" | |
139 | # include "boost/config/platform/symbian.hpp" | |
140 | # include "boost/config/platform/cray.hpp" | |
141 | # include "boost/config/platform/vms.hpp" | |
b32b8144 | 142 | # include <boost/config/detail/posix_features.hpp> |
7c673cae FG |
143 | |
144 | ||
145 | ||
146 | #endif | |
147 |