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_LIBRARY_C_GNU_H
9 #define BOOST_PREDEF_LIBRARY_C_GNU_H
10 
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13 
14 #include <boost/predef/library/c/_prefix.h>
15 
16 #if defined(__STDC__)
17 #include <stddef.h>
18 #elif defined(__cplusplus)
19 #include <cstddef>
20 #endif
21 
22 /*`
23 [heading `BOOST_LIB_C_GNU`]
24 
25 [@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
26 Version number available as major, and minor.
27 
28 [table
29     [[__predef_symbol__] [__predef_version__]]
30 
31     [[`__GLIBC__`] [__predef_detection__]]
32     [[`__GNU_LIBRARY__`] [__predef_detection__]]
33 
34     [[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
35     [[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
36     ]
37  */
38 
39 #define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
40 
41 #if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
42 #   undef BOOST_LIB_C_GNU
43 #   if defined(__GLIBC__)
44 #       define BOOST_LIB_C_GNU \
45             BOOST_VERSION_NUMBER(__GLIBC__,__GLIBC_MINOR__,0)
46 #   else
47 #       define BOOST_LIB_C_GNU \
48             BOOST_VERSION_NUMBER(__GNU_LIBRARY__,__GNU_LIBRARY_MINOR__,0)
49 #   endif
50 #endif
51 
52 #if BOOST_LIB_C_GNU
53 #   define BOOST_LIB_C_GNU_AVAILABLE
54 #endif
55 
56 #define BOOST_LIB_C_GNU_NAME "GNU"
57 
58 #endif
59 
60 #include <boost/predef/detail/test.h>
61 BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_GNU,BOOST_LIB_C_GNU_NAME)
62