Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64728 - in branches/release: boost boost/filesystem boost/filesystem/v2 boost/filesystem/v3 libs/filesystem libs/filesystem/v2/example libs/filesystem/v2/src libs/filesystem/v2/test libs/filesystem/v3/src libs/filesystem/v3/test
From: bdawes_at_[hidden]
Date: 2010-08-10 16:00:14


Author: bemandawes
Date: 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
New Revision: 64728
URL: http://svn.boost.org/trac/boost/changeset/64728

Log:
Merge 64623 from trunk
Properties modified:
   branches/release/boost/filesystem/ (props changed)
   branches/release/boost/filesystem.hpp (props changed)
   branches/release/libs/filesystem/ (props changed)
Text files modified:
   branches/release/boost/filesystem/v2/convenience.hpp | 6 +++---
   branches/release/boost/filesystem/v2/fstream.hpp | 10 ++++++----
   branches/release/boost/filesystem/v2/path.hpp | 2 +-
   branches/release/boost/filesystem/v3/convenience.hpp | 6 ++++++
   branches/release/boost/filesystem/v3/fstream.hpp | 6 +++++-
   branches/release/boost/filesystem/v3/operations.hpp | 6 ++++++
   branches/release/boost/filesystem/v3/path.hpp | 6 ++++++
   branches/release/boost/filesystem/v3/path_traits.hpp | 6 ++++++
   branches/release/libs/filesystem/v2/example/mbcopy.cpp | 2 +-
   branches/release/libs/filesystem/v2/example/mbpath.cpp | 2 +-
   branches/release/libs/filesystem/v2/src/v2_operations.cpp | 8 ++++----
   branches/release/libs/filesystem/v2/src/v2_path.cpp | 4 ++--
   branches/release/libs/filesystem/v2/test/convenience_test.cpp | 2 +-
   branches/release/libs/filesystem/v2/test/fstream_test.cpp | 4 ++--
   branches/release/libs/filesystem/v2/test/operations_test.cpp | 2 +-
   branches/release/libs/filesystem/v2/test/wide_test.cpp | 2 +-
   branches/release/libs/filesystem/v3/src/codecvt_error_category.cpp | 9 +++++++++
   branches/release/libs/filesystem/v3/src/operations.cpp | 10 ++++++++++
   branches/release/libs/filesystem/v3/src/path.cpp | 9 +++++++++
   branches/release/libs/filesystem/v3/src/path_traits.cpp | 11 +++++++++++
   branches/release/libs/filesystem/v3/src/portability.cpp | 9 +++++++++
   branches/release/libs/filesystem/v3/src/unique_path.cpp | 9 +++++++++
   branches/release/libs/filesystem/v3/src/windows_file_codecvt.cpp | 11 +++++++++++
   branches/release/libs/filesystem/v3/test/convenience_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/deprecated_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/fstream_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/large_file_support_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/operations_test.cpp | 14 +++++++++++++-
   branches/release/libs/filesystem/v3/test/operations_unit_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/path_test.cpp | 6 ++++++
   branches/release/libs/filesystem/v3/test/path_unit_test.cpp | 6 ++++++
   31 files changed, 175 insertions(+), 23 deletions(-)

Modified: branches/release/boost/filesystem/v2/convenience.hpp
==============================================================================
--- branches/release/boost/filesystem/v2/convenience.hpp (original)
+++ branches/release/boost/filesystem/v2/convenience.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -92,7 +92,7 @@
           }
 # endif
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     // "do-the-right-thing" overloads ---------------------------------------//
 
@@ -206,7 +206,7 @@
     };
 
     typedef basic_recursive_directory_iterator<path> recursive_directory_iterator;
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;
 # endif
 
@@ -325,7 +325,7 @@
     using filesystem2::change_extension;
 # endif
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     using filesystem2::wrecursive_directory_iterator;
 # endif
 

