Home | History | Annotate | Download | only in platform
      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)
      6 
      7 //  See http://www.boost.org for most recent version.
      8 
      9 //  linux specific config options:
     10 
     11 #define BOOST_PLATFORM "linux"
     12 
     13 // make sure we have __GLIBC_PREREQ if available at all
     14 #ifdef __cplusplus
     15 #include <cstdlib>
     16 #else
     17 #include <stdlib.h>
     18 #endif
     19 
     20 //
     21 // <stdint.h> added to glibc 2.1.1
     22 // We can only test for 2.1 though:
     23 //
     24 #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
     25    // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
     26    // int64_t only if __GNUC__.  Thus, assume a fully usable <stdint.h>
     27    // only when using GCC.
     28 #  if defined __GNUC__
     29 #    define BOOST_HAS_STDINT_H
     30 #  endif
     31 #endif
     32 
     33 #if defined(__LIBCOMO__)
     34    //
     35    // como on linux doesn't have std:: c functions:
     36    // NOTE: versions of libcomo prior to beta28 have octal version numbering,
     37    // e.g. version 25 is 21 (dec)
     38    //
     39 #  if __LIBCOMO_VERSION__ <= 20
     40 #    define BOOST_NO_STDC_NAMESPACE
     41 #  endif
     42 
     43 #  if __LIBCOMO_VERSION__ <= 21
     44 #    define BOOST_NO_SWPRINTF
     45 #  endif
     46 
     47 #endif
     48 
     49 //
     50 // If glibc is past version 2 then we definitely have
     51 // gettimeofday, earlier versions may or may not have it:
     52 //
     53 #if defined(__GLIBC__) && (__GLIBC__ >= 2)
     54 #  define BOOST_HAS_GETTIMEOFDAY
     55 #endif
     56 
     57 #ifdef __USE_POSIX199309
     58 #  define BOOST_HAS_NANOSLEEP
     59 #endif
     60 
     61 #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
     62 // __GLIBC_PREREQ is available since 2.1.2
     63 
     64    // swprintf is available since glibc 2.2.0
     65 #  if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
     66 #    define BOOST_NO_SWPRINTF
     67 #  endif
     68 #else
     69 #  define BOOST_NO_SWPRINTF
     70 #endif
     71 
     72 // boilerplate code:
     73 #define BOOST_HAS_UNISTD_H
     74 #include <boost/config/posix_features.hpp>
     75 #define BOOST_HAS_PTHREAD_YIELD
     76 
     77 #ifndef __GNUC__
     78 //
     79 // if the compiler is not gcc we still need to be able to parse
     80 // the GNU system headers, some of which (mainly <stdint.h>)
     81 // use GNU specific extensions:
     82 //
     83 #  ifndef __extension__
     84 #     define __extension__
     85 #  endif
     86 #  ifndef __const__
     87 #     define __const__ const
     88 #  endif
     89 #  ifndef __volatile__
     90 #     define __volatile__ volatile
     91 #  endif
     92 #  ifndef __signed__
     93 #     define __signed__ signed
     94 #  endif
     95 #  ifndef __typeof__
     96 #     define __typeof__ typeof
     97 #  endif
     98 #  ifndef __inline__
     99 #     define __inline__ inline
    100 #  endif
    101 #endif
    102 
    103 
    104