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