Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:48:06

0001 /*
0002 Copyright Rene Rivera 2008-2015
0003 Distributed under the Boost Software License, Version 1.0.
0004 (See accompanying file LICENSE_1_0.txt or copy at
0005 http://www.boost.org/LICENSE_1_0.txt)
0006 */
0007 
0008 #ifndef BOOST_PREDEF_OS_BSD_H
0009 #define BOOST_PREDEF_OS_BSD_H
0010 
0011 /* Special case: OSX will define BSD predefs if the sys/param.h
0012  * header is included. We can guard against that, but only if we
0013  * detect OSX first. Hence we will force include OSX detection
0014  * before doing any BSD detection.
0015  */
0016 #include <boost/predef/os/macos.h>
0017 
0018 #include <boost/predef/version_number.h>
0019 #include <boost/predef/make.h>
0020 
0021 /* tag::reference[]
0022 = `BOOST_OS_BSD`
0023 
0024 http://en.wikipedia.org/wiki/Berkeley_Software_Distribution[BSD] operating system.
0025 
0026 BSD has various branch operating systems possible and each detected
0027 individually. This detects the following variations and sets a specific
0028 version number macro to match:
0029 
0030 * `BOOST_OS_BSD_DRAGONFLY` http://en.wikipedia.org/wiki/DragonFly_BSD[DragonFly BSD]
0031 * `BOOST_OS_BSD_FREE` http://en.wikipedia.org/wiki/Freebsd[FreeBSD]
0032 * `BOOST_OS_BSD_BSDI` http://en.wikipedia.org/wiki/BSD/OS[BSDi BSD/OS]
0033 * `BOOST_OS_BSD_NET` http://en.wikipedia.org/wiki/Netbsd[NetBSD]
0034 * `BOOST_OS_BSD_OPEN` http://en.wikipedia.org/wiki/Openbsd[OpenBSD]
0035 
0036 NOTE: The general `BOOST_OS_BSD` is set in all cases to indicate some form
0037 of BSD. If the above variants is detected the corresponding macro is also set.
0038 
0039 [options="header"]
0040 |===
0041 | {predef_symbol} | {predef_version}
0042 
0043 | `BSD` | {predef_detection}
0044 | `+_SYSTYPE_BSD+` | {predef_detection}
0045 
0046 | `BSD4_2` | 4.2.0
0047 | `BSD4_3` | 4.3.0
0048 | `BSD4_4` | 4.4.0
0049 | `BSD` | V.R.0
0050 |===
0051 */ // end::reference[]
0052 
0053 #include <boost/predef/os/bsd/bsdi.h>
0054 #include <boost/predef/os/bsd/dragonfly.h>
0055 #include <boost/predef/os/bsd/free.h>
0056 #include <boost/predef/os/bsd/open.h>
0057 #include <boost/predef/os/bsd/net.h>
0058 
0059 #ifndef BOOST_OS_BSD
0060 #define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
0061 #endif
0062 
0063 #if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
0064     defined(BSD) || \
0065     defined(_SYSTYPE_BSD) \
0066     )
0067 #   undef BOOST_OS_BSD
0068 #   include <sys/param.h>
0069 #   if !defined(BOOST_OS_BSD) && defined(BSD4_4)
0070 #       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
0071 #   endif
0072 #   if !defined(BOOST_OS_BSD) && defined(BSD4_3)
0073 #       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
0074 #   endif
0075 #   if !defined(BOOST_OS_BSD) && defined(BSD4_2)
0076 #       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0)
0077 #   endif
0078 #   if !defined(BOOST_OS_BSD) && defined(BSD)
0079 #       define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
0080 #   endif
0081 #   if !defined(BOOST_OS_BSD)
0082 #       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
0083 #   endif
0084 #endif
0085 
0086 #if BOOST_OS_BSD
0087 #   define BOOST_OS_BSD_AVAILABLE
0088 #   include <boost/predef/detail/os_detected.h>
0089 #endif
0090 
0091 #define BOOST_OS_BSD_NAME "BSD"
0092 
0093 #endif
0094 
0095 #include <boost/predef/os/bsd/bsdi.h>
0096 #include <boost/predef/os/bsd/dragonfly.h>
0097 #include <boost/predef/os/bsd/free.h>
0098 #include <boost/predef/os/bsd/open.h>
0099 #include <boost/predef/os/bsd/net.h>
0100 
0101 #include <boost/predef/detail/test.h>
0102 BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD,BOOST_OS_BSD_NAME)