Modified: branches/release/boost/filesystem/v2/fstream.hpp
==============================================================================
--- branches/release/boost/filesystem/v2/fstream.hpp (original)
+++ branches/release/boost/filesystem/v2/fstream.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -586,14 +586,16 @@
 {
   namespace filesystem
   {
- using filesystem2::filebuf;
- using filesystem2::ifstream;
- using filesystem2::ofstream;
- using filesystem2::fstream;
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     using filesystem2::wfilebuf;
     using filesystem2::wifstream;
     using filesystem2::wfstream;
     using filesystem2::wofstream;
+# endif
+ using filesystem2::filebuf;
+ using filesystem2::ifstream;
+ using filesystem2::ofstream;
+ using filesystem2::fstream;
     using filesystem2::basic_filebuf;
     using filesystem2::basic_ifstream;
     using filesystem2::basic_ofstream;

Modified: branches/release/boost/filesystem/v2/path.hpp
==============================================================================
--- branches/release/boost/filesystem/v2/path.hpp (original)
+++ branches/release/boost/filesystem/v2/path.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -1536,10 +1536,10 @@
 # ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     using filesystem2::wpath_traits;
     using filesystem2::wpath;
+ using filesystem2::wfilesystem_error;
 # endif
     using filesystem2::basic_filesystem_error;
     using filesystem2::filesystem_error;
- using filesystem2::wfilesystem_error;
     using filesystem2::portable_posix_name;
     using filesystem2::windows_name;
     using filesystem2::portable_name;

Modified: branches/release/boost/filesystem/v3/convenience.hpp
==============================================================================
--- branches/release/boost/filesystem/v3/convenience.hpp (original)
+++ branches/release/boost/filesystem/v3/convenience.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -13,6 +13,12 @@
 #ifndef BOOST_FILESYSTEM3_CONVENIENCE_HPP
 #define BOOST_FILESYSTEM3_CONVENIENCE_HPP
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/filesystem/v3/operations.hpp>
 #include <boost/system/error_code.hpp>
 

Modified: branches/release/boost/filesystem/v3/fstream.hpp
==============================================================================
--- branches/release/boost/filesystem/v3/fstream.hpp (original)
+++ branches/release/boost/filesystem/v3/fstream.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -12,9 +12,13 @@
 #ifndef BOOST_FILESYSTEM3_FSTREAM_HPP
 #define BOOST_FILESYSTEM3_FSTREAM_HPP
 
-#include <boost/filesystem/v3/path.hpp>
 #include <boost/config.hpp>
 
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
+#include <boost/filesystem/v3/path.hpp>
 #include <iosfwd>
 #include <fstream>
 

Modified: branches/release/boost/filesystem/v3/operations.hpp
==============================================================================
--- branches/release/boost/filesystem/v3/operations.hpp (original)
+++ branches/release/boost/filesystem/v3/operations.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -15,6 +15,12 @@
 #ifndef BOOST_FILESYSTEM3_OPERATIONS_HPP
 #define BOOST_FILESYSTEM3_OPERATIONS_HPP
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/filesystem/v3/config.hpp>
 #include <boost/filesystem/v3/path.hpp>
 

Modified: branches/release/boost/filesystem/v3/path.hpp
==============================================================================
--- branches/release/boost/filesystem/v3/path.hpp (original)
+++ branches/release/boost/filesystem/v3/path.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -15,6 +15,12 @@
 #ifndef BOOST_FILESYSTEM_PATH_HPP
 #define BOOST_FILESYSTEM_PATH_HPP
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/filesystem/v3/config.hpp>
 #include <boost/filesystem/v3/path_traits.hpp>
 #include <boost/system/error_code.hpp>

Modified: branches/release/boost/filesystem/v3/path_traits.hpp
==============================================================================
--- branches/release/boost/filesystem/v3/path_traits.hpp (original)
+++ branches/release/boost/filesystem/v3/path_traits.hpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -10,6 +10,12 @@
 #ifndef BOOST_FILESYSTEM_PATH_TRAITS_HPP
 #define BOOST_FILESYSTEM_PATH_TRAITS_HPP
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/filesystem/v3/config.hpp>
 #include <boost/utility/enable_if.hpp>
 #include <boost/type_traits/is_array.hpp>

Modified: branches/release/libs/filesystem/v2/example/mbcopy.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/example/mbcopy.cpp (original)
+++ branches/release/libs/filesystem/v2/example/mbcopy.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -13,7 +13,7 @@
 #define BOOST_FILESYSTEM_NO_DEPRECATED
 
 #include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM_NARROW_ONLY
+# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
 # error This compiler or standard library does not support wide-character strings or paths
 # endif
 

Modified: branches/release/libs/filesystem/v2/example/mbpath.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/example/mbpath.cpp (original)
+++ branches/release/libs/filesystem/v2/example/mbpath.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,7 +9,7 @@
 // See Boost.Filesystem home page at http://www.boost.org/libs/filesystem
 
 #include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM_NARROW_ONLY
+# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
 # error This compiler or standard library does not support wide-character strings or paths
 # endif
 

Modified: branches/release/libs/filesystem/v2/src/v2_operations.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/src/v2_operations.cpp (original)
+++ branches/release/libs/filesystem/v2/src/v2_operations.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -122,7 +122,7 @@
   inline DWORD get_file_attributes( const char * ph )
     { return ::GetFileAttributesA( ph ); }
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
   inline DWORD get_file_attributes( const wchar_t * ph )
     { return ::GetFileAttributesW( ph ); }
@@ -180,7 +180,7 @@
     { return ::CreateHardLinkW( from_ph.c_str(), to_ph.c_str(), 0 ) != 0; }
 #endif
   
-# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
   template< class String >
   fs::file_status status_template( const String & ph, error_code & ec )
@@ -625,7 +625,7 @@
         status_api( const std::string & ph, error_code & ec )
         { return status_template( ph, ec ); }
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
       BOOST_FILESYSTEM_DECL fs::file_status
       status_api( const std::wstring & ph, error_code & ec )
@@ -806,7 +806,7 @@
         return ok;
       }
 
-# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
       // suggested by Walter Landry
       BOOST_FILESYSTEM_DECL bool symbolic_link_exists_api( const std::string & )

Modified: branches/release/libs/filesystem/v2/src/v2_path.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/src/v2_path.cpp (original)
+++ branches/release/libs/filesystem/v2/src/v2_path.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -19,7 +19,7 @@
 
 #include <boost/filesystem/v2/config.hpp>
 
-#ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
 #include <boost/filesystem/v2/path.hpp>
 #include <boost/scoped_array.hpp>
@@ -174,4 +174,4 @@
   } // namespace filesystem2
 } // namespace boost
 
