Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-09-20 08:38:57


Author: johnmaddock
Date: 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
New Revision: 39408
URL: http://svn.boost.org/trac/boost/changeset/39408

Log:
Update to TR1 to better support gcc.
Refactored configuration settings so if the .hpp versions of the headers are included then there's no need to figure out the location of the actual std lib headers.
Updated docs to match.
Text files modified:
   trunk/boost/tr1/complex.hpp | 1
   trunk/boost/tr1/detail/config.hpp | 119 ++++++---------------------------------
   trunk/boost/tr1/functional.hpp | 1
   trunk/boost/tr1/memory.hpp | 1
   trunk/boost/tr1/tr1/algorithm | 2
   trunk/boost/tr1/tr1/array | 2
   trunk/boost/tr1/tr1/bitset | 2
   trunk/boost/tr1/tr1/complex | 2
   trunk/boost/tr1/tr1/deque | 2
   trunk/boost/tr1/tr1/exception | 2
   trunk/boost/tr1/tr1/fstream | 2
   trunk/boost/tr1/tr1/functional | 2
   trunk/boost/tr1/tr1/iomanip | 2
   trunk/boost/tr1/tr1/ios | 2
   trunk/boost/tr1/tr1/iostream | 2
   trunk/boost/tr1/tr1/istream | 2
   trunk/boost/tr1/tr1/iterator | 2
   trunk/boost/tr1/tr1/limits | 2
   trunk/boost/tr1/tr1/list | 2
   trunk/boost/tr1/tr1/locale | 2
   trunk/boost/tr1/tr1/map | 2
   trunk/boost/tr1/tr1/memory | 2
   trunk/boost/tr1/tr1/new | 4
   trunk/boost/tr1/tr1/numeric | 2
   trunk/boost/tr1/tr1/ostream | 2
   trunk/boost/tr1/tr1/queue | 2
   trunk/boost/tr1/tr1/random | 2
   trunk/boost/tr1/tr1/regex | 2
   trunk/boost/tr1/tr1/set | 2
   trunk/boost/tr1/tr1/sstream | 2
   trunk/boost/tr1/tr1/stack | 2
   trunk/boost/tr1/tr1/stdexcept | 2
   trunk/boost/tr1/tr1/streambuf | 2
   trunk/boost/tr1/tr1/string | 2
   trunk/boost/tr1/tr1/strstream | 2
   trunk/boost/tr1/tr1/tuple | 2
   trunk/boost/tr1/tr1/type_traits | 2
   trunk/boost/tr1/tr1/typeinfo | 2
   trunk/boost/tr1/tr1/utility | 18 ++++-
   trunk/boost/tr1/tr1/valarray | 2
   trunk/boost/tr1/tr1/vector | 2
   trunk/boost/tr1/utility.hpp | 1
   trunk/libs/tr1/doc/Jamfile.v2 | 39 ++++++++++++
   trunk/libs/tr1/doc/tr1.qbk | 37 ++++++++++--
   44 files changed, 142 insertions(+), 149 deletions(-)

Modified: trunk/boost/tr1/complex.hpp
==============================================================================
--- trunk/boost/tr1/complex.hpp (original)
+++ trunk/boost/tr1/complex.hpp 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -234,6 +234,7 @@
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(complex)
 # else
+# include <boost/tr1/detail/config_all.hpp>
 # include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(complex))
 # endif
 

