Chris@16
|
1 // Boost compiler configuration selection header file
|
Chris@16
|
2
|
Chris@16
|
3 // (C) Copyright John Maddock 2001 - 2002.
|
Chris@16
|
4 // (C) Copyright Jens Maurer 2001.
|
Chris@16
|
5 // Use, modification and distribution are subject to the
|
Chris@16
|
6 // Boost Software License, Version 1.0. (See accompanying file
|
Chris@16
|
7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
8
|
Chris@16
|
9 // See http://www.boost.org for most recent version.
|
Chris@16
|
10
|
Chris@16
|
11 // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
|
Chris@16
|
12 // Note that we define the headers to include using "header_name" not
|
Chris@16
|
13 // <header_name> in order to prevent macro expansion within the header
|
Chris@16
|
14 // name (for example "linux" is a macro on linux systems).
|
Chris@16
|
15
|
Chris@16
|
16 #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
|
Chris@16
|
17 // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
|
Chris@16
|
18 # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
|
Chris@16
|
19
|
Chris@16
|
20 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|
Chris@16
|
21 // BSD:
|
Chris@16
|
22 # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
|
Chris@16
|
23
|
Chris@16
|
24 #elif defined(sun) || defined(__sun)
|
Chris@16
|
25 // solaris:
|
Chris@16
|
26 # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
|
Chris@16
|
27
|
Chris@16
|
28 #elif defined(__sgi)
|
Chris@16
|
29 // SGI Irix:
|
Chris@16
|
30 # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
|
Chris@16
|
31
|
Chris@16
|
32 #elif defined(__hpux)
|
Chris@16
|
33 // hp unix:
|
Chris@16
|
34 # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
|
Chris@16
|
35
|
Chris@16
|
36 #elif defined(__CYGWIN__)
|
Chris@16
|
37 // cygwin is not win32:
|
Chris@16
|
38 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
|
Chris@16
|
39
|
Chris@16
|
40 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
Chris@16
|
41 // win32:
|
Chris@16
|
42 # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
|
Chris@16
|
43
|
Chris@101
|
44 #elif defined(__HAIKU__)
|
Chris@101
|
45 // Haiku
|
Chris@101
|
46 # define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
|
Chris@101
|
47
|
Chris@16
|
48 #elif defined(__BEOS__)
|
Chris@16
|
49 // BeOS
|
Chris@16
|
50 # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
|
Chris@16
|
51
|
Chris@16
|
52 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
Chris@16
|
53 // MacOS
|
Chris@16
|
54 # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
|
Chris@16
|
55
|
Chris@16
|
56 #elif defined(__IBMCPP__) || defined(_AIX)
|
Chris@16
|
57 // IBM
|
Chris@16
|
58 # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
|
Chris@16
|
59
|
Chris@16
|
60 #elif defined(__amigaos__)
|
Chris@16
|
61 // AmigaOS
|
Chris@16
|
62 # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
|
Chris@16
|
63
|
Chris@16
|
64 #elif defined(__QNXNTO__)
|
Chris@16
|
65 // QNX:
|
Chris@16
|
66 # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
|
Chris@16
|
67
|
Chris@16
|
68 #elif defined(__VXWORKS__)
|
Chris@16
|
69 // vxWorks:
|
Chris@16
|
70 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
|
Chris@16
|
71
|
Chris@16
|
72 #elif defined(__SYMBIAN32__)
|
Chris@16
|
73 // Symbian:
|
Chris@16
|
74 # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
|
Chris@16
|
75
|
Chris@16
|
76 #elif defined(_CRAYC)
|
Chris@16
|
77 // Cray:
|
Chris@16
|
78 # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp"
|
Chris@16
|
79
|
Chris@16
|
80 #elif defined(__VMS)
|
Chris@16
|
81 // VMS:
|
Chris@16
|
82 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
|
Chris@16
|
83 #else
|
Chris@16
|
84
|
Chris@16
|
85 # if defined(unix) \
|
Chris@16
|
86 || defined(__unix) \
|
Chris@16
|
87 || defined(_XOPEN_SOURCE) \
|
Chris@16
|
88 || defined(_POSIX_SOURCE)
|
Chris@16
|
89
|
Chris@16
|
90 // generic unix platform:
|
Chris@16
|
91
|
Chris@16
|
92 # ifndef BOOST_HAS_UNISTD_H
|
Chris@16
|
93 # define BOOST_HAS_UNISTD_H
|
Chris@16
|
94 # endif
|
Chris@16
|
95
|
Chris@16
|
96 # include <boost/config/posix_features.hpp>
|
Chris@16
|
97
|
Chris@16
|
98 # endif
|
Chris@16
|
99
|
Chris@16
|
100 # if defined (BOOST_ASSERT_CONFIG)
|
Chris@16
|
101 // this must come last - generate an error if we don't
|
Chris@16
|
102 // recognise the platform:
|
Chris@16
|
103 # error "Unknown platform - please configure and report the results to boost.org"
|
Chris@16
|
104 # endif
|
Chris@16
|
105
|
Chris@16
|
106 #endif
|
Chris@16
|
107
|
Chris@101
|
108 #if 0
|
Chris@101
|
109 //
|
Chris@101
|
110 // This section allows dependency scanners to find all the files we *might* include:
|
Chris@101
|
111 //
|
Chris@101
|
112 # include "boost/config/platform/linux.hpp"
|
Chris@101
|
113 # include "boost/config/platform/bsd.hpp"
|
Chris@101
|
114 # include "boost/config/platform/solaris.hpp"
|
Chris@101
|
115 # include "boost/config/platform/irix.hpp"
|
Chris@101
|
116 # include "boost/config/platform/hpux.hpp"
|
Chris@101
|
117 # include "boost/config/platform/cygwin.hpp"
|
Chris@101
|
118 # include "boost/config/platform/win32.hpp"
|
Chris@101
|
119 # include "boost/config/platform/beos.hpp"
|
Chris@101
|
120 # include "boost/config/platform/macos.hpp"
|
Chris@101
|
121 # include "boost/config/platform/aix.hpp"
|
Chris@101
|
122 # include "boost/config/platform/amigaos.hpp"
|
Chris@101
|
123 # include "boost/config/platform/qnxnto.hpp"
|
Chris@101
|
124 # include "boost/config/platform/vxworks.hpp"
|
Chris@101
|
125 # include "boost/config/platform/symbian.hpp"
|
Chris@101
|
126 # include "boost/config/platform/cray.hpp"
|
Chris@101
|
127 # include "boost/config/platform/vms.hpp"
|
Chris@101
|
128 # include <boost/config/posix_features.hpp>
|
Chris@16
|
129
|
Chris@16
|
130
|
Chris@101
|
131
|
Chris@101
|
132 #endif
|
Chris@101
|
133
|