1 /* 2 Copyright Rene Rivera 2012-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_BSD_FREE_H 9 #define BOOST_PREDEF_OS_BSD_FREE_H 10 11 #include <boost/predef/os/bsd.h> 12 13 /* tag::reference[] 14 = `BOOST_OS_BSD_FREE` 15 16 http://en.wikipedia.org/wiki/Freebsd[FreeBSD] operating system. 17 18 [options="header"] 19 |=== 20 | {predef_symbol} | {predef_version} 21 22 | `+__FreeBSD__+` | {predef_detection} 23 24 | `+__FreeBSD_version+` | V.R.P 25 |=== 26 */ // end::reference[] 27 28 #define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE 29 30 #if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \ 31 defined(__FreeBSD__) \ 32 ) 33 # ifndef BOOST_OS_BSD_AVAILABLE 34 # undef BOOST_OS_BSD 35 # define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE 36 # define BOOST_OS_BSD_AVAILABLE 37 # endif 38 # undef BOOST_OS_BSD_FREE 39 # include <sys/param.h> 40 # if defined(__FreeBSD_version) 41 # if __FreeBSD_version == 491000 42 # define BOOST_OS_BSD_FREE \ 43 BOOST_VERSION_NUMBER(4, 10, 0) 44 # elif __FreeBSD_version == 492000 45 # define BOOST_OS_BSD_FREE \ 46 BOOST_VERSION_NUMBER(4, 11, 0) 47 # elif __FreeBSD_version < 500000 48 # define BOOST_OS_BSD_FREE \ 49 BOOST_PREDEF_MAKE_10_VRPPPP(__FreeBSD_version) 50 # else 51 # define BOOST_OS_BSD_FREE \ 52 BOOST_PREDEF_MAKE_10_VVRRPPP(__FreeBSD_version) 53 # endif 54 # else 55 # define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE 56 # endif 57 #endif 58 59 #if BOOST_OS_BSD_FREE 60 # define BOOST_OS_BSD_FREE_AVAILABLE 61 # include <boost/predef/detail/os_detected.h> 62 #endif 63 64 #define BOOST_OS_BSD_FREE_NAME "Free BSD" 65 66 #endif 67 68 #include <boost/predef/detail/test.h> 69 BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_FREE,BOOST_OS_BSD_FREE_NAME) 70