Modified: trunk/boost/tr1/detail/config.hpp
==============================================================================
--- trunk/boost/tr1/detail/config.hpp (original)
+++ trunk/boost/tr1/detail/config.hpp 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -1,124 +1,38 @@
-// (C) Copyright John Maddock 2005.
+// (C) Copyright John Maddock 2005-7.
 // Use, modification and distribution are subject to the
 // Boost Software License, Version 1.0. (See accompanying file
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-/*
- * The gcc include path logic is derived from STLport:
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Copyright (c) 1996-1999
- * Silicon Graphics Computer Systems, Inc.
- *
- * Copyright (c) 1997
- * Moscow Center for SPARC Technology
- *
- * Copyright (c) 1999-2003
- * Boris Fomitchev
- *
- * This material is provided "as is", with absolutely no warranty expressed
- * or implied. Any use is at your own risk.
- *
- * Permission to use or copy this software for any purpose is hereby granted
- * without fee, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
 #ifndef BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
 # define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
 
-//
-// IMPORTANT: we must figure out the basics, such as how to
-// forward to the real std lib headers *without* including
-// boost/config.hpp or any of the std lib headers. A classic
-// chicken and the egg problem....
-//
-// Including <cstddef> at least lets us detect STLport:
-//
 #include <cstddef>
 
-# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && !defined(__BORLANDC__)
-# ifdef __SUNPRO_CC
- // can't use <../stlport/name> since some compilers put stlport in a different directory:
-# define BOOST_TR1_STD_HEADER(name) <../stlport4/name>
-# else
-# define BOOST_TR1_STD_HEADER(name) <../stlport/name>
-# endif
-
-# elif defined(__HP_aCC)
- // HP aCC include path:
-# define BOOST_TR1_STD_HEADER(name) <../include_std/name>
-
-# elif defined(__DECCXX)
-# define BOOST_TR1_STD_HEADER(name) <../cxx/name>
-
-# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x570
-# define BOOST_TR1_STD_HEADER(name) <../include/dinkumware/name>
-
-# elif defined(__GNUC__) && __GNUC__ >= 3
-# if ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
-# define BOOST_TR1_STD_HEADER(name) <../g++-v3/name>
-# else
-# if ( ((__GNUC__ == 4 ) || (__GNUC_MINOR__ >= 3)) && defined(__APPLE_CC__))
-# define BOOST_TR1_STD_HEADER(name) <../c++/name>
- /*
- * Before version 3.4.0 the 0 patch level was not part of the include path:
- */
-# elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \
- (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
- (__GNUC__ > 3))
-# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name>
-# else
-# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name>
-# endif
-# endif
-
-# else
-# define BOOST_TR1_STD_HEADER(name) <../include/name>
-# endif
-
-#if defined(__GNUC__) && !defined(BOOST_HAS_INCLUDE_NEXT)
+#ifdef __GNUC__
+#if !defined(BOOST_HAS_INCLUDE_NEXT)
 # define BOOST_HAS_INCLUDE_NEXT
 #endif
-
-// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
-#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
-# define BOOST_TR1_USE_OLD_TUPLE
-#endif
-
-//
-// We may be in the middle of parsing boost/config.hpp
-// when this header is included, so don't rely on config
-// stuff in the rest of this header...
-//
-// Find our actual std lib:
-//
-#if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(linux)
-//
-// We don't take this branch on Linux as we may be installed in
-// /usr/include, in which case #include_next won't work as our
-// include path will occur AFTER the regular std lib one :-(
-//
+// Need to find out if we're using GLIBC:
+#ifdef BOOST_TR1_UTILITY_INCLUDED
+// Oops we're in a recursive include path!!
+// Need to include utility, or some std lib header,
+// but *not* via <utility> or <boost/config/no_tr1/utility.hpp>
 # ifndef BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_CONFIG_RECURSION
 # endif
-# include_next <utility>
-# if (__GNUC__ < 3)
-# include_next <algorithm>
-# include_next <iterator>
+# ifdef BOOST_HAS_INCLUDE_NEXT
+# include_next <utility>
+# else
+# include BOOST_TR1_STD_HEADER(utility)
 # endif
 # ifdef BOOST_TR1_NO_CONFIG_RECURSION
 # undef BOOST_TR1_NO_CONFIG_RECURSION
 # undef BOOST_TR1_NO_RECURSION
 # endif
 #else
-# include BOOST_TR1_STD_HEADER(utility)
+#include <boost/config/no_tr1/utility.hpp>
+#endif
 #endif
 
 #if defined(__GLIBCXX__) && !defined(BOOST_TR1_PATH)
@@ -130,6 +44,11 @@
 
 #define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
 
+// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
+#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
+# define BOOST_TR1_USE_OLD_TUPLE
+#endif
+
 #ifdef BOOST_HAS_TR1
    // turn on support for everything:
 # define BOOST_HAS_TR1_ARRAY

Modified: trunk/boost/tr1/functional.hpp
==============================================================================
--- trunk/boost/tr1/functional.hpp (original)
+++ trunk/boost/tr1/functional.hpp 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -17,6 +17,7 @@
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(functional)
 # else
