Adding shared_ptr header files back in.
[dyninst.git] / external / boost / config / stdlib / libstdcpp3.hpp
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 #  define BOOST_HASH_SET_HEADER <ext/hash_set>
72 #  define BOOST_HASH_MAP_HEADER <ext/hash_map>
73 #endif