-#endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY

Modified: branches/release/libs/filesystem/v2/test/convenience_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/test/convenience_test.cpp (original)
+++ branches/release/libs/filesystem/v2/test/convenience_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -28,7 +28,7 @@
 #include <fstream>
 #include <iostream>
 
-#ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 # define BOOST_FS_IS_EMPTY fs::is_empty
 # define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO<fs::path>
 #else

Modified: branches/release/libs/filesystem/v2/test/fstream_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/test/fstream_test.cpp (original)
+++ branches/release/libs/filesystem/v2/test/fstream_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -25,7 +25,7 @@
 
 #include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
 
-#ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 # include "lpath.hpp"
 #endif
 
@@ -156,7 +156,7 @@
   std::cout << "path tests:\n";
   test( fs::path( "fstream_test_foo" ) );
 
-#ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
   // So that tests are run with known encoding, use Boost UTF-8 codecvt
   std::locale global_loc = std::locale();

Modified: branches/release/libs/filesystem/v2/test/operations_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/test/operations_test.cpp (original)
+++ branches/release/libs/filesystem/v2/test/operations_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -36,7 +36,7 @@
 #include <ctime>
 #include <cstdlib> // for system()
 
-#ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 # define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO<fs::path>
 #else
 # define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO

Modified: branches/release/libs/filesystem/v2/test/wide_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v2/test/wide_test.cpp (original)
+++ branches/release/libs/filesystem/v2/test/wide_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -19,7 +19,7 @@
 #endif
 
 #include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM_NARROW_ONLY
+# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
 # error This compiler or standard library does not support wide-character strings or paths
 # endif
 

Modified: branches/release/libs/filesystem/v3/src/codecvt_error_category.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/codecvt_error_category.cpp (original)
+++ branches/release/libs/filesystem/v3/src/codecvt_error_category.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,13 @@
 
 //--------------------------------------------------------------------------------------//
 
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 #include <boost/config/warning_disable.hpp>
 
 // define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
@@ -82,3 +89,5 @@
 
   } // namespace filesystem3
 } // namespace boost
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/operations.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/operations.cpp (original)
+++ branches/release/libs/filesystem/v3/src/operations.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -10,8 +10,16 @@
 
 //--------------------------------------------------------------------------------------//
 
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
+
 #define BOOST_FILESYSTEM_SOURCE
 
 #ifndef BOOST_SYSTEM_NO_DEPRECATED
@@ -1829,3 +1837,5 @@
 } // namespace detail
 } // namespace filesystem3
 } // namespace boost
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/path.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/path.cpp (original)
+++ branches/release/libs/filesystem/v3/src/path.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -7,6 +7,13 @@
 
 // Library home page: http://www.boost.org/libs/filesystem
 
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE
@@ -796,3 +803,5 @@
 
 } // namespace filesystem3
 } // namespace boost
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/path_traits.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/path_traits.cpp (original)
+++ branches/release/libs/filesystem/v3/src/path_traits.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -7,6 +7,15 @@
 
 // Library home page: http://www.boost.org/libs/filesystem
 
+//--------------------------------------------------------------------------------------//
+
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE
@@ -196,3 +205,5 @@
     }
   }
 }}} // namespace boost::filesystem3::path_traits
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/portability.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/portability.cpp (original)
+++ branches/release/libs/filesystem/v3/src/portability.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,13 @@
 
 //--------------------------------------------------------------------------------------//
 
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE
@@ -117,3 +124,5 @@
 
   } // namespace filesystem3
 } // namespace boost
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/unique_path.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/unique_path.cpp (original)
+++ branches/release/libs/filesystem/v3/src/unique_path.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,13 @@
 
 //--------------------------------------------------------------------------------------//
 
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE
@@ -140,3 +147,5 @@
 }
 
 }}}
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/src/windows_file_codecvt.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/src/windows_file_codecvt.cpp (original)
+++ branches/release/libs/filesystem/v3/src/windows_file_codecvt.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -7,6 +7,15 @@
 
 // Library home page: http://www.boost.org/libs/filesystem
 
+//--------------------------------------------------------------------------------------//
+
+#include <boost/config.hpp>
+#if !defined( BOOST_NO_STD_WSTRING )
+// Boost.Filesystem V3 and later requires std::wstring support.
+// During the transition to V3, libraries are compiled with both V2 and V3 sources.
+// On old compilers that don't support V3 anyhow, we just skip everything so the compile
+// will succeed and the library can be built.
+
 // define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE
@@ -65,3 +74,5 @@
   }
 
   # endif // BOOST_WINDOWS_API
+
+#endif // no wide character support

Modified: branches/release/libs/filesystem/v3/test/convenience_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/convenience_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/convenience_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -10,6 +10,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features

Modified: branches/release/libs/filesystem/v3/test/deprecated_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/deprecated_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/deprecated_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -13,6 +13,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #define BOOST_FILESYSTEM_DEPRECATED
 
 #include <boost/filesystem.hpp>

Modified: branches/release/libs/filesystem/v3/test/fstream_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/fstream_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/fstream_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features

Modified: branches/release/libs/filesystem/v3/test/large_file_support_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/large_file_support_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/large_file_support_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -10,6 +10,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 // See deprecated_test for tests of deprecated features
 #define BOOST_FILESYSTEM_NO_DEPRECATED
 #define BOOST_SYSTEM_NO_DEPRECATED

Modified: branches/release/libs/filesystem/v3/test/operations_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/operations_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/operations_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features
@@ -949,7 +955,7 @@
     BOOST_TEST(fs::remove(link2));
     BOOST_TEST(!fs::exists(link));
     BOOST_TEST(!fs::exists(link2));
- BOOST_TEST(!fs::is_symlink(link));
+ BOOST_TEST(!fs::is_symlink(link));
 
     // remove() symbolic link to file
     fs::path file_ph = "link_target";
@@ -1353,15 +1359,21 @@
     remove_symlink_tests();
   write_time_tests(dir);
 
+ std::cout << "testing complete" << std::endl;
+
   // post-test cleanup
   if (cleanup)
   {
+ std::cout << "post-test removal of " << dir << std::endl;
     BOOST_TEST(fs::remove_all(dir) != 0);
     // above was added just to simplify testing, but it ended up detecting
     // a bug (failure to close an internal search handle).
+ std::cout << "post-test removal complete" << std::endl;
     BOOST_TEST(!fs::exists(dir));
     BOOST_TEST(fs::remove_all(dir) == 0);
   }
+
+ std::cout << "returning from main()" << std::endl;
   return ::boost::report_errors();
 } // main
 

Modified: branches/release/libs/filesystem/v3/test/operations_unit_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/operations_unit_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/operations_unit_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -9,6 +9,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features

Modified: branches/release/libs/filesystem/v3/test/path_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/path_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/path_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -15,6 +15,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features

Modified: branches/release/libs/filesystem/v3/test/path_unit_test.cpp
==============================================================================
--- branches/release/libs/filesystem/v3/test/path_unit_test.cpp (original)
+++ branches/release/libs/filesystem/v3/test/path_unit_test.cpp 2010-08-10 16:00:09 EDT (Tue, 10 Aug 2010)
@@ -21,6 +21,12 @@
 
 #define BOOST_FILESYSTEM_VERSION 3
 
+#include <boost/config.hpp>
+
+# if defined( BOOST_NO_STD_WSTRING )
+# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
+# endif
+
 #include <boost/config/warning_disable.hpp>
 
 // See deprecated_test for tests of deprecated features


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