1 /*
2 Copyright Rene Rivera 2008-2015
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt)
6 */
7 
8 #ifndef BOOST_PREDEF_OS_QNXNTO_H
9 #define BOOST_PREDEF_OS_QNXNTO_H
10 
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13 
14 /* tag::reference[]
15 = `BOOST_OS_QNX`
16 
17 http://en.wikipedia.org/wiki/QNX[QNX] operating system.
18 Version number available as major, and minor if possible. And
19 version 4 is specifically detected.
20 
21 [options="header"]
22 |===
23 | {predef_symbol} | {predef_version}
24 
25 | `+__QNX__+` | {predef_detection}
26 | `+__QNXNTO__+` | {predef_detection}
27 
28 | `+_NTO_VERSION+` | V.R.0
29 | `+__QNX__+` | 4.0.0
30 |===
31 */ // end::reference[]
32 
33 #define BOOST_OS_QNX BOOST_VERSION_NUMBER_NOT_AVAILABLE
34 
35 #if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
36     defined(__QNX__) || defined(__QNXNTO__) \
37     )
38 #   undef BOOST_OS_QNX
39 #   if !defined(BOOST_OS_QNX) && defined(_NTO_VERSION)
40 #       define BOOST_OS_QNX BOOST_PREDEF_MAKE_10_VVRR(_NTO_VERSION)
41 #   endif
42 #   if !defined(BOOST_OS_QNX) && defined(__QNX__)
43 #       define BOOST_OS_QNX BOOST_VERSION_NUMBER(4,0,0)
44 #   endif
45 #   if !defined(BOOST_OS_QNX)
46 #       define BOOST_OS_QNX BOOST_VERSION_NUMBER_AVAILABLE
47 #   endif
48 #endif
49 
50 #if BOOST_OS_QNX
51 #   define BOOST_OS_QNX_AVAILABLE
52 #   include <boost/predef/detail/os_detected.h>
53 #endif
54 
55 #define BOOST_OS_QNX_NAME "QNX"
56 
57 #endif
58 
59 #include <boost/predef/detail/test.h>
60 BOOST_PREDEF_DECLARE_TEST(BOOST_OS_QNX,BOOST_OS_QNX_NAME)
61