1/*
2Copyright Rene Rivera 2008-2015
3Distributed under the Boost Software License, Version 1.0.
4(See accompanying file LICENSE_1_0.txt or copy at
5http://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.
26Version 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>
61BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_GNU,BOOST_LIB_C_GNU_NAME)
62