sl@0: // (C) Copyright John Maddock 2001. sl@0: // (C) Copyright Jens Maurer 2001. sl@0: // Use, modification and distribution are subject to the sl@0: // Boost Software License, Version 1.0. (See accompanying file sl@0: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) sl@0: sl@0: // See http://www.boost.org for most recent version. sl@0: sl@0: // config for libstdc++ v3 sl@0: // not much to go in here: sl@0: sl@0: #ifdef __GLIBCXX__ sl@0: #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) sl@0: #else sl@0: #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) sl@0: #endif sl@0: sl@0: #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) sl@0: # define BOOST_NO_CWCHAR sl@0: # define BOOST_NO_CWCTYPE sl@0: # define BOOST_NO_STD_WSTRING sl@0: # define BOOST_NO_STD_WSTREAMBUF sl@0: #endif sl@0: sl@0: #if defined(__osf__) && !defined(_REENTRANT) \ sl@0: && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) sl@0: // GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header sl@0: // file is included, therefore for consistency we define it here as well. sl@0: # define _REENTRANT sl@0: #endif sl@0: sl@0: #ifdef __GLIBCXX__ // gcc 3.4 and greater: sl@0: # if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ sl@0: || defined(_GLIBCXX__PTHREADS) sl@0: // sl@0: // If the std lib has thread support turned on, then turn it on in Boost sl@0: // as well. We do this because some gcc-3.4 std lib headers define _REENTANT sl@0: // while others do not... sl@0: // sl@0: # define BOOST_HAS_THREADS sl@0: # else sl@0: # define BOOST_DISABLE_THREADS sl@0: # endif sl@0: #elif defined(__GLIBCPP__) \ sl@0: && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ sl@0: && !defined(_GLIBCPP__PTHREADS) sl@0: // disable thread support if the std lib was built single threaded: sl@0: # define BOOST_DISABLE_THREADS sl@0: #endif sl@0: sl@0: #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) sl@0: // linux on arm apparently doesn't define _REENTRANT sl@0: // so just turn on threading support whenever the std lib is thread safe: sl@0: # define BOOST_HAS_THREADS sl@0: #endif sl@0: sl@0: sl@0: #if !defined(_GLIBCPP_USE_LONG_LONG) \ sl@0: && !defined(_GLIBCXX_USE_LONG_LONG)\ sl@0: && defined(BOOST_HAS_LONG_LONG) sl@0: // May have been set by compiler/*.hpp, but "long long" without library sl@0: // support is useless. sl@0: # undef BOOST_HAS_LONG_LONG sl@0: #endif sl@0: sl@0: #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 sl@0: # define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx sl@0: # define BOOST_HAS_SLIST sl@0: # define BOOST_HAS_HASH sl@0: # define BOOST_SLIST_HEADER sl@0: # define BOOST_HASH_SET_HEADER sl@0: # define BOOST_HASH_MAP_HEADER sl@0: #endif