1/*
2Copyright Ruslan Baratov 2017
3Copyright Rene Rivera 2017
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_PLAT_IOS_H
10#define BOOST_PREDEF_PLAT_IOS_H
11
12#include <boost/predef/os/ios.h> // BOOST_OS_IOS
13#include <boost/predef/version_number.h> // BOOST_VERSION_NUMBER_NOT_AVAILABLE
14
15/* tag::reference[]
16= `BOOST_PLAT_IOS_DEVICE`
17= `BOOST_PLAT_IOS_SIMULATOR`
18
19[options="header"]
20|===
21| {predef_symbol} | {predef_version}
22
23| `TARGET_IPHONE_SIMULATOR` | {predef_detection}
24| `TARGET_OS_SIMULATOR` | {predef_detection}
25|===
26*/ // end::reference[]
27
28#define BOOST_PLAT_IOS_DEVICE BOOST_VERSION_NUMBER_NOT_AVAILABLE
29#define BOOST_PLAT_IOS_SIMULATOR BOOST_VERSION_NUMBER_NOT_AVAILABLE
30
31// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h
32#if BOOST_OS_IOS
33# include <TargetConditionals.h>
34# if defined(TARGET_OS_SIMULATOR) && (TARGET_OS_SIMULATOR == 1)
35# undef BOOST_PLAT_IOS_SIMULATOR
36# define BOOST_PLAT_IOS_SIMULATOR BOOST_VERSION_NUMBER_AVAILABLE
37# elif defined(TARGET_IPHONE_SIMULATOR) && (TARGET_IPHONE_SIMULATOR == 1)
38# undef BOOST_PLAT_IOS_SIMULATOR
39# define BOOST_PLAT_IOS_SIMULATOR BOOST_VERSION_NUMBER_AVAILABLE
40# else
41# undef BOOST_PLAT_IOS_DEVICE
42# define BOOST_PLAT_IOS_DEVICE BOOST_VERSION_NUMBER_AVAILABLE
43# endif
44#endif
45
46#if BOOST_PLAT_IOS_SIMULATOR
47# define BOOST_PLAT_IOS_SIMULATOR_AVAILABLE
48# include <boost/predef/detail/platform_detected.h>
49#endif
50
51#if BOOST_PLAT_IOS_DEVICE
52# define BOOST_PLAT_IOS_DEVICE_AVAILABLE
53# include <boost/predef/detail/platform_detected.h>
54#endif
55
56#define BOOST_PLAT_IOS_SIMULATOR_NAME "iOS Simulator"
57#define BOOST_PLAT_IOS_DEVICE_NAME "iOS Device"
58
59#endif // BOOST_PREDEF_PLAT_IOS_H
60
61#include <boost/predef/detail/test.h>
62BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_SIMULATOR,BOOST_PLAT_IOS_SIMULATOR_NAME)
63BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_DEVICE,BOOST_PLAT_IOS_DEVICE_NAME)
64

source code of include/boost/predef/platform/ios.h