libstdcpp3.hpp
Go to the documentation of this file.
00001 //  (C) Copyright John Maddock 2001.
00002 //  (C) Copyright Jens Maurer 2001.
00003 //  Use, modification and distribution are subject to the
00004 //  Boost Software License, Version 1.0. (See accompanying file
00005 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00006 
00007 //  See http://www.boost.org for most recent version.
00008 
00009 //  config for libstdc++ v3
00010 //  not much to go in here:
00011 
00012 #ifdef __GLIBCXX__
00013 #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
00014 #else
00015 #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
00016 #endif
00017 
00018 #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
00019 #  define BOOST_NO_CWCHAR
00020 #  define BOOST_NO_CWCTYPE
00021 #  define BOOST_NO_STD_WSTRING
00022 #  define BOOST_NO_STD_WSTREAMBUF
00023 #endif
00024 
00025 #if defined(__osf__) && !defined(_REENTRANT) \
00026   && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )
00027 // GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header
00028 // file is included, therefore for consistency we define it here as well.
00029 #  define _REENTRANT
00030 #endif
00031 
00032 #ifdef __GLIBCXX__ // gcc 3.4 and greater:
00033 #  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
00034         || defined(_GLIBCXX__PTHREADS)
00035       //
00036       // If the std lib has thread support turned on, then turn it on in Boost
00037       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT
00038       // while others do not...
00039       //
00040 #     define BOOST_HAS_THREADS
00041 #  else
00042 #     define BOOST_DISABLE_THREADS
00043 #  endif
00044 #elif defined(__GLIBCPP__) \
00045         && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
00046         && !defined(_GLIBCPP__PTHREADS)
00047    // disable thread support if the std lib was built single threaded:
00048 #  define BOOST_DISABLE_THREADS
00049 #endif
00050 
00051 #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
00052 // linux on arm apparently doesn't define _REENTRANT
00053 // so just turn on threading support whenever the std lib is thread safe:
00054 #  define BOOST_HAS_THREADS
00055 #endif
00056 
00057 
00058 #if !defined(_GLIBCPP_USE_LONG_LONG) \
00059     && !defined(_GLIBCXX_USE_LONG_LONG)\
00060     && defined(BOOST_HAS_LONG_LONG)
00061 // May have been set by compiler/*.hpp, but "long long" without library
00062 // support is useless.
00063 #  undef BOOST_HAS_LONG_LONG
00064 #endif
00065 
00066 #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
00067 #  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
00068 #  define BOOST_HAS_SLIST
00069 #  define BOOST_HAS_HASH
00070 #  define BOOST_SLIST_HEADER <ext/slist>
00071 # if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
00072 #   define BOOST_HASH_SET_HEADER <ext/hash_set>
00073 #   define BOOST_HASH_MAP_HEADER <ext/hash_map>
00074 # else
00075 #   define BOOST_HASH_SET_HEADER <backward/hash_set>
00076 #   define BOOST_HASH_MAP_HEADER <backward/hash_map>
00077 # endif
00078 #endif
00079 
00080 #ifndef __GXX_EXPERIMENTAL_CXX0X__
00081 #  define BOOST_NO_STD_UNORDERED
00082 #endif
00083 


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:29