1 | /* |
2 | Copyright Ruslan Baratov 2017 |
3 | Copyright Rene Rivera 2017 |
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_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> |
62 | BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_SIMULATOR,BOOST_PLAT_IOS_SIMULATOR_NAME) |
63 | BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_DEVICE,BOOST_PLAT_IOS_DEVICE_NAME) |
64 | |