Resolve ticket #4585 by accepting bjam options --disable-filesystem2 or --disable-filesystem3. Document same. Also, switch V2 tests to use <boost/detail/lightweight_main.hpp> to improved test reporting.

[SVN r67078]
This commit is contained in:
Beman Dawes 2010-12-07 00:57:13 +00:00
parent cb884cd6e1
commit c1ca110b6f
9 changed files with 55 additions and 15 deletions

View File

@ -13,13 +13,36 @@ project boost/filesystem
<link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
;
SOURCES =
v2/src/v2_operations v2/src/v2_path v2/src/v2_portability
v3/src/operations v3/src/path v3/src/portability v3/src/utf8_codecvt_facet
v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path
v3/src/windows_file_codecvt
;
local disable-filesystem2 = [ MATCH (--disable-filesystem2) : [ modules.peek : ARGV ] ] ;
local disable-filesystem3 = [ MATCH (--disable-filesystem3) : [ modules.peek : ARGV ] ] ;
if ! $(disable-filesystem2)
{
if ! $(disable-filesystem3)
{
SOURCES =
v2/src/v2_operations v2/src/v2_path v2/src/v2_portability
v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt
v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path
v3/src/utf8_codecvt_facet
;
}
else
{
SOURCES =
v2/src/v2_operations v2/src/v2_path v2/src/v2_portability
v3/src/utf8_codecvt_facet # used by both v2 and v3
;
}
}
else
{
SOURCES =
v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt
v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path
v3/src/utf8_codecvt_facet
;
}
lib boost_filesystem
: $(SOURCES).cpp ../../system/build//boost_system

View File

@ -102,6 +102,11 @@
convenient. New code should be written for version 3.</p>
<p align="left">Version 2 is deprecated, and will not be included in Boost
releases 1.48 and later.</p>
<p align="left"><b>Building the library</b></p>
<p align="left">By default, the Boost build system creates libraries that
support both version 2 and version 3. To support only a single version,
include <code>--disable-filesystem2</code> or <code>--disable-filesystem3</code>
on the <code>bjam</code> command line.</p>
</td>
</tr>
</table>
@ -818,7 +823,7 @@ Version 1.30.0 - March 19th, 2003</h3>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 December, 2010<!--webbot bot="Timestamp" endspan i-checksum="38634" --></p>
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->06 December, 2010<!--webbot bot="Timestamp" endspan i-checksum="38640" --></p>
<p>&copy; Copyright Beman Dawes, 2002-2005</p>
<p> Use, modification, and distribution are subject to the Boost Software

View File

@ -26,6 +26,8 @@ using fs::path;
namespace sys = boost::system;
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <boost/bind.hpp>
#include <fstream>
#include <iostream>
@ -60,7 +62,7 @@ namespace
// --------------------------------------------------------------------------//
int main( int, char*[] )
int cpp_main( int, char*[] )
{
// create_directories() tests ----------------------------------------------//

View File

@ -16,6 +16,7 @@
#include <boost/filesystem.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
namespace fs = boost::filesystem;
using boost::filesystem::path;
@ -147,7 +148,7 @@ namespace
//----------------------------------------------------------------------------//
int main( int /*argc*/, char * /*argv*/[] )
int cpp_main( int /*argc*/, char * /*argv*/[] )
{
// The choice of platform is make at runtime rather than compile-time
// so that compile errors for all platforms will be detected even though

View File

@ -39,6 +39,7 @@ namespace fs = boost::filesystem;
#endif
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
namespace
{
@ -150,7 +151,7 @@ namespace
} // test
} // unnamed namespace
int main( int argc, char*[] )
int cpp_main( int argc, char*[] )
{
if ( argc > 1 ) cleanup = false;

View File

@ -26,6 +26,7 @@ namespace fs = boost::filesystem;
#include <boost/config.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
using boost::system::error_code;
using boost::system::system_category;
@ -266,7 +267,7 @@ namespace
// main ------------------------------------------------------------------------------//
int main( int argc, char * argv[] )
int cpp_main( int argc, char * argv[] )
{
if ( argc > 1 && *argv[1]=='-' && *(argv[1]+1)=='t' ) report_throws = true;

View File

@ -37,6 +37,7 @@ using boost::filesystem::path;
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
#define DIR_CHECK( a, b ) check_dir( a, b, __LINE__ )
@ -196,7 +197,7 @@ namespace
} // unnamed namespace
int main( int, char*[] )
int cpp_main( int, char* [] )
{
// The choice of platform is make at runtime rather than compile-time
// so that compile errors for all platforms will be detected even though

View File

@ -29,6 +29,7 @@
#include <boost/filesystem/fstream.hpp>
#include <boost/scoped_array.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
@ -127,7 +128,7 @@ namespace
// main ------------------------------------------------------------------------------//
int main( int argc, char * /*argv*/[] )
int cpp_main( int argc, char * /*argv*/[] )
{
if ( argc > 1 ) cleanup = false;

View File

@ -96,6 +96,11 @@
convenient. New code should be written for Version 3.</p>
<p align="left">Version 2 is deprecated, and will not be included in Boost
releases 1.48 and later.</p>
<p align="left"><b>Building the library</b></p>
<p align="left">By default, the Boost build system creates libraries that
support both version 2 and version 3. To support only a single version,
include <code>--disable-filesystem2</code> or <code>--disable-filesystem3</code>
on the <code>bjam</code> command line.</p>
</td>
</tr>
</table>
@ -478,7 +483,7 @@ version 1.31.0.&nbsp;</p>
<hr>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 December, 2010<!--webbot bot="Timestamp" endspan i-checksum="38634" --></p>
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->06 December, 2010<!--webbot bot="Timestamp" endspan i-checksum="38640" --></p>
<p>&copy; Copyright Beman Dawes, 2002-2005</p>
<p> Use, modification, and distribution are subject to the Boost Software