imgtools/imglib/boostlibrary/boost/config/stdlib/libstdcpp3.hpp
changeset 0 044383f39525
equal deleted inserted replaced
-1:000000000000 0:044383f39525
       
     1 //  (C) Copyright John Maddock 2001.
       
     2 //  (C) Copyright Jens Maurer 2001.
       
     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 //  config for libstdc++ v3
       
    10 //  not much to go in here:
       
    11 
       
    12 #ifdef __GLIBCXX__
       
    13 #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
       
    14 #else
       
    15 #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
       
    16 #endif
       
    17 
       
    18 #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
       
    19 #  define BOOST_NO_CWCHAR
       
    20 #  define BOOST_NO_CWCTYPE
       
    21 #  define BOOST_NO_STD_WSTRING
       
    22 #  define BOOST_NO_STD_WSTREAMBUF
       
    23 #endif
       
    24 
       
    25 #if defined(__osf__) && !defined(_REENTRANT) \
       
    26   && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )
       
    27 // GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header
       
    28 // file is included, therefore for consistency we define it here as well.
       
    29 #  define _REENTRANT
       
    30 #endif
       
    31 
       
    32 #ifdef __GLIBCXX__ // gcc 3.4 and greater:
       
    33 #  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
       
    34         || defined(_GLIBCXX__PTHREADS)
       
    35       //
       
    36       // If the std lib has thread support turned on, then turn it on in Boost
       
    37       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT
       
    38       // while others do not...
       
    39       //
       
    40 #     define BOOST_HAS_THREADS
       
    41 #  else
       
    42 #     define BOOST_DISABLE_THREADS
       
    43 #  endif
       
    44 #elif defined(__GLIBCPP__) \
       
    45         && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
       
    46         && !defined(_GLIBCPP__PTHREADS)
       
    47    // disable thread support if the std lib was built single threaded:
       
    48 #  define BOOST_DISABLE_THREADS
       
    49 #endif
       
    50 
       
    51 #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
       
    52 // linux on arm apparently doesn't define _REENTRANT
       
    53 // so just turn on threading support whenever the std lib is thread safe:
       
    54 #  define BOOST_HAS_THREADS
       
    55 #endif
       
    56 
       
    57 
       
    58 #if !defined(_GLIBCPP_USE_LONG_LONG) \
       
    59     && !defined(_GLIBCXX_USE_LONG_LONG)\
       
    60     && defined(BOOST_HAS_LONG_LONG)
       
    61 // May have been set by compiler/*.hpp, but "long long" without library
       
    62 // support is useless.
       
    63 #  undef BOOST_HAS_LONG_LONG
       
    64 #endif
       
    65 
       
    66 #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
       
    67 #  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
       
    68 #  define BOOST_HAS_SLIST
       
    69 #  define BOOST_HAS_HASH
       
    70 #  define BOOST_SLIST_HEADER <ext/slist>
       
    71 # if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
       
    72 #   define BOOST_HASH_SET_HEADER <ext/hash_set>
       
    73 #   define BOOST_HASH_MAP_HEADER <ext/hash_map>
       
    74 # else
       
    75 #   define BOOST_HASH_SET_HEADER <backward/hash_set>
       
    76 #   define BOOST_HASH_MAP_HEADER <backward/hash_map>
       
    77 # endif
       
    78 #endif
       
    79 
       
    80 #ifndef __GXX_EXPERIMENTAL_CXX0X__
       
    81 #  define BOOST_NO_STD_UNORDERED
       
    82 #endif
       
    83