1 // (C) Copyright John Maddock 2001 - 2003.
2 // (C) Copyright Jens Maurer 2001 - 2003.
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 // See http://www.boost.org for most recent version.
9 // linux specific config options:
11 #define BOOST_PLATFORM "linux"
13 // make sure we have __GLIBC_PREREQ if available at all
17 // <stdint.h> added to glibc 2.1.1
18 // We can only test for 2.1 though:
20 #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
21 // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
22 // int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
23 // only when using GCC.
25 # define BOOST_HAS_STDINT_H
29 #if defined(__LIBCOMO__)
31 // como on linux doesn't have std:: c functions:
32 // NOTE: versions of libcomo prior to beta28 have octal version numbering,
33 // e.g. version 25 is 21 (dec)
35 # if __LIBCOMO_VERSION__ <= 20
36 # define BOOST_NO_STDC_NAMESPACE
39 # if __LIBCOMO_VERSION__ <= 21
40 # define BOOST_NO_SWPRINTF
46 // If glibc is past version 2 then we definitely have
47 // gettimeofday, earlier versions may or may not have it:
49 #if defined(__GLIBC__) && (__GLIBC__ >= 2)
50 # define BOOST_HAS_GETTIMEOFDAY
53 #ifdef __USE_POSIX199309
54 # define BOOST_HAS_NANOSLEEP
57 #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
58 // __GLIBC_PREREQ is available since 2.1.2
60 // swprintf is available since glibc 2.2.0
61 # if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
62 # define BOOST_NO_SWPRINTF
65 # define BOOST_NO_SWPRINTF
69 #define BOOST_HAS_UNISTD_H
70 #include <boost/config/posix_features.hpp>
74 // if the compiler is not gcc we still need to be able to parse
75 // the GNU system headers, some of which (mainly <stdint.h>)
76 // use GNU specific extensions:
78 # ifndef __extension__
79 # define __extension__
82 # define __const__ const
85 # define __volatile__ volatile
88 # define __signed__ signed
91 # define __typeof__ typeof
94 # define __inline__ inline