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 | |