+# include <boost/tr1/detail/config_all.hpp>
 # include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(functional))
 # endif
 #endif

Modified: trunk/boost/tr1/memory.hpp
==============================================================================
--- trunk/boost/tr1/memory.hpp (original)
+++ trunk/boost/tr1/memory.hpp 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -62,6 +62,7 @@
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(memory)
 # else
+# include <boost/tr1/detail/config_all.hpp>
 # include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(memory))
 # endif
 

Modified: trunk/boost/tr1/tr1/algorithm
==============================================================================
--- trunk/boost/tr1/tr1/algorithm (original)
+++ trunk/boost/tr1/tr1/algorithm 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_algorithm_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <algorithm>
 # else

Modified: trunk/boost/tr1/tr1/array
==============================================================================
--- trunk/boost/tr1/tr1/array (original)
+++ trunk/boost/tr1/tr1/array 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -7,7 +7,7 @@
 #if !defined(BOOST_TR1_ARRAY_INCLUDED)
 # define BOOST_TR1_ARRAY_INCLUDED
 # define BOOST_TR1_NO_RECURSION
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_TR1_ARRAY
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(array)

Modified: trunk/boost/tr1/tr1/bitset
==============================================================================
--- trunk/boost/tr1/tr1/bitset (original)
+++ trunk/boost/tr1/tr1/bitset 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_bitset_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <bitset>
 # else

Modified: trunk/boost/tr1/tr1/complex
==============================================================================
--- trunk/boost/tr1/tr1/complex (original)
+++ trunk/boost/tr1/tr1/complex 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -10,7 +10,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_COMPLEX_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <complex>
 # else

Modified: trunk/boost/tr1/tr1/deque
==============================================================================
--- trunk/boost/tr1/tr1/deque (original)
+++ trunk/boost/tr1/tr1/deque 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_deque_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <deque>
 # else

Modified: trunk/boost/tr1/tr1/exception
==============================================================================
--- trunk/boost/tr1/tr1/exception (original)
+++ trunk/boost/tr1/tr1/exception 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -20,7 +20,7 @@
 # define BOOST_TR1_NO_exception_RECURSION
 #endif
 
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <exception>
 # else

Modified: trunk/boost/tr1/tr1/fstream
==============================================================================
--- trunk/boost/tr1/tr1/fstream (original)
+++ trunk/boost/tr1/tr1/fstream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_fstream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <fstream>
 # else

Modified: trunk/boost/tr1/tr1/functional
==============================================================================
--- trunk/boost/tr1/tr1/functional (original)
+++ trunk/boost/tr1/tr1/functional 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -9,7 +9,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_FUNCTIONAL_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <functional>
 # else

Modified: trunk/boost/tr1/tr1/iomanip
==============================================================================
--- trunk/boost/tr1/tr1/iomanip (original)
+++ trunk/boost/tr1/tr1/iomanip 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_iomanip_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <iomanip>
 # else

Modified: trunk/boost/tr1/tr1/ios
==============================================================================
--- trunk/boost/tr1/tr1/ios (original)
+++ trunk/boost/tr1/tr1/ios 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_ios_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <ios>
 # else

Modified: trunk/boost/tr1/tr1/iostream
==============================================================================
--- trunk/boost/tr1/tr1/iostream (original)
+++ trunk/boost/tr1/tr1/iostream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_iostream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <iostream>
 # else

Modified: trunk/boost/tr1/tr1/istream
==============================================================================
--- trunk/boost/tr1/tr1/istream (original)
+++ trunk/boost/tr1/tr1/istream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_istream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <istream>
 # else

Modified: trunk/boost/tr1/tr1/iterator
==============================================================================
--- trunk/boost/tr1/tr1/iterator (original)
+++ trunk/boost/tr1/tr1/iterator 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_iterator_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <iterator>
 # else

Modified: trunk/boost/tr1/tr1/limits
==============================================================================
--- trunk/boost/tr1/tr1/limits (original)
+++ trunk/boost/tr1/tr1/limits 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_limits_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <limits>
 # else

Modified: trunk/boost/tr1/tr1/list
==============================================================================
--- trunk/boost/tr1/tr1/list (original)
+++ trunk/boost/tr1/tr1/list 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_list_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <list>
 # else

Modified: trunk/boost/tr1/tr1/locale
==============================================================================
--- trunk/boost/tr1/tr1/locale (original)
+++ trunk/boost/tr1/tr1/locale 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_locale_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <locale>
 # else

Modified: trunk/boost/tr1/tr1/map
==============================================================================
--- trunk/boost/tr1/tr1/map (original)
+++ trunk/boost/tr1/tr1/map 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_map_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <map>
 # else

Modified: trunk/boost/tr1/tr1/memory
==============================================================================
--- trunk/boost/tr1/tr1/memory (original)
+++ trunk/boost/tr1/tr1/memory 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -10,7 +10,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_MEMORY_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <memory>
 # else

Modified: trunk/boost/tr1/tr1/new
==============================================================================
--- trunk/boost/tr1/tr1/new (original)
+++ trunk/boost/tr1/tr1/new 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -16,7 +16,7 @@
 # define BOOST_TR1_NO_new_RECURSION
 #endif
 
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <new>
 # else
@@ -24,7 +24,7 @@
 # endif
 
 #ifdef BOOST_TR1_NO_new_RECURSION3
-# undef BOOST_TR1_NO_new_RECURSION2
+# undef BOOST_TR1_NO_new_RECURSION3
 #elif defined(BOOST_TR1_NO_new_RECURSION2)
 # undef BOOST_TR1_NO_new_RECURSION2
 #elif defined(BOOST_TR1_NO_new_RECURSION)

Modified: trunk/boost/tr1/tr1/numeric
==============================================================================
--- trunk/boost/tr1/tr1/numeric (original)
+++ trunk/boost/tr1/tr1/numeric 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_numeric_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <numeric>
 # else

Modified: trunk/boost/tr1/tr1/ostream
==============================================================================
--- trunk/boost/tr1/tr1/ostream (original)
+++ trunk/boost/tr1/tr1/ostream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_ostream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <ostream>
 # else

Modified: trunk/boost/tr1/tr1/queue
==============================================================================
--- trunk/boost/tr1/tr1/queue (original)
+++ trunk/boost/tr1/tr1/queue 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_queue_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <queue>
 # else

Modified: trunk/boost/tr1/tr1/random
==============================================================================
--- trunk/boost/tr1/tr1/random (original)
+++ trunk/boost/tr1/tr1/random 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -7,7 +7,7 @@
 #ifndef BOOST_TR1_RANDOM_INCLUDED
 # define BOOST_TR1_RANDOM_INCLUDED
 # define BOOST_TR1_NO_RECURSION
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_TR1_RANDOM
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(random)

Modified: trunk/boost/tr1/tr1/regex
==============================================================================
--- trunk/boost/tr1/tr1/regex (original)
+++ trunk/boost/tr1/tr1/regex 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -7,7 +7,7 @@
 #ifndef BOOST_TR1_REGEX_INCLUDED
 # define BOOST_TR1_REGEX_INCLUDED
 # define BOOST_TR1_NO_RECURSION
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_TR1_REGEX
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(regex)

Modified: trunk/boost/tr1/tr1/set
==============================================================================
--- trunk/boost/tr1/tr1/set (original)
+++ trunk/boost/tr1/tr1/set 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_set_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <set>
 # else

Modified: trunk/boost/tr1/tr1/sstream
==============================================================================
--- trunk/boost/tr1/tr1/sstream (original)
+++ trunk/boost/tr1/tr1/sstream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_sstream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <sstream>
 # else

Modified: trunk/boost/tr1/tr1/stack
==============================================================================
--- trunk/boost/tr1/tr1/stack (original)
+++ trunk/boost/tr1/tr1/stack 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_stack_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <stack>
 # else

Modified: trunk/boost/tr1/tr1/stdexcept
==============================================================================
--- trunk/boost/tr1/tr1/stdexcept (original)
+++ trunk/boost/tr1/tr1/stdexcept 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -16,7 +16,7 @@
 # define BOOST_TR1_NO_stdexcept_RECURSION
 #endif
 
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <stdexcept>
 # else

Modified: trunk/boost/tr1/tr1/streambuf
==============================================================================
--- trunk/boost/tr1/tr1/streambuf (original)
+++ trunk/boost/tr1/tr1/streambuf 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_streambuf_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <streambuf>
 # else

Modified: trunk/boost/tr1/tr1/string
==============================================================================
--- trunk/boost/tr1/tr1/string (original)
+++ trunk/boost/tr1/tr1/string 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_string_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <string>
 # else

Modified: trunk/boost/tr1/tr1/strstream
==============================================================================
--- trunk/boost/tr1/tr1/strstream (original)
+++ trunk/boost/tr1/tr1/strstream 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_strstream_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <strstream>
 # else

Modified: trunk/boost/tr1/tr1/tuple
==============================================================================
--- trunk/boost/tr1/tr1/tuple (original)
+++ trunk/boost/tr1/tr1/tuple 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -7,7 +7,7 @@
 #ifndef BOOST_TR1_TUPLE_INCLUDED
 # define BOOST_TR1_TUPLE_INCLUDED
 # define BOOST_TR1_NO_RECURSION
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_TR1_TUPLE
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(tuple)

Modified: trunk/boost/tr1/tr1/type_traits
==============================================================================
--- trunk/boost/tr1/tr1/type_traits (original)
+++ trunk/boost/tr1/tr1/type_traits 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -6,7 +6,7 @@
 
 #ifndef BOOST_TR1_TYPE_TRAITS_INCLUDED
 # define BOOST_TR1_TYPE_TRAITS_INCLUDED
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_TR1_TYPE_TRAITS
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(type_traits)

Modified: trunk/boost/tr1/tr1/typeinfo
==============================================================================
--- trunk/boost/tr1/tr1/typeinfo (original)
+++ trunk/boost/tr1/tr1/typeinfo 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_typeinfo_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <typeinfo>
 # else

Modified: trunk/boost/tr1/tr1/utility
==============================================================================
--- trunk/boost/tr1/tr1/utility (original)
+++ trunk/boost/tr1/tr1/utility 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -4,19 +4,29 @@
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 
-#if !defined(BOOST_TR1_UTILITY_INCLUDED)
+#if !defined(BOOST_TR1_UTILITY_INCLUDED) || defined(BOOST_TR1_NO_RECURSION)
+#ifndef BOOST_TR1_UTILITY_INCLUDED
 # define BOOST_TR1_UTILITY_INCLUDED
-# ifndef BOOST_TR1_NO_RECURSION
+#endif
+# ifdef BOOST_TR1_NO_UTILITY_RECURSION2
+# define BOOST_TR1_NO_UTILITY_RECURSION3
+# elif defined(BOOST_TR1_NO_UTILITY_RECURSION)
+# define BOOST_TR1_NO_UTILITY_RECURSION2
+# elif !defined(BOOST_TR1_NO_RECURSION)
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_UTILITY_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <utility>
 # else
 # include BOOST_TR1_STD_HEADER(utility)
 # endif
-# ifdef BOOST_TR1_NO_UTILITY_RECURSION
+#ifdef BOOST_TR1_NO_UTILITY_RECURSION3
+# undef BOOST_TR1_NO_UTILITY_RECURSION3
+#elif defined(BOOST_TR1_NO_UTILITY_RECURSION2)
+# undef BOOST_TR1_NO_UTILITY_RECURSION2
+#elif defined(BOOST_TR1_NO_UTILITY_RECURSION)
 # undef BOOST_TR1_NO_RECURSION
 # undef BOOST_TR1_NO_UTILITY_RECURSION
 # endif

Modified: trunk/boost/tr1/tr1/valarray
==============================================================================
--- trunk/boost/tr1/tr1/valarray (original)
+++ trunk/boost/tr1/tr1/valarray 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_valarray_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <valarray>
 # else

Modified: trunk/boost/tr1/tr1/vector
==============================================================================
--- trunk/boost/tr1/tr1/vector (original)
+++ trunk/boost/tr1/tr1/vector 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -13,7 +13,7 @@
 # define BOOST_TR1_NO_RECURSION
 # define BOOST_TR1_NO_vector_RECURSION
 # endif
-# include <boost/tr1/detail/config.hpp>
+# include <boost/tr1/detail/config_all.hpp>
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next <vector>
 # else

Modified: trunk/boost/tr1/utility.hpp
==============================================================================
--- trunk/boost/tr1/utility.hpp (original)
+++ trunk/boost/tr1/utility.hpp 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -12,6 +12,7 @@
 # ifdef BOOST_HAS_INCLUDE_NEXT
 # include_next BOOST_TR1_HEADER(utility)
 # else
