VirtualBox

source: vbox/trunk/src/libs/boost-1.37.0/boost/config/stdlib/libstdcpp3.hpp@ 20488

Last change on this file since 20488 was 16204, checked in by vboxsync, 16 years ago

export the boost stuff required for Main

File size: 2.7 KB
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
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
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette