$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: dgregor_at_[hidden]
Date: 2008-05-23 10:20:07
Author: dgregor
Date: 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
New Revision: 45679
URL: http://svn.boost.org/trac/boost/changeset/45679
Log:
Merge latest release branch into CMake release branch
Properties modified: 
   branches/CMake/release/   (props changed)
Text files modified: 
   branches/CMake/release/Jamroot                                     |     2                                         
   branches/CMake/release/boost/detail/sp_counted_base.hpp            |     2                                         
   branches/CMake/release/boost/foreach.hpp                           |     4 +-                                      
   branches/CMake/release/boost/mpi/datatype.hpp                      |    32 ++++++++++++++++++++++---               
   branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp     |    45 +++++++++++++-----------------------    
   branches/CMake/release/boost/version.hpp                           |     4 +-                                      
   branches/CMake/release/configure                                   |    41 +++++++++++++++++++++++++--------       
   branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk          |     4 +-                                      
   branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml         |     2                                         
   branches/CMake/release/libs/format/doc/format.html                 |     2                                         
   branches/CMake/release/libs/interprocess/doc/interprocess.qbk      |     6 ++--                                    
   branches/CMake/release/libs/intrusive/doc/intrusive.qbk            |     2                                         
   branches/CMake/release/libs/mpi/doc/mpi.qbk                        |     2                                         
   branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp         |    49 ++++++++++++++++++++++++++++++++++++++- 
   branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk  |     2                                         
   branches/CMake/release/libs/optional/doc/optional.qbk              |     2                                         
   branches/CMake/release/libs/optional/index.html                    |     4 +-                                      
   branches/CMake/release/libs/program_options/doc/overview.xml       |    16 +++++++-----                            
   branches/CMake/release/libs/program_options/example/first.cpp      |    13 ++++++++--                              
   branches/CMake/release/libs/python/doc/building.rst                |     2                                         
   branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk   |     4 +-                                      
   branches/CMake/release/libs/python/doc/tutorial/index.html         |     4 +-                                      
   branches/CMake/release/libs/signals/doc/faq.xml                    |     4 +-                                      
   branches/CMake/release/libs/utility/shared_container_iterator.html |     2                                         
   branches/CMake/release/tools/boostbook/xsl/annotation.xsl          |     8 ++++--                                  
   branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl        |     2                                         
   branches/CMake/release/tools/boostbook/xsl/global.xsl              |     3 -                                       
   branches/CMake/release/tools/boostbook/xsl/lookup.xsl              |    23 +++++++++++++----                       
   branches/CMake/release/tools/boostbook/xsl/macro.xsl               |     4 +++                                     
   branches/CMake/release/tools/boostbook/xsl/navbar.xsl              |    10 ++++----                                
   branches/CMake/release/tools/boostbook/xsl/type.xsl                |    24 ++++---------------                     
   branches/CMake/release/tools/jam/doc/bjam.qbk                      |     8 +++---                                  
   32 files changed, 210 insertions(+), 122 deletions(-)
Modified: branches/CMake/release/Jamroot
==============================================================================
--- branches/CMake/release/Jamroot	(original)
+++ branches/CMake/release/Jamroot	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -112,7 +112,7 @@
 import sequence ;
 
 path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.35.0 ;
+constant BOOST_VERSION : 1.35.1 ;
 constant BOOST_JAMROOT_MODULE : $(__name__) ;
 
 local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ] ;
Modified: branches/CMake/release/boost/detail/sp_counted_base.hpp
==============================================================================
--- branches/CMake/release/boost/detail/sp_counted_base.hpp	(original)
+++ branches/CMake/release/boost/detail/sp_counted_base.hpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -51,7 +51,7 @@
 
 # include <boost/detail/sp_counted_base_gcc_ppc.hpp>
 
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
+#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined(__arm__) && !defined(__hppa)
 
 # include <boost/detail/sp_counted_base_sync.hpp>
 
Modified: branches/CMake/release/boost/foreach.hpp
==============================================================================
--- branches/CMake/release/boost/foreach.hpp	(original)
+++ branches/CMake/release/boost/foreach.hpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -353,8 +353,8 @@
     //
     // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>,
     // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ...
-    #if BOOST_MSVC > 1300
-    BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T) );
+    #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300
+    BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) );
     #endif
 
     // If the type is a pointer to a null terminated string (as opposed 
Modified: branches/CMake/release/boost/mpi/datatype.hpp
==============================================================================
--- branches/CMake/release/boost/mpi/datatype.hpp	(original)
+++ branches/CMake/release/boost/mpi/datatype.hpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -181,7 +181,7 @@
 template<typename T> MPI_Datatype get_mpi_datatype(const T& x)
 {
   BOOST_MPL_ASSERT((is_mpi_datatype<T>));
-  return detail::mpi_datatype_cache.datatype(x);
+  return detail::mpi_datatype_cache().datatype(x);
 }
 
 // Don't parse this part when we're generating Doxygen documentation.
@@ -252,15 +252,39 @@
 BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(int, int>), MPI_2INT, builtin);
 #undef BOOST_MPI_LIST2
 
-#if 0
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+// Define wchar_t specialization of is_mpi_datatype, if possible.
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && \
+  (defined(MPI_WCHAR) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin);
 #endif
 
-#ifdef BOOST_HAS_LONG_LONG
+// Define long long or __int64 specialization of is_mpi_datatype, if possible.
+#if defined(BOOST_HAS_LONG_LONG) && \
+  (defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin);
+#elif defined(BOOST_HAS_MS_INT64) && \
+  (defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
+BOOST_MPI_DATATYPE(__int64, MPI_LONG_LONG_INT, builtin); 
+#endif
+
+// Define unsigned long long or unsigned __int64 specialization of
+// is_mpi_datatype, if possible. We separate this from the check for
+// the (signed) long long/__int64 because some MPI implementations
+// (e.g., MPICH-MX) have MPI_LONG_LONG_INT but not
+// MPI_UNSIGNED_LONG_LONG.
+#if defined(BOOST_HAS_LONG_LONG) && \
+  (defined(MPI_UNSIGNED_LONG_LONG) \
+   || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin);
+#elif defined(BOOST_HAS_MS_INT64) && \
+  (defined(MPI_UNSIGNED_LONG_LONG) \
+   || (defined(MPI_VERSION) && MPI_VERSION >= 2))
+BOOST_MPI_DATATYPE(unsigned __int64, MPI_UNSIGNED_LONG_LONG, builtin); 
 #endif
+
+// Define signed char specialization of is_mpi_datatype, if possible.
+#if defined(MPI_SIGNED_CHAR) || (defined(MPI_VERSION) && MPI_VERSION >= 2)
+BOOST_MPI_DATATYPE(signed char, MPI_SIGNED_CHAR, builtin);
 #endif
 
 #endif // Doxygen
Modified: branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp
==============================================================================
--- branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp	(original)
+++ branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -15,7 +15,6 @@
 #include <boost/utility/enable_if.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/noncopyable.hpp>
-#include <map>
 #include <typeinfo>
 
 // The std::type_info::before function in Visual C++ 8.0 (and probably earlier)
@@ -47,21 +46,15 @@
 ///
 ///
 class BOOST_MPI_DECL mpi_datatype_map
- : private std::map<std::type_info const*,MPI_Datatype,type_info_compare>,
-   public boost::noncopyable
+ : public boost::noncopyable
 {
-public:
-  mpi_datatype_map()
-  {}
+  struct implementation;
 
-  ~mpi_datatype_map()
-  {
-    // do not free after call to MPI_FInalize
-    int finalized=0;
-    BOOST_MPI_CHECK_RESULT(MPI_Finalized,(&finalized));
-    if (!finalized)
-      free();
-  }
+  implementation *impl;
+
+public:
+  mpi_datatype_map();
+  ~mpi_datatype_map();
 
   template <class T>
   MPI_Datatype datatype(const T& x = T(), typename boost::enable_if<is_mpi_builtin_datatype<T> >::type* =0)
@@ -76,30 +69,24 @@
 
     // check whether the type already exists
     std::type_info const* t = &typeid(T);
-    const_iterator it = find(t);
-    if(it ==end())
-    {
+	MPI_Datatype datatype = get(t);
+	if (datatype == MPI_DATATYPE_NULL) {
       // need to create a type
       mpi_datatype_oarchive ar(x);
-      insert(std::make_pair(t,ar.get_mpi_datatype()));
-      it = find(t);
+	  datatype = ar.get_mpi_datatype();
+	  set(t, datatype);
     }
 
-  return it->second;
+    return datatype;
   }
 
 private:
-  // free all MPI data types
-  void free()
-  {
-    // ignore errors in the destructor
-    for (iterator it=begin(); it !=end(); ++it)
-          MPI_Type_free(&(it->second));
-  }
-
+  MPI_Datatype get(const std::type_info* t);
+  void set(const std::type_info* t, MPI_Datatype datatype);
 };
 
-extern mpi_datatype_map mpi_datatype_cache;
+/// Retrieve the MPI datatype cache
+mpi_datatype_map& mpi_datatype_cache();
 
 } } } // end namespace boost::mpi::detail
 
Modified: branches/CMake/release/boost/version.hpp
==============================================================================
--- branches/CMake/release/boost/version.hpp	(original)
+++ branches/CMake/release/boost/version.hpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -19,7 +19,7 @@
 //  BOOST_VERSION / 100 % 1000 is the minor version
 //  BOOST_VERSION / 100000 is the major version
 
-#define BOOST_VERSION 103500
+#define BOOST_VERSION 103501
 
 //
 //  BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,7 +27,7 @@
 //  number and y is the minor version number.  This is used by
 //  <config/auto_link.hpp> to select which library version to link to.
 
-#define BOOST_LIB_VERSION "1_35"
+#define BOOST_LIB_VERSION "1_35_1"
 
 #endif
 
Modified: branches/CMake/release/configure
==============================================================================
--- branches/CMake/release/configure	(original)
+++ branches/CMake/release/configure	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -185,7 +185,28 @@
 
 # Determine the toolset, if not already decided
 if test "x$TOOLSET" = x; then
-  TOOLSET=`$my_dir/tools/jam/src/build.sh --guess-toolset`
+  guessed_toolset=`$my_dir/tools/jam/src/build.sh --guess-toolset`
+  case $guessed_toolset in
+    acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp )
+    TOOLSET=$guessed_toolset
+    ;;
+    
+    intel-* )
+    TOOLSET=intel
+    ;;
+    
+    mingw )
+    TOOLSET=gcc
+    ;;
+    
+    sun* )
+    TOOLSET=sun
+    ;;
+    
+    * )
+    # Not supported by Boost.Build
+    ;;
+  esac
 fi
 
 rm -f config.log
@@ -223,15 +244,15 @@
 
 # Setup paths
 if test "x$EPREFIX" = x; then
-  EPREFIX=$PREFIX
+  EPREFIX="\$(prefix)"
 fi
 
 if test "x$LIBDIR" = x; then
-  LIBDIR="$EPREFIX/lib"
+  LIBDIR="\$(exec_prefix)/lib"
 fi
 
 if test "x$INCLUDEDIR" = x; then
-  INCLUDEDIR="$PREFIX/include"
+  INCLUDEDIR="\$(prefix)/include"
 fi
 
 # Find Python
@@ -318,10 +339,10 @@
 cat > Makefile <<EOF
 BJAM=$BJAM
 BJAM_CONFIG=$BJAM_CONFIG
-PREFIX=$PREFIX
-EPREFIX=$EPREFIX
-LIBDIR=$LIBDIR
-INCLUDEDIR=$INCLUDEDIR
+prefix=$PREFIX
+exec_prefix=$EPREFIX
+libdir=$LIBDIR
+includedir=$INCLUDEDIR
 LIBS=$LIBS
 
 all: .dummy
@@ -339,8 +360,8 @@
         @cd status && ../\$(BJAM) \$(BJAM_CONFIG) --user-config=../user-config.jam || echo "Some Boost regression tests failed. This is normal for many compilers."
 
 install: .dummy
-	@echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) \$(LIBS) install"
-	@\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) \$(LIBS) install || echo "Not all Boost libraries built properly."
+	@echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install"
+	@\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install || echo "Not all Boost libraries built properly."
 
 .dummy:
 
Modified: branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk
==============================================================================
--- branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk	(original)
+++ branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -219,7 +219,7 @@
 This is a statistical property depending on the typical distribution of keys in a given application, so it is not feasible to have a general-purpose hash function with excellent results in every possible scenario; the default value for this parameter uses Boost.Hash, which often provides good enough results.
 
 Boost.Hash can be
-[@http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/hash/custom.html
+[@http://www.boost.org/doc/html/hash/custom.html
 extended for custom data types],
 enabling to use the default parameter of the unordered set types with any user types.
 
@@ -474,4 +474,4 @@
 
 [endsect]
 
-[endsect]
\ No newline at end of file
+[endsect]
Modified: branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml
==============================================================================
--- branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml	(original)
+++ branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -146,7 +146,7 @@
       <listitem><ulink url="../../libs/conversion/lexical_cast.htm">boost.lexical_cast </ulink> </listitem>
       <listitem><ulink url="../../libs/smart_ptr/smart_ptr.htm">boost.smart_ptr (local time only)</ulink> </listitem>
       <listitem><ulink url="../../libs/algorithm/string/">boost::string_algorithms </ulink> </listitem>
-      <listitem><ulink url="../../libs/algorithm/serialize/">boost::serialize (serialization code only) </ulink> </listitem>
+      <listitem><ulink url="../../libs/serialization/index.html">boost::serialize (serialization code only) </ulink> </listitem>
     </itemizedlist>
     so these libraries need to be installed. 
   </para>
Modified: branches/CMake/release/libs/format/doc/format.html
==============================================================================
--- branches/CMake/release/libs/format/doc/format.html	(original)
+++ branches/CMake/release/libs/format/doc/format.html	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -79,7 +79,7 @@
 
       <blockquote>
         <pre>
-cout << format("%2% %1%") % 36 % 77 )
+cout << format("%2% %1%") % 36 % 77;
 </pre>
       </blockquote>or later on, as in
 
Modified: branches/CMake/release/libs/interprocess/doc/interprocess.qbk
==============================================================================
--- branches/CMake/release/libs/interprocess/doc/interprocess.qbk	(original)
+++ branches/CMake/release/libs/interprocess/doc/interprocess.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -5704,7 +5704,7 @@
 to the segment manager. Because of this,
 in [*Boost.Interprocess] all managed memory segments derive from a common class that
 implements memory-independent (shared memory, memory mapped files) functions:
-[@../../../../boost/interprocess/detail/managed_memory_impl.hpp 
+[@../../boost/interprocess/detail/managed_memory_impl.hpp 
 boost::interprocess::detail::basic_managed_memory_impl]
 
 Deriving from this class, [*Boost.Interprocess] implements several managed memory
@@ -5766,7 +5766,7 @@
    to the segment manager.
 
 The pool is implemented by the
-[@../../../../boost/interprocess/allocators/detail/node_pool.hpp
+[@../../boost/interprocess/allocators/detail/node_pool.hpp
 private_node_pool and shared_node_pool] classes.
 
 [endsect]
@@ -5809,7 +5809,7 @@
    to the segment manager.
 
 The adaptive pool is implemented by the
-[@../../../../boost/interprocess/allocators/detail/adaptive_node_pool.hpp
+[@../../boost/interprocess/allocators/detail/adaptive_node_pool.hpp
 private_adaptive_node_pool and adaptive_node_pool] classes.
 
 [endsect]
Modified: branches/CMake/release/libs/intrusive/doc/intrusive.qbk
==============================================================================
--- branches/CMake/release/libs/intrusive/doc/intrusive.qbk	(original)
+++ branches/CMake/release/libs/intrusive/doc/intrusive.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -3011,7 +3011,7 @@
 `test_list` objects to funtion objects taking pointers to them.
 
 You can find the full test code code in the 
-[@../../perf/perf_list.cpp perf_list.cpp] source file.
+[@../../libs/intrusive/perf/perf_list.cpp perf_list.cpp] source file.
 
 [section:performance_results_push_back Back insertion and destruction]
 
Modified: branches/CMake/release/libs/mpi/doc/mpi.qbk
==============================================================================
--- branches/CMake/release/libs/mpi/doc/mpi.qbk	(original)
+++ branches/CMake/release/libs/mpi/doc/mpi.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -2004,7 +2004,7 @@
 [@http://www.open-mpi.org/ Open MPI] version 1.1. The NetPIPE results
 follow:
 
-[$../../../libs/mpi/doc/netpipe.png]
+[$../../libs/mpi/doc/netpipe.png]
 
 There are a some observations we can make about these NetPIPE
 results. First of all, the top two plots show that Boost.MPI performs
Modified: branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp
==============================================================================
--- branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp	(original)
+++ branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -8,9 +8,54 @@
 
 #include <boost/archive/impl/archive_pointer_oserializer.ipp>
 #include <boost/mpi/detail/mpi_datatype_cache.hpp>
+#include <map>
 
 namespace boost { namespace mpi { namespace detail {
 
-mpi_datatype_map mpi_datatype_cache;
-  
+  typedef std::map<std::type_info const*,MPI_Datatype,type_info_compare>
+	  stored_map_type;
+
+  struct mpi_datatype_map::implementation
+  {
+	stored_map_type map;
+  };
+
+  mpi_datatype_map::mpi_datatype_map()
+  {
+	  impl = new implementation();
+  }
+
+  mpi_datatype_map::~mpi_datatype_map()
+  {
+    // do not free after call to MPI_FInalize
+    int finalized=0;
+    BOOST_MPI_CHECK_RESULT(MPI_Finalized,(&finalized));
+	if (!finalized) {
+	  // ignore errors in the destructor
+	  for (stored_map_type::iterator it=impl->map.begin(); it != impl->map.end(); ++it) {
+ 	    MPI_Type_free(&(it->second));
+	  }
+	}
+	delete impl;
+  }
+
+  MPI_Datatype mpi_datatype_map::get(const std::type_info* t)
+  {
+	  stored_map_type::iterator pos = impl->map.find(t);
+	  if (pos != impl->map.end())
+		  return pos->second;
+	  else
+		  return MPI_DATATYPE_NULL;
+  }
+
+  void mpi_datatype_map::set(const std::type_info* t, MPI_Datatype datatype)
+  {
+	  impl->map[t] = datatype;
+  }
+
+  mpi_datatype_map& mpi_datatype_cache()
+  {
+	static mpi_datatype_map cache;
+	return cache;
+  }
 } } }
Modified: branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk
==============================================================================
--- branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk	(original)
+++ branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -21,7 +21,7 @@
 
 [/ Cited Boost resources ]
 
-[def __MPL_INTEGRAL_CONSTANT__ [@../../../../mpl/refmanual/integral-constant.html MPL's Integral Constant] ]
+[def __MPL_INTEGRAL_CONSTANT__ [@../../../../mpl/doc/refmanual/integral-constant.html MPL's Integral Constant] ]
 
 
 
Modified: branches/CMake/release/libs/optional/doc/optional.qbk
==============================================================================
--- branches/CMake/release/libs/optional/doc/optional.qbk	(original)
+++ branches/CMake/release/libs/optional/doc/optional.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -22,7 +22,7 @@
 [/ Cited Boost resources ]
 
 [def __BOOST_VARIANT__ [@../../../variant/index.html Boost.Variant]]
-[def __BOOST_TRIBOOL__ [@../../../tribool/index.html boost::tribool]]
+[def __BOOST_TRIBOOL__ [@../../../../doc/html/tribool.html boost::tribool]]
 
 [def __OPTIONAL_POINTEE__ [@../../../utility/OptionalPointee.html OptionalPointee]]
 [def __COPY_CONSTRUCTIBLE__ [@../../../utility/CopyConstructible.html Copy Constructible]]
Modified: branches/CMake/release/libs/optional/index.html
==============================================================================
--- branches/CMake/release/libs/optional/index.html	(original)
+++ branches/CMake/release/libs/optional/index.html	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -4,10 +4,10 @@
 </head>
 <body>
 Automatic redirection failed, please go to
-doc/html/index.html. <hr>
+doc/html/index.html. <hr>
 <p>� Copyright Beman Dawes, 2001</p>
 <p>Distributed under the Boost Software License, Version 1.0. (See accompanying 
 file LICENSE_1_0.txt or copy 
 at www.boost.org/LICENSE_1_0.txt)</p>
 </body>
-</html>
\ No newline at end of file
+</html>
Modified: branches/CMake/release/libs/program_options/doc/overview.xml
==============================================================================
--- branches/CMake/release/libs/program_options/doc/overview.xml	(original)
+++ branches/CMake/release/libs/program_options/doc/overview.xml	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -185,14 +185,16 @@
     ("email", value<string>()->multitoken(), "email to send to")
     ;
       </programlisting>
-      For the first parameter, we specify only the name and the
-      description. No value can be specified in the parsed source.
-      For the first option, the user must specify a value, using a single
-      token. For the third option, the user may either provide a single token
-      for the value, or no token at all. For the last option, the value can
-      span several tokens. For example, the following command line is OK:
+      For the first option (<literal>help</literal>), we specify only the name
+      and the description. No value can be specified in the parsed source.
+      For the second option (<literal>compression</literal>), the user must
+      specify a value, using a single token. For the third option
+      (<literal>verbose</literal>), the user may either provide a single token
+      for the value, or no token at all. For the last option
+      (<literal>email</literal>), the value can span several tokens. For
+      example, the following command line is OK:
       <screen>
-          test --help --compression 10 --verbose --email beadle_at_mars beadle2_at_mars
+          test --help --compression 10 --verbose --email beagle_at_mars beagle2_at_mars
       </screen>      
       </para>
 
Modified: branches/CMake/release/libs/program_options/example/first.cpp
==============================================================================
--- branches/CMake/release/libs/program_options/example/first.cpp	(original)
+++ branches/CMake/release/libs/program_options/example/first.cpp	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -21,11 +21,12 @@
         desc.add_options()
             ("help", "produce help message")
             ("compression", po::value<int>(), "set compression level")
+            ("verbose", po::value<string>()->zero_tokens()->implicit_value(""))
         ;
 
-        po::variables_map vm;        
+        po::variables_map vm;
         po::store(po::parse_command_line(ac, av, desc), vm);
-        po::notify(vm);    
+        po::notify(vm);
 
         if (vm.count("help")) {
             cout << desc << "\n";
@@ -33,11 +34,17 @@
         }
 
         if (vm.count("compression")) {
-            cout << "Compression level was set to " 
+            cout << "Compression level was set to "
                  << vm["compression"].as<int>() << ".\n";
         } else {
             cout << "Compression level was not set.\n";
         }
+
+        if (vm.count("verbose")) {
+            string v = vm["verbose"].as<string>();
+            if (v.size() > 0)
+                cout << "Verbosity is: " << v << ".\n";
+        }
     }
     catch(exception& e) {
         cerr << "error: " << e.what() << "\n";
Modified: branches/CMake/release/libs/python/doc/building.rst
==============================================================================
--- branches/CMake/release/libs/python/doc/building.rst	(original)
+++ branches/CMake/release/libs/python/doc/building.rst	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -11,7 +11,7 @@
    :alt: Boost C++ Libraries:
    :class: boost-logo
 
-__ ../index.htm
+__ ../index.html
 
 
 .. section-numbering::
Modified: branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk
==============================================================================
--- branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk	(original)
+++ branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -1381,9 +1381,9 @@
 [section Using the interpreter]
 
 As you probably already know, objects in Python are reference-counted.
-Naturally, the [^PyObject]s of the Python/C API are also reference-counted.
+Naturally, the [^PyObject]s of the Python\/C API are also reference-counted.
 There is a difference however. While the reference-counting is fully
-automatic in Python, the Python/C API requires you to do it
+automatic in Python, the Python\/C API requires you to do it
 [@http://www.python.org/doc/current/api/refcounts.html by hand]. This is
 messy and especially hard to get right in the presence of C++ exceptions.
 Fortunately Boost.Python provides the [@../../../v2/handle.html handle] and
Modified: branches/CMake/release/libs/python/doc/tutorial/index.html
==============================================================================
--- branches/CMake/release/libs/python/doc/tutorial/index.html	(original)
+++ branches/CMake/release/libs/python/doc/tutorial/index.html	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -11,8 +11,8 @@
     <a href="doc/html/index.html">link</a>  <hr>
     <p>© Copyright Beman Dawes, 2001</p>
     <p>Distributed under the Boost Software License, Version 1.0. (See 
-    accompanying file <a href="../../../LICENSE_1_0.txt">
+    accompanying file <a href="../../../../LICENSE_1_0.txt">
     LICENSE_1_0.txt</a> or copy at
     <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
   </body>
-</html>
\ No newline at end of file
+</html>
Modified: branches/CMake/release/libs/signals/doc/faq.xml
==============================================================================
--- branches/CMake/release/libs/signals/doc/faq.xml	(original)
+++ branches/CMake/release/libs/signals/doc/faq.xml	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -94,7 +94,7 @@
         <programlisting>#ifndef SIGNALSLIB_HPP_INCLUDED
 #define SIGNALSLIB_HPP_INCLUDED 
 
-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+#if defined(signals) && defined(QOBJECTDEFS_H) && \
   !defined(QT_MOC_CPP)
 #  undef signals
 #  define signals signals
@@ -106,7 +106,7 @@
   namespace signalslib = signals;
 }
 
-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+#if defined(signals) && defined(QOBJECTDEFS_H) && \
   !defined(QT_MOC_CPP)
 #  undef signals
 // Restore the macro definition of "signals", as it was
Modified: branches/CMake/release/libs/utility/shared_container_iterator.html
==============================================================================
--- branches/CMake/release/libs/utility/shared_container_iterator.html	(original)
+++ branches/CMake/release/libs/utility/shared_container_iterator.html	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -315,7 +315,7 @@
 <p>© Copyright 2003 The Trustees of Indiana University.
  Use, modification and distribution is 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)</p>
+ http://www.boost.org/LICENSE_1_0.txt)</p>
 
 </body>
 
Modified: branches/CMake/release/tools/boostbook/xsl/annotation.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/annotation.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/annotation.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -28,14 +28,16 @@
     <xsl:choose>
       <xsl:when test="count(key('named-entities', $name))=1
                       and ($translated-name=$name)">
-        <xsl:call-template name="fully-qualified-name">
+        <xsl:call-template name="fully-qualified-id">
           <xsl:with-param name="node" select="."/>
-          <xsl:with-param name="separator" select="'.'"/>
         </xsl:call-template>
       </xsl:when>
       <xsl:otherwise>
+        <xsl:call-template name="fully-qualified-id">
+          <xsl:with-param name="node" select="."/>
+        </xsl:call-template>
+        <xsl:text>_</xsl:text>
         <xsl:value-of select="generate-id(.)"/>
-        <xsl:text>-bb</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
Modified: branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -28,7 +28,7 @@
     <xsl:choose>
         <xsl:when test="not($recursive)">
             <!-- translate dots into directory separators, and replace illegal file path characters with underscores -->
-            <xsl:value-of select="translate( $basename, '.<>\:*?"|', '/_______' )"/>
+            <xsl:value-of select="translate(normalize-space(translate($basename, '.<>\:*?"|', '/        ' )), ' ', '_')"/>
             <xsl:value-of select="$html.ext"/>
         </xsl:when>
         <xsl:otherwise>
Modified: branches/CMake/release/tools/boostbook/xsl/global.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/global.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/global.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -68,9 +68,8 @@
     <xsl:text>;</xsl:text>
   </xsl:template>
   <xsl:template match="data-member" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 </xsl:stylesheet>
Modified: branches/CMake/release/tools/boostbook/xsl/lookup.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/lookup.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/lookup.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -15,12 +15,6 @@
   <xsl:template name="generate.id">
     <xsl:param name="node" select="."/>
     <xsl:apply-templates select="$node" mode="generate.id"/>
-    <xsl:if test="$node/ancestor-or-self::class-specialization|
-      $node/ancestor-or-self::struct-specialization|
-      $node/ancestor-or-self::union-specialization">
-      <xsl:text>_</xsl:text>
-      <xsl:value-of select="generate-id($node)"/>
-    </xsl:if>
   </xsl:template>
 
   <xsl:template match="*" mode="generate.id">
@@ -128,6 +122,23 @@
     </xsl:choose>
   </xsl:template>
 
+  <!-- Build the fully-qualified id of the given node -->
+  <xsl:template name="fully-qualified-id">
+    <xsl:param name="node"/>
+    <xsl:variable name="name">
+      <xsl:apply-templates select="$node" mode="fully-qualified-name">
+        <xsl:with-param name="separator" select="'@'"/>
+      </xsl:apply-templates>
+    </xsl:variable>
+    <xsl:value-of select="translate(normalize-space(translate($name, '.', ' ')), ' @', '_.')"/>
+    <xsl:if test="$node/ancestor-or-self::class-specialization|
+      $node/ancestor-or-self::struct-specialization|
+      $node/ancestor-or-self::union-specialization">
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="generate-id($node)"/>
+    </xsl:if>
+  </xsl:template>
+
   <!-- Build the fully-qualified name of the given node -->
   <xsl:template name="fully-qualified-name">
     <xsl:param name="node"/>
Modified: branches/CMake/release/tools/boostbook/xsl/macro.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/macro.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/macro.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -73,5 +73,9 @@
 
   <xsl:template match="macro" mode="generate.id">
     <xsl:value-of select="@name"/>
+    <xsl:if test="count(key('named-entities', @name))!=1">
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="generate-id(.)"/>
+    </xsl:if>
   </xsl:template>
 </xsl:stylesheet>
Modified: branches/CMake/release/tools/boostbook/xsl/navbar.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/navbar.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/navbar.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -117,12 +117,12 @@
       </xsl:variable>
       <xsl:variable name="people_link">
          <xsl:call-template name="href.target.relative">
-            <xsl:with-param name="target" select="concat( $boost.website, '/people/people.htm' )"/> 
+            <xsl:with-param name="target" select="concat( $boost.website, '/users/people.html' )"/> 
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="faq_link">
          <xsl:call-template name="href.target.relative">
-            <xsl:with-param name="target" select="concat( $boost.website, '/more/faq.htm' )"/> 
+            <xsl:with-param name="target" select="concat( $boost.website, '/users/faq.html' )"/> 
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="more_link">
@@ -151,7 +151,7 @@
    <xsl:template name = "header.navdata-vert">
       <xsl:variable name="home_link">
          <xsl:call-template name="href.target.relative">
-            <xsl:with-param name="target" select="concat( $boost.root, '/index.htm' )"/>
+            <xsl:with-param name="target" select="concat( $boost.root, '/index.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="libraries_link">
@@ -161,12 +161,12 @@
       </xsl:variable>
       <xsl:variable name="people_link">
          <xsl:call-template name="href.target.relative">
-            <xsl:with-param name="target" select="concat( $boost.root, '/people/people.htm' )"/>
+            <xsl:with-param name="target" select="concat( $boost.website, '/users/people.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="faq_link">
          <xsl:call-template name="href.target.relative">
-            <xsl:with-param name="target" select="concat( $boost.root, '/more/faq.htm' )"/>
+            <xsl:with-param name="target" select="concat( $boost.website, '/users/faq.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="more_link">
Modified: branches/CMake/release/tools/boostbook/xsl/type.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/type.xsl	(original)
+++ branches/CMake/release/tools/boostbook/xsl/type.xsl	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -27,51 +27,37 @@
   <xsl:param name="boost.compact.typedef">1</xsl:param>
 
   <xsl:template match="class|struct|union" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="class-specialization|struct-specialization|union-specialization" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="typedef" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="enum" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="enumvalue" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
+    <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="parent::enum"/>
-      <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
     <xsl:text>.</xsl:text>
     <xsl:value-of select="@name"/>
   </xsl:template>
 
-  <xsl:template match="function | overloaded-function" mode="generate.id">
-    <xsl:call-template name="fully-qualified-name">
-      <xsl:with-param name="node" select="."/>
-      <xsl:with-param name="separator" select="'.'"/>
-    </xsl:call-template>
-    <xsl:text>_</xsl:text>
-    <xsl:value-of select="generate-id(.)"/>
-  </xsl:template>
-
   <!-- Display the full name of the current node, e.g., "Class
        template function". -->
   <xsl:template name="type.display.name">
Modified: branches/CMake/release/tools/jam/doc/bjam.qbk
==============================================================================
--- branches/CMake/release/tools/jam/doc/bjam.qbk	(original)
+++ branches/CMake/release/tools/jam/doc/bjam.qbk	2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -124,7 +124,7 @@
 
 [   [=build.bat=] [Windows NT, 2000, and XP]
     [[lines
-        [line [@http://www.borland.com/bcppbuilder/freecompiler =borland=]]
+        [line [@http://www.codegear.com/downloads/free/cppbuilder =borland=]]
         [line [@http://www.borland.com/ Borland] C++Builder (BCC 5.5)]
         ]]
     [[list
@@ -291,7 +291,7 @@
 
 [   [] []
     [[lines
-        [line [@http://www.borland.com/bcppbuilder/freecompiler =kylix=]]
+        [line [@http://www.codegear.com/downloads/free/cppbuilder =kylix=]]
         [line [@http://www.borland.com/ Borland] C++Builder]
         ]]
     [[list
@@ -341,7 +341,7 @@
 
 [   [] []
     [[lines
-        [line [@http://www-3.ibm.com/software/ad/vacpp/ =vacpp=]]
+        [line [@http://www-306.ibm.com/software/awdtools/vacpp/ =vacpp=]]
         [line IBM VisualAge C++]
         ]]
     [[list
@@ -1801,4 +1801,4 @@
 
 [section History]
 [include history.qbk]
-[endsect]
\ No newline at end of file
+[endsect]