1 /*
2 Copyright Rene Rivera 2008-2015
3 Copyright Franz Detro 2014
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
7 */
8 
9 #ifndef BOOST_PREDEF_OS_MACOS_H
10 #define BOOST_PREDEF_OS_MACOS_H
11 
12 /* Special case: iOS will define the same predefs as MacOS, and additionally
13  '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__'. We can guard against that,
14  but only if we detect iOS first. Hence we will force include iOS detection
15  * before doing any MacOS detection.
16  */
17 #include <boost/predef/os/ios.h>
18 
19 #include <boost/predef/version_number.h>
20 #include <boost/predef/make.h>
21 
22 /* tag::reference[]
23 = `BOOST_OS_MACOS`
24 
25 http://en.wikipedia.org/wiki/Mac_OS[Mac OS] operating system.
26 
27 [options="header"]
28 |===
29 | {predef_symbol} | {predef_version}
30 
31 | `macintosh` | {predef_detection}
32 | `Macintosh` | {predef_detection}
33 | `+__APPLE__+` | {predef_detection}
34 | `+__MACH__+` | {predef_detection}
35 
36 | `+__APPLE__+`, `+__MACH__+` | 10.0.0
37 | `_otherwise_` | 9.0.0
38 |===
39 */ // end::reference[]
40 
41 #define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
42 
43 #if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
44     defined(macintosh) || defined(Macintosh) || \
45     (defined(__APPLE__) && defined(__MACH__)) \
46     )
47 #   undef BOOST_OS_MACOS
48 #   if !defined(BOOST_OS_MACOS) && defined(__APPLE__) && defined(__MACH__)
49 #       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(10,0,0)
50 #   endif
51 #   if !defined(BOOST_OS_MACOS)
52 #       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(9,0,0)
53 #   endif
54 #endif
55 
56 #if BOOST_OS_MACOS
57 #   define BOOST_OS_MACOS_AVAILABLE
58 #   include <boost/predef/detail/os_detected.h>
59 #endif
60 
61 #define BOOST_OS_MACOS_NAME "Mac OS"
62 
63 #endif
64 
65 #include <boost/predef/detail/test.h>
66 BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,BOOST_OS_MACOS_NAME)
67