1/*
2Copyright Rene Rivera 2008-2015
3Copyright Franz Detro 2014
4Distributed under the Boost Software License, Version 1.0.
5(See accompanying file LICENSE_1_0.txt or copy at
6http://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
25http://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>
66BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,BOOST_OS_MACOS_NAME)
67

source code of include/boost/predef/os/macos.h