source: NonGTP/Boost/boost/config/stdlib/libstdcpp3.hpp @ 857

Revision 857, 2.3 KB checked in by igarcia, 18 years ago (diff)
Line 
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
Note: See TracBrowser for help on using the repository browser.