+# include <boost/tr1/detail/config_all.hpp>
 # include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(utility))
 # endif
 

Modified: trunk/libs/tr1/doc/Jamfile.v2
==============================================================================
--- trunk/libs/tr1/doc/Jamfile.v2 (original)
+++ trunk/libs/tr1/doc/Jamfile.v2 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -9,10 +9,45 @@
     :
         tr1
     :
+ # HTML options first:
+ # Use graphics not text for navigation:
         <xsl:param>navig.graphics=1
- <xsl:param>chunk.section.depth=5
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=10
+ # Don't put the first section on the same page as the TOC:
         <xsl:param>chunk.first.sections=1
- <xsl:param>toc.section.depth=5
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ # Path for links to Boost:
+ <xsl:param>boost.root=../../../..
+ # Path for libraries index:
+ <xsl:param>boost.libraries=../../../../libs/libraries.htm
+ # Use the main Boost stylesheet:
+ <xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
+
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ #<xsl:param>fop1.extensions=1
+ # Or enable this if you're using XEP:
+ <xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <xsl:param>fop.extensions=0
+ # No indent on body text:
+ <xsl:param>body.start.indent=0pt
+ # Margin size:
+ <xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <xsl:param>page.margin.outer=0.5in
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ #<xsl:param>admon.graphics.extension=".svg"
     ;
 
 

Modified: trunk/libs/tr1/doc/tr1.qbk
==============================================================================
--- trunk/libs/tr1/doc/tr1.qbk (original)
+++ trunk/libs/tr1/doc/tr1.qbk 2007-09-20 08:38:53 EDT (Thu, 20 Sep 2007)
@@ -1,4 +1,5 @@
 [library Boost.TR1
+ [quickbook 1.4]
     [copyright 2005 John Maddock]
     [purpose An implementation of the C++ Technical Report on Standard Library Extensions]
     [license
@@ -66,27 +67,51 @@
 3) Any other standard library replacements (STLport for example).\n
 4) Your regular standard library.]
 
-[blurb [*Important Note #2: Borland C++ Users]\n\n
+[blurb [*Important Note #2: GNU C++ Users]
+
+Normally this library should "just work" with the GNU C++ compiler.
+
+However, if Boost is installed in `/usr/include` then you may get an error
+message of the form:
+
+``In file included from /usr/include/boost/tr1/tuple.hpp:5,
+ from boost-failure.cxx:1:
+/usr/include/boost/tr1/detail/config.hpp:60:26: error: no include path in which to search for utility``
+
+In this case try defining the macro `BOOST_TR1_DISABLE_INCLUDE_NEXT` when building,
+and if that doesn't work, define the macro `BOOST_TR1_GCC_INCLUDE_PATH` to the
+name of the directory containing gcc's include files: this is likely to be
+something like "g++-v4" but unfortunately varies from distribution
+to distribution.
+]
+
+[blurb [*Important Note #3: Borland C++ Users]
+
 Borland's compiler has a particularly broken form of `#include`, that
 will actually look for a file named `array.h` if you `#include <array>`.
 In order to make this library work with Borland's compiler you will need to
-set up the include paths as follows:\n\n
+set up the include paths as follows:
+
 1) boost-root/boost/tr1/tr1/bcc32\n
 2) boost-root/boost/tr1/tr1\n
 3) boost-root\n
 4) Any other standard library replacements (STLport for example).\n
-5) Your regular standard library.]
+5) Your regular standard library.\n
+]
+
+[blurb [*Important Note #4: Sun C++ Users]
 
-[blurb [*Important Note #3: Sun C++ Users]\n\n
 Sun's compiler has a particularly interesting form of `#include`, that
 will actually look for a file named `array.SUNWCCh` if you `#include <array>`.
 In order to make this library work with Sun's compiler you will need to
-set up the include paths as follows:\n\n
+set up the include paths as follows:
+
 1) boost-root/boost/tr1/tr1/sun\n
 2) boost-root/boost/tr1/tr1\n
 3) boost-root\n
 4) Any other standard library replacements (STLport for example).\n
-5) Your regular standard library.]
+5) Your regular standard library.\n
+]
 
 [endsect]
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk