Index: files/patch-boost-1.52 =================================================================== --- files/patch-boost-1.52 (revision 313634) +++ files/patch-boost-1.52 (working copy) @@ -1,130 +1,106 @@ -diff --git configure.ac configure.ac -index 4594e56..896220b 100644 ---- configure.ac -+++ configure.ac -@@ -481,7 +481,7 @@ AM_CONDITIONAL(MAKE_MODULE_GPU, [test "$MAKE_MODULE_GPU" = "yes"]) - # final processing - ################################################## +--- src/vw/BundleAdjustment/ControlNetworkLoader.cc.orig 2013-03-08 16:52:15.333578744 +0100 ++++ src/vw/BundleAdjustment/ControlNetworkLoader.cc 2013-03-08 16:53:50.333576735 +0100 +@@ -43,7 +43,7 @@ + for ( unsigned i = 0; i < image_files.size(); i++ ) { + fs::path image_path( image_files[i] ); + crn.add_node( CameraNode( i, +- image_path.stem() ) ); ++ image_path.stem().string() ) ); + } --VW_CPPFLAGS="-I\${abs_top_srcdir}/src -I\${abs_top_builddir}/src $OTHER_CPPFLAGS -DBOOST_FILESYSTEM_VERSION=2" -+VW_CPPFLAGS="-I\${abs_top_srcdir}/src -I\${abs_top_builddir}/src $OTHER_CPPFLAGS" - VW_LDFLAGS="$OTHER_LDFLAGS" + // 2.) Load up matches into CRN +@@ -56,7 +56,7 @@ + for ( unsigned j = i+1; j < image_files.size(); ++j ) { + std::string match_filename = + fs::path( image_files[i] ).replace_extension().string() + "__" + +- fs::path( image_files[j] ).stem() + ".match"; ++ fs::path( image_files[j] ).stem().string() + ".match"; - # Do this last, to make sure it's not overridden -diff --git src/vw/BundleAdjustment/ControlNetworkLoader.cc src/vw/BundleAdjustment/ControlNetworkLoader.cc -index ed24605..9c092e8 100644 ---- src/vw/BundleAdjustment/ControlNetworkLoader.cc -+++ src/vw/BundleAdjustment/ControlNetworkLoader.cc -@@ -65,8 +65,8 @@ void vw::ba::triangulate_control_point( ControlPoint& cp, - if ( sm.convergence_angle( cp[j].position(), - cp[k].position() ) > - minimum_angle ) { -- count++; -- position_sum += sm( cp[j].position(), cp[k].position(), error ); -+ count++; -+ position_sum += sm( cp[j].position(), cp[k].position(), error ); - error_sum += error; - } - } catch ( const camera::PixelToRayErr& ) { /* Just let it go */ } -@@ -110,7 +110,7 @@ void vw::ba::build_control_network( ba::ControlNetwork& cnet, - fs::path file_path(file); - image_prefix_map[file_path.replace_extension().string()] = count; - crn.add_node( ba::CameraNode( count, -- file_path.stem() ) ); -+ file_path.stem().string() ) ); - count++; - } + if ( !fs::exists( match_filename ) ) + continue; +--- src/vw/Mosaic/GigapanQuadTreeConfig.cc.orig 2013-03-08 16:56:46.233577784 +0100 ++++ src/vw/Mosaic/GigapanQuadTreeConfig.cc 2013-03-08 16:57:04.755613462 +0100 +@@ -87,7 +87,7 @@ -@@ -128,7 +128,7 @@ void vw::ba::build_control_network( ba::ControlNetwork& cnet, - if ( obj->path().extension() != ".match" ) continue; + if ( root_node) { + std::ostringstream json; +- fs::path file_path( info.filepath, fs::native ); ++ fs::path file_path( info.filepath ); + fs::path json_path = change_extension( file_path, ".json" ); - // Pull out the prefixes that made up that match file -- std::string match_base = obj->path().stem(); -+ std::string match_base = obj->path().stem().string(); - size_t split_pt = match_base.find("__"); - if ( split_pt == std::string::npos ) continue; - std::string prefix1 = match_base.substr(0,split_pt); -@@ -143,14 +143,14 @@ void vw::ba::build_control_network( ba::ControlNetwork& cnet, - - // Actually read in the file as it seems we've found something correct - std::vector ip1, ip2; -- ip::read_binary_match_file( obj->string(), ip1, ip2 ); -+ ip::read_binary_match_file( obj->path().string(), ip1, ip2 ); - if ( ip1.size() < min_matches ) { -- vw_out(VerboseDebugMessage,"ba") << "\t" << obj->string() << " " -+ vw_out(VerboseDebugMessage,"ba") << "\t" << obj->path().string() << " " - << it1->second << " <-> " << it2->second << " : " - << ip1.size() << " matches. [rejected]\n"; - num_load_rejected += ip1.size(); - } else { -- vw_out(VerboseDebugMessage,"ba") << "\t" << obj->string() << " " -+ vw_out(VerboseDebugMessage,"ba") << "\t" << obj->path().string() << " " - << it1->second << " <-> " << it2->second << " : " - << ip1.size() << " matches.\n"; - num_loaded += ip1.size(); -diff --git src/vw/BundleAdjustment/ControlNetworkLoader.h src/vw/BundleAdjustment/ControlNetworkLoader.h -index 1e4deb4..7e8b270 100644 ---- src/vw/BundleAdjustment/ControlNetworkLoader.h -+++ src/vw/BundleAdjustment/ControlNetworkLoader.h -@@ -59,7 +59,7 @@ - LookupType image_lookup; - for (size_t i = 0; i < image_files.size(); i++ ) { + json << "{" << std::endl +--- src/vw/FileIO/KML.cc.orig 2013-03-08 16:55:22.113578106 +0100 ++++ src/vw/FileIO/KML.cc 2013-03-08 16:56:08.907603626 +0100 +@@ -248,7 +248,7 @@ + std::ostringstream path; + if ( m_directory != "" ) + path << m_directory << "/"; +- fs::path kml_path( path.str(), fs::native ); ++ fs::path kml_path( path.str() ); + fs::create_directories( kml_path ); + path << m_filename; + kml_path = path.str(); +--- src/vw/BundleAdjustment/ControlNetworkLoader.h.orig 2013-03-08 16:54:36.249577058 +0100 ++++ src/vw/BundleAdjustment/ControlNetworkLoader.h 2013-03-08 16:55:07.281602691 +0100 +@@ -46,7 +46,7 @@ + std::map image_lookup; + for (unsigned i = 0; i < image_files.size(); i++ ) { image_lookup[image_files[i]] = i; - image_lookup[fs::path(image_files[i]).filename()] = i; + image_lookup[fs::path(image_files[i]).filename().string()] = i; } while ( gcp_start != gcp_end ) { -@@ -139,7 +139,7 @@ - LookupType image_lookup; - for (size_t i = 0; i < image_files.size(); i++ ) { +@@ -126,7 +126,7 @@ + std::map image_lookup; + for (unsigned i = 0; i < image_files.size(); i++ ) { image_lookup[image_files[i]] = i; - image_lookup[fs::path(image_files[i]).filename()] = i; + image_lookup[fs::path(image_files[i]).filename().string()] = i; } while ( gcpcnet_start != gcpcnet_end ) { -diff --git src/vw/FileIO/KML.cc src/vw/FileIO/KML.cc -index be91a5f..f04c41b 100644 ---- src/vw/FileIO/KML.cc -+++ src/vw/FileIO/KML.cc -@@ -259,7 +259,7 @@ - std::ostringstream path; - if ( m_directory != "" ) - path << m_directory << "/"; -- fs::path kml_path( path.str(), fs::native ); -+ fs::path kml_path( path.str() ); - fs::create_directories( kml_path ); - path << m_filename; - kml_path = path.str(); -diff --git src/vw/FileIO/tests/TestTemporaryFile.cxx src/vw/FileIO/tests/TestTemporaryFile.cxx -index 4fcaaaf..05b33cf 100644 ---- src/vw/FileIO/tests/TestTemporaryFile.cxx -+++ src/vw/FileIO/tests/TestTemporaryFile.cxx -@@ -46,15 +46,15 @@ string get_directory(const TemporaryDir& f) { - } +--- src/vw/Mosaic/ToastQuadTreeConfig.h.orig 2013-03-08 16:59:57.069577673 +0100 ++++ src/vw/Mosaic/ToastQuadTreeConfig.h 2013-03-08 17:15:44.380685037 +0100 +@@ -189,13 +189,13 @@ + } - string get_prefix(const TemporaryFile& f, size_t len) { -- return fs::path(f.filename()).leaf().substr(0, len); -+ return fs::path(f.filename()).filename().string().substr(0, len); - } + // Read it in from disk +- fs::path path( qtree->get_name(), fs::native ); ++ fs::path path( qtree->get_name() ); + std::ostringstream filename; + filename << level << "/" << x << "/" << y << "." << qtree->get_file_type(); + path /= filename.str(); + ImageView tile; + if( exists(path) ) { +- read_image( tile, path.native_file_string() ); ++ read_image( tile, path.string() ); + } - string get_prefix(const TemporaryDir& f, size_t len) { -- return fs::path(f.filename()).leaf().substr(0, len); -+ return fs::path(f.filename()).filename().string().substr(0, len); - } + // Save it in the cache. The cache size of 1024 tiles was chosen +@@ -240,7 +240,7 @@ + generate_branch( branch_level, level+1, 2*x+1, 2*y+1, SubProgressCallback(progress_callback, 0.75, 1.00) ); + } + else { +- fs::path path( qtree->get_name(), fs::native ); ++ fs::path path( qtree->get_name() ); + std::ostringstream filename; + filename << level << "/" << x << "/" << y << "." << qtree->get_file_type(); + path /= filename.str(); +@@ -277,8 +277,8 @@ + } - string get_suffix(const TemporaryFile& f, size_t len) { -- string fn = fs::path(f.filename()).leaf(); -+ string fn = fs::path(f.filename()).filename().string(); - return fn.substr(fn.size()-len, len); - } + if( ! is_transparent(tile) ) { +- create_directories( path.branch_path() ); +- write_image( path.native_file_string(), tile ); ++ create_directories( path.parent_path() ); ++ write_image( path.string(), tile ); + } -diff --git src/vw/Mosaic/CelestiaQuadTreeConfig.cc src/vw/Mosaic/CelestiaQuadTreeConfig.cc -index d215843..5a27da1 100644 ---- src/vw/Mosaic/CelestiaQuadTreeConfig.cc -+++ src/vw/Mosaic/CelestiaQuadTreeConfig.cc -@@ -31,7 +31,7 @@ + progress_callback.report_progress(1); +--- src/vw/Mosaic/CelestiaQuadTreeConfig.cc.orig 2013-03-08 17:00:36.216575686 +0100 ++++ src/vw/Mosaic/CelestiaQuadTreeConfig.cc 2013-03-08 17:06:42.847575641 +0100 +@@ -20,7 +20,7 @@ } std::string CelestiaQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { @@ -133,7 +109,7 @@ Vector pos(0,0); for ( size_t i=0; i < name.length(); ++i ) { -@@ -55,7 +55,7 @@ +@@ -44,7 +44,7 @@ path /= oss.str(); @@ -142,98 +118,9 @@ } void CelestiaQuadTreeConfig::configure( QuadTreeGenerator& qtree ) const { -diff --git src/vw/Mosaic/GMapQuadTreeConfig.cc src/vw/Mosaic/GMapQuadTreeConfig.cc -index f47fc05..840ab4e 100644 ---- src/vw/Mosaic/GMapQuadTreeConfig.cc -+++ src/vw/Mosaic/GMapQuadTreeConfig.cc -@@ -30,7 +30,7 @@ - - // for gmaps, origin is upper left, advancing right and down. - std::string GMapQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { -- fs::path path( qtree.get_name(), fs::native ); -+ fs::path path( qtree.get_name() ); - - Vector pos(0,0); - BOOST_FOREACH(char n, name) { -@@ -50,11 +50,11 @@ - oss << name.length() << "/" << pos.x() << "/" << pos.y(); - path /= oss.str(); - -- return path.native_file_string(); -+ return path.string(); - } - - boost::shared_ptr GMapQuadTreeConfig::tile_resource( QuadTreeGenerator const& /*qtree*/, QuadTreeGenerator::TileInfo const& info, ImageFormat const& format ) { -- create_directories( fs::path( info.filepath, fs::native ).branch_path() ); -+ create_directories( fs::path( info.filepath ).parent_path() ); - return boost::shared_ptr( DiskImageResource::create( info.filepath + info.filetype, format, info.filetype ) ); - } - -diff --git src/vw/Mosaic/GigapanQuadTreeConfig.cc src/vw/Mosaic/GigapanQuadTreeConfig.cc -index d9ceac9..685c9fe 100644 ---- src/vw/Mosaic/GigapanQuadTreeConfig.cc -+++ src/vw/Mosaic/GigapanQuadTreeConfig.cc -@@ -98,7 +98,7 @@ - - if ( root_node) { - std::ostringstream json; -- fs::path file_path( info.filepath, fs::native ); -+ fs::path file_path( info.filepath ); - fs::path json_path = change_extension( file_path, ".json" ); - - json << "{" << std::endl -diff --git src/vw/Mosaic/KMLQuadTreeConfig.cc src/vw/Mosaic/KMLQuadTreeConfig.cc -index d527e3a..cd155dc 100644 ---- src/vw/Mosaic/KMLQuadTreeConfig.cc -+++ src/vw/Mosaic/KMLQuadTreeConfig.cc -@@ -235,8 +235,8 @@ - - void KMLQuadTreeConfigData::metadata_func( QuadTreeGenerator const& qtree, QuadTreeGenerator::TileInfo const& info ) const { - std::ostringstream kml; -- fs::path file_path( info.filepath, fs::native ); -- size_t base_len = file_path.branch_path().native_file_string().size() + 1; -+ fs::path file_path( info.filepath ); -+ size_t base_len = file_path.parent_path().string().size() + 1; - fs::path kml_path = change_extension( file_path, ".kml" ); - kml << std::setprecision(10); - -@@ -264,10 +264,11 @@ - m_root_node_tags << " \n"; - } - -- std::vector > children = qtree.branches( info.name, info.region_bbox ); -+ std::vector > children = -+ qtree.branches( info.name, info.region_bbox ); - for( unsigned i=0; i KMLQuadTreeConfigData::tile_resource_func( QuadTreeGenerator const&, QuadTreeGenerator::TileInfo const& info, ImageFormat const& format ) const { -- create_directories( fs::path( info.filepath, fs::native ).branch_path() ); -+ create_directories( fs::path( info.filepath ).parent_path() ); - if( info.filetype == ".png" && (format.pixel_format==VW_PIXEL_RGBA || format.pixel_format==VW_PIXEL_GRAYA) ) { - return boost::shared_ptr( new DiskImageResourcePNGAlphaHack( info.filepath+info.filetype, format ) ); - } -diff --git src/vw/Mosaic/QuadTreeGenerator.cc src/vw/Mosaic/QuadTreeGenerator.cc -index 389825d..a4cba6f 100644 ---- src/vw/Mosaic/QuadTreeGenerator.cc -+++ src/vw/Mosaic/QuadTreeGenerator.cc -@@ -28,13 +28,13 @@ +--- src/vw/Mosaic/QuadTreeGenerator.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/Mosaic/QuadTreeGenerator.cc 2013-03-08 17:15:35.038577037 +0100 +@@ -17,13 +17,13 @@ namespace mosaic { std::string QuadTreeGenerator::simple_image_path::operator()( QuadTreeGenerator const& qtree, std::string const& name ) { @@ -250,7 +137,7 @@ std::string rname = "r" + name; -@@ -43,14 +43,14 @@ +@@ -32,14 +32,14 @@ } path /= rname; @@ -264,11 +151,11 @@ if( name.length() == 0 ) { - path /= change_extension( path, "" ).leaf(); -+ path /= change_extension( path, "" ).filename(); ++ path /= change_extension( path, "" ).filename().string(); } else { for ( int32 i=0; i<(int32)name.length() - levels_per_directory; i+=levels_per_directory ) { -@@ -59,7 +59,7 @@ +@@ -48,7 +48,7 @@ path /= name; } @@ -277,7 +164,7 @@ } std::vector > QuadTreeGenerator::default_branch_func::operator()( QuadTreeGenerator const& qtree, std::string const& name, BBox2i const& region ) { -@@ -74,7 +74,7 @@ +@@ -63,7 +63,7 @@ } boost::shared_ptr QuadTreeGenerator::default_tile_resource_func::operator()( QuadTreeGenerator const&, TileInfo const& info, ImageFormat const& format ) { @@ -286,129 +173,140 @@ return boost::shared_ptr( DiskImageResource::create( info.filepath+info.filetype, format ) ); } -diff --git src/vw/Mosaic/TMSQuadTreeConfig.cc src/vw/Mosaic/TMSQuadTreeConfig.cc -index 92f4ab9..2f6c30b 100644 ---- src/vw/Mosaic/TMSQuadTreeConfig.cc -+++ src/vw/Mosaic/TMSQuadTreeConfig.cc -@@ -25,7 +25,7 @@ - namespace mosaic { +--- src/vw/Mosaic/UniviewQuadTreeConfig.cc.orig 2013-03-08 17:02:02.216579576 +0100 ++++ src/vw/Mosaic/UniviewQuadTreeConfig.cc 2013-03-08 17:15:16.050574661 +0100 +@@ -56,7 +56,7 @@ + } - std::string TMSQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { + std::string UniviewQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { - fs::path path( qtree.get_name(), fs::native ); + fs::path path( qtree.get_name() ); Vector2i pos(0,0); for ( int i=0; i<(int)name.length(); ++i ) { -@@ -41,7 +41,7 @@ - oss << name.length() << "/" << pos.x() << "/" << pos.y(); +@@ -75,12 +75,12 @@ + oss << name.length()-1 << "/" << pos.y() << "/" << pos.x(); path /= oss.str(); - return path.native_file_string(); + return path.string(); } - void TMSQuadTreeConfig::configure( QuadTreeGenerator& qtree ) const { -diff --git src/vw/Mosaic/ToastQuadTreeConfig.h src/vw/Mosaic/ToastQuadTreeConfig.h -index 209ff0e..ba2aed6 100644 ---- src/vw/Mosaic/ToastQuadTreeConfig.h -+++ src/vw/Mosaic/ToastQuadTreeConfig.h -@@ -200,13 +200,13 @@ - } - // Read it in from disk -- fs::path path( qtree->get_name(), fs::native ); -+ fs::path path( qtree->get_name() ); - std::ostringstream filename; - filename << level << "/" << x << "/" << y << "." << qtree->get_file_type(); - path /= filename.str(); - ImageView tile; - if( exists(path) ) { -- read_image( tile, path.native_file_string() ); -+ read_image( tile, path.string() ); - } + boost::shared_ptr UniviewQuadTreeConfig::terrain_tile_resource( QuadTreeGenerator const& /*qtree*/,QuadTreeGenerator::TileInfo const& info, ImageFormat const& format ) { +- create_directories( fs::path( info.filepath, fs::native ).branch_path() ); ++ create_directories( fs::path( info.filepath ).parent_path() ); + return boost::shared_ptr( new UniviewTerrainResource( info.filepath+info.filetype, format ) ); + } - // Save it in the cache. The cache size of 1024 tiles was chosen -@@ -251,7 +251,7 @@ - generate_branch( branch_level, level+1, 2*x+1, 2*y+1, SubProgressCallback(progress_callback, 0.75, 1.00) ); - } - else { -- fs::path path( qtree->get_name(), fs::native ); -+ fs::path path( qtree->get_name() ); - std::ostringstream filename; - filename << level << "/" << x << "/" << y << "." << qtree->get_file_type(); - path /= filename.str(); -@@ -288,8 +288,8 @@ - } +--- src/vw/Mosaic/TMSQuadTreeConfig.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/Mosaic/TMSQuadTreeConfig.cc 2013-03-08 17:07:28.324574605 +0100 +@@ -14,7 +14,7 @@ + namespace mosaic { - if( ! is_transparent(tile) ) { -- create_directories( path.branch_path() ); -- write_image( path.native_file_string(), tile ); -+ create_directories( path.parent_path() ); -+ write_image( path.string(), tile ); - } - - progress_callback.report_progress(1); -diff --git src/vw/Mosaic/UniviewQuadTreeConfig.cc src/vw/Mosaic/UniviewQuadTreeConfig.cc -index c6c20b3..e94e0d7 100644 ---- src/vw/Mosaic/UniviewQuadTreeConfig.cc -+++ src/vw/Mosaic/UniviewQuadTreeConfig.cc -@@ -67,7 +67,7 @@ - } - - std::string UniviewQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { + std::string TMSQuadTreeConfig::image_path( QuadTreeGenerator const& qtree, std::string const& name ) { - fs::path path( qtree.get_name(), fs::native ); + fs::path path( qtree.get_name() ); Vector2i pos(0,0); for ( int i=0; i<(int)name.length(); ++i ) { -@@ -86,12 +86,12 @@ - oss << name.length()-1 << "/" << pos.y() << "/" << pos.x(); +@@ -30,7 +30,7 @@ + oss << name.length() << "/" << pos.x() << "/" << pos.y(); path /= oss.str(); - return path.native_file_string(); + return path.string(); } + void TMSQuadTreeConfig::configure( QuadTreeGenerator& qtree ) const { +--- src/vw/Mosaic/KMLQuadTreeConfig.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/Mosaic/KMLQuadTreeConfig.cc 2013-03-08 17:15:08.901576709 +0100 +@@ -224,8 +224,8 @@ - boost::shared_ptr UniviewQuadTreeConfig::terrain_tile_resource( QuadTreeGenerator const& /*qtree*/,QuadTreeGenerator::TileInfo const& info, ImageFormat const& format ) { + void KMLQuadTreeConfigData::metadata_func( QuadTreeGenerator const& qtree, QuadTreeGenerator::TileInfo const& info ) const { + std::ostringstream kml; +- fs::path file_path( info.filepath, fs::native ); +- size_t base_len = file_path.branch_path().native_file_string().size() + 1; ++ fs::path file_path( info.filepath ); ++ size_t base_len = file_path.parent_path().string().size() + 1; + fs::path kml_path = change_extension( file_path, ".kml" ); + kml << std::setprecision(10); + +@@ -256,7 +256,7 @@ + std::vector > children = qtree.branches( info.name, info.region_bbox ); + for( unsigned i=0; i KMLQuadTreeConfigData::tile_resource_func( QuadTreeGenerator const&, QuadTreeGenerator::TileInfo const& info, ImageFormat const& format ) const { - create_directories( fs::path( info.filepath, fs::native ).branch_path() ); + create_directories( fs::path( info.filepath ).parent_path() ); - return boost::shared_ptr( new UniviewTerrainResource( info.filepath+info.filetype, format ) ); - } + if( info.filetype == ".png" && (format.pixel_format==VW_PIXEL_RGBA || format.pixel_format==VW_PIXEL_GRAYA) ) { + return boost::shared_ptr( new DiskImageResourcePNGAlphaHack( info.filepath+info.filetype, format ) ); + } +--- src/vw/Core/tests/TestTemporaryFile.cxx.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/Core/tests/TestTemporaryFile.cxx 2013-03-08 17:05:44.024579819 +0100 +@@ -31,11 +31,11 @@ + } -diff --git src/vw/tools/blend.cc src/vw/tools/blend.cc -index c0f6e29..dbab5a9 100644 ---- src/vw/tools/blend.cc -+++ src/vw/tools/blend.cc -@@ -58,7 +58,7 @@ void do_blend() { + string get_prefix(const TemporaryFile& f, size_t len) { +- return fs::path(f.filename()).leaf().substr(0, len); ++ return fs::path(f.filename()).filename().string().substr(0, len); + } - std::map image_files; - std::map offset_files; -- fs::path source_dir_path( mosaic_name, fs::native ); -+ fs::path source_dir_path( mosaic_name ); - fs::directory_iterator pi( source_dir_path ), pend; - for( ; pi != pend; ++pi ) { - if( extension(*pi) == ".offset" ) -diff --git src/vw/tools/correlate.cc src/vw/tools/correlate.cc -index 521206f..e249e55 100644 ---- src/vw/tools/correlate.cc -+++ src/vw/tools/correlate.cc -@@ -95,7 +95,9 @@ int main( int argc, char *argv[] ) { + string get_suffix(const TemporaryFile& f, size_t len) { +- string fn = fs::path(f.filename()).leaf(); ++ string fn = fs::path(f.filename()).filename().string(); + return fn.substr(fn.size()-len, len); + } + +--- src/vw/tools/correlate.cc.orig 2013-03-08 17:10:12.973587146 +0100 ++++ src/vw/tools/correlate.cc 2013-03-08 17:09:43.786595690 +0100 +@@ -95,7 +95,7 @@ return 1; } - std::string match_filename = fs::path( left_file_name ).replace_extension().string() + "__" + fs::path( right_file_name ).stem() + ".match"; -+ std::string match_filename = -+ fs::path( left_file_name ).replace_extension().string() + "__" + -+ fs::path( right_file_name ).stem().string() + ".match"; ++ std::string match_filename = fs::path( left_file_name ).replace_extension().string() + "__" + fs::path( right_file_name ).stem().string() + ".match"; if ( fs::exists( match_filename ) ) { vw_out() << "Found a match file. Using it to pre-align images.\n"; std::vector matched_ip1, matched_ip2; -diff --git src/vw/tools/ipalign.cc src/vw/tools/ipalign.cc -index 76c1689..f513827 100644 ---- src/vw/tools/ipalign.cc -+++ src/vw/tools/ipalign.cc -@@ -220,7 +220,7 @@ void align_images( Options & opt ) { +--- src/vw/tools/ipmatch.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/tools/ipmatch.cc 2013-03-08 17:10:40.056574977 +0100 +@@ -214,13 +214,13 @@ + + std::string output_filename = + fs::path(input_file_names[i]).replace_extension().string() + "__" + +- fs::path(input_file_names[j]).stem() + ".match"; ++ fs::path(input_file_names[j]).stem().string() + ".match"; + write_binary_match_file(output_filename, final_ip1, final_ip2); + + if (vm.count("debug-image")) { + std::string matchimage_filename = + fs::path(input_file_names[i]).replace_extension().string() + "__" + +- fs::path(input_file_names[j]).stem() + ".png"; ++ fs::path(input_file_names[j]).stem().string() + ".png"; + write_match_image(matchimage_filename, + input_file_names[i], input_file_names[j], + final_ip1, final_ip2); +--- src/vw/tools/ipalign.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/tools/ipalign.cc 2013-03-08 17:11:06.293581132 +0100 +@@ -209,7 +209,7 @@ } std::string output_filename = fs::path(ref_name).replace_extension().string() + "__" + @@ -417,147 +315,54 @@ write_binary_match_file(output_filename, final_ip1, final_ip2); } -diff --git src/vw/tools/ipmatch.cc src/vw/tools/ipmatch.cc -index 06aa88a..96c690b 100644 ---- src/vw/tools/ipmatch.cc -+++ src/vw/tools/ipmatch.cc -@@ -64,19 +64,19 @@ static void write_match_image(std::string const& out_file_name, - mosaic::ImageComposite > composite; - if ( irsrc1->has_nodata_read() ) { - composite.insert( pixel_cast_rescale >(resample(apply_mask(normalize(create_mask(DiskImageView >(*irsrc1), -- irsrc1->nodata_read()))), sub_scale)), -- 0, 0 ); -+ irsrc1->nodata_read()))), sub_scale)), -+ 0, 0 ); - } else { - composite.insert( pixel_cast_rescale >(resample(normalize(DiskImageView >(*irsrc1)), sub_scale)), -- 0, 0 ); -+ 0, 0 ); - } - if ( irsrc2->has_nodata_read() ) { - composite.insert(pixel_cast_rescale >(resample(apply_mask(normalize(create_mask(DiskImageView >(*irsrc2), -- irsrc2->nodata_read()))), sub_scale)), -- int32(irsrc1->format().cols * sub_scale), 0 ); -+ irsrc2->nodata_read()))), sub_scale)), -+ int32(irsrc1->format().cols * sub_scale), 0 ); - } else { - composite.insert(pixel_cast_rescale >(resample(normalize(DiskImageView >(*irsrc2)), sub_scale)), -- int32(irsrc1->format().cols * sub_scale), 0 ); -+ int32(irsrc1->format().cols * sub_scale), 0 ); - } - composite.set_draft_mode( true ); - composite.prepare(); -@@ -101,7 +101,7 @@ static void write_match_image(std::string const& out_file_name, +--- src/vw/tools/ba_test.cc.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/tools/ba_test.cc 2013-03-08 17:14:46.816575195 +0100 +@@ -508,7 +508,7 @@ + #if (BOOST_VERSION >= 103600) + if (!file.has_parent_path()) + #else +- if (!file.has_branch_path()) ++ if (!file.has_parent_path()) + #endif + { file = dir / file; } - boost::scoped_ptr rsrc( DiskImageResource::create(out_file_name, comp.format()) ); - block_write_image( *rsrc, comp, -- TerminalProgressCallback( "tools.ipmatch", "Writing Debug:" ) ); -+ TerminalProgressCallback( "tools.ipmatch", "Writing Debug:" ) ); - } - - int main(int argc, char** argv) { -@@ -183,7 +183,7 @@ int main(int argc, char** argv) { - vw_out() << "Found " << matched_ip1.size() << " putative matches.\n"; - - std::vector ransac_ip1 = iplist_to_vectorlist(matched_ip1), -- ransac_ip2 = iplist_to_vectorlist(matched_ip2); -+ ransac_ip2 = iplist_to_vectorlist(matched_ip2); - std::vector indices; - try { - // RANSAC is used to fit a transform between the matched sets -@@ -214,8 +214,8 @@ int main(int argc, char** argv) { - indices.push_back(i); - } else { - vw_out() << "Unknown RANSAC constraint type: " << ransac_constraint -- << ". Choose one of: [similarity, homography, fundamental, or none]\n"; -- return 1; -+ << ". Choose one of: [similarity, homography, fundamental, or none]\n"; -+ return 1; - } - } catch (const vw::math::RANSACErr& e ) { - vw_out() << "RANSAC Failed: " << e.what() << "\n"; -@@ -230,8 +230,8 @@ int main(int argc, char** argv) { - } - - std::string output_prefix = -- fs::path(input_file_names[i]).replace_extension().string() + "__" + -- fs::path(input_file_names[j]).stem(); -+ fs::path(input_file_names[i]).replace_extension().string() + "__" + -+ fs::path(input_file_names[j]).stem().string(); - write_binary_match_file(output_prefix+".match", final_ip1, final_ip2); - - if (vm.count("debug-image")) { -@@ -244,4 +244,3 @@ int main(int argc, char** argv) { - - return 0; - } -- -diff --git configure.ac configure.ac -index fc96826..4594e56 100644 ---- configure.ac -+++ configure.ac -@@ -205,7 +205,7 @@ AX_PKG_BOOST([BOOST_PROGRAM_OPTIONS BOOST_FILESYSTEM BOOST_THREAD BOOST_GRAPH], - BOOST_REGEX, - [AX_PKG_BOOST_LIB(REGEX, [-lboost_regex], [boost/regex.hpp], [boost::regex(".*");])], - BOOST_DATETIME, -- [AX_PKG_BOOST_LIB(DATETIME, [-lboost_date_time], [boost/date_time/gregorian/gregorian_types.hpp])], -+ [AX_PKG_BOOST_LIB(DATETIME, [-lboost_date_time], [boost/date_time/gregorian/gregorian_types.hpp], [], [$PKG_BOOST_SYSTEM_LIBS])], - BOOST_THREAD, - [AX_PKG_BOOST_LIB(THREAD, [-lboost_thread], [boost/thread/thread.hpp], [boost::mutex();], [$PKG_BOOST_DATETIME_LIBS], [boost/thread/condition.hpp])], - BOOST_IOSTREAMS, -diff --git src/vw/Core/Settings.cc src/vw/Core/Settings.cc -index 068988c..7c1becb 100644 ---- src/vw/Core/Settings.cc -+++ src/vw/Core/Settings.cc -@@ -67,7 +67,11 @@ void Settings::reload_config() { - // call reload_config and deadlock! - - boost::xtime xt; -+#if BOOST_VERSION >= 105000 -+ boost::xtime_get(&xt, boost::TIME_UTC_); -+#else - boost::xtime_get(&xt, boost::TIME_UTC); -+#endif - bool needs_reloading = false; - - // Every five seconds, we attempt to open the log config file to see -diff --git src/vw/Core/Thread.h src/vw/Core/Thread.h -index b1bbdfd..4040a8a 100644 ---- src/vw/Core/Thread.h -+++ src/vw/Core/Thread.h -@@ -175,7 +175,11 @@ +--- src/vw/Core/Thread.h.orig 2011-05-13 01:00:56.000000000 +0200 ++++ src/vw/Core/Thread.h 2013-03-08 17:22:49.709580051 +0100 +@@ -156,7 +156,7 @@ template bool timed_wait(LockT &lock, unsigned long milliseconds) { boost::xtime xt; -+#if BOOST_VERSION >= 105000 +- boost::xtime_get(&xt, boost::TIME_UTC); + boost::xtime_get(&xt, boost::TIME_UTC_); -+#else - boost::xtime_get(&xt, boost::TIME_UTC); -+#endif while (milliseconds >= 1000) { xt.sec++; milliseconds -= 1000; -@@ -187,7 +191,11 @@ +@@ -168,7 +168,7 @@ template bool timed_wait(LockT &lock, unsigned long milliseconds, Pred pred) { boost::xtime xt; -+#if BOOST_VERSION >= 105000 +- boost::xtime_get(&xt, boost::TIME_UTC); + boost::xtime_get(&xt, boost::TIME_UTC_); -+#else - boost::xtime_get(&xt, boost::TIME_UTC); -+#endif while (milliseconds >= 1000) { xt.sec++; milliseconds -= 1000; -@@ -269,7 +277,11 @@ +@@ -250,7 +250,7 @@ /// threads/processes. static inline void sleep_ms( uint32 milliseconds ) { boost::xtime xt; -+#if BOOST_VERSION >= 105000 +- boost::xtime_get(&xt, boost::TIME_UTC); + boost::xtime_get(&xt, boost::TIME_UTC_); -+#else - boost::xtime_get(&xt, boost::TIME_UTC); -+#endif while (milliseconds >= 1000) { xt.sec++; milliseconds -= 1000; +--- src/vw/Core/Settings.cc.orig 2013-03-08 17:21:56.326584731 +0100 ++++ src/vw/Core/Settings.cc 2013-03-08 17:22:09.988577481 +0100 +@@ -56,7 +56,7 @@ + // call reload_config and deadlock! + + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + bool needs_reloading = false; + + // Every five seconds, we attempt to open the log config file to see Index: Makefile =================================================================== --- Makefile (revision 313634) +++ Makefile (working copy) @@ -17,8 +17,6 @@ LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -BROKEN= failes to patch - GNU_CONFIGURE= yes USE_QT4= moc_build qmake_build USE_FORTRAN= yes