From 6f5e742482eadf055c18bdbe4082450d3161edef Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 30 May 2013 19:54:24 -0400 Subject: Get rid of dependency on Boost filesystem --- xsd/cxx/parser/elements.cxx | 5 +-- xsd/cxx/parser/generator.cxx | 78 +++++++++++++++++++++----------------------- 2 files changed, 40 insertions(+), 43 deletions(-) (limited to 'xsd/cxx/parser') diff --git a/xsd/cxx/parser/elements.cxx b/xsd/cxx/parser/elements.cxx index a721ea8..bd610a3 100644 --- a/xsd/cxx/parser/elements.cxx +++ b/xsd/cxx/parser/elements.cxx @@ -212,6 +212,7 @@ namespace CXX s.context ().count ("renamed") ? s.context ().get ("renamed") : u.path ()); + path.normalize (); // Try to use the portable representation of the path. If that // fails, fall back to the native representation. @@ -219,11 +220,11 @@ namespace CXX NarrowString path_str; try { - path_str = path.string (); + path_str = path.posix_string (); } catch (SemanticGraph::InvalidPath const&) { - path_str = path.native_file_string (); + path_str = path.string (); } String inc_path; diff --git a/xsd/cxx/parser/generator.cxx b/xsd/cxx/parser/generator.cxx index 7ef7183..a262004 100644 --- a/xsd/cxx/parser/generator.cxx +++ b/xsd/cxx/parser/generator.cxx @@ -3,9 +3,9 @@ // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file +#include #include - -#include +#include #include @@ -52,17 +52,9 @@ using namespace XSDFrontend::SemanticGraph; // // -typedef -boost::filesystem::wifstream -WideInputFileStream; - -typedef -boost::filesystem::wofstream -WideOutputFileStream; - -typedef -boost::filesystem::ifstream -NarrowInputFileStream; +typedef std::wifstream WideInputFileStream; +typedef std::wofstream WideOutputFileStream; +typedef std::ifstream NarrowInputFileStream; namespace CXX { @@ -136,8 +128,9 @@ namespace CXX { try { - Path fs_path (path, boost::filesystem::native); - ifs.open (fs_path, std::ios_base::in | std::ios_base::binary); + Path fs_path (path); + ifs.open (fs_path.string ().c_str (), + std::ios_base::in | std::ios_base::binary); if (!ifs.is_open ()) { @@ -220,7 +213,7 @@ namespace CXX { if (NarrowString name = ops.extern_xml_schema ()) { - if (file_path.native_file_string () != name) + if (file_path.string () != name) generate_xml_schema = false; } } @@ -395,7 +388,7 @@ namespace CXX // Generate code. // - NarrowString name (file_path.leaf ()); + NarrowString name (file_path.leaf ().string ()); NarrowString skel_suffix (ops.skel_file_suffix ()); NarrowString impl_suffix (ops.impl_file_suffix ()); @@ -501,9 +494,9 @@ namespace CXX cxx_driver_name = cxx_driver_expr.replace (name); } - Path hxx_path (hxx_name, boost::filesystem::native); - Path ixx_path (ixx_name, boost::filesystem::native); - Path cxx_path (cxx_name, boost::filesystem::native); + Path hxx_path (hxx_name); + Path ixx_path (ixx_name); + Path cxx_path (cxx_name); Path hxx_impl_path; Path cxx_impl_path; @@ -511,9 +504,9 @@ namespace CXX if (impl || driver) { - hxx_impl_path = Path (hxx_impl_name, boost::filesystem::native); - cxx_impl_path = Path (cxx_impl_name, boost::filesystem::native); - cxx_driver_path = Path (cxx_driver_name, boost::filesystem::native); + hxx_impl_path = Path (hxx_impl_name); + cxx_impl_path = Path (cxx_impl_name); + cxx_driver_path = Path (cxx_driver_name); } Path out_dir; @@ -522,7 +515,7 @@ namespace CXX { try { - out_dir = Path (dir, boost::filesystem::native); + out_dir = Path (dir); } catch (InvalidPath const&) { @@ -537,7 +530,7 @@ namespace CXX // unless the user added the directory so that we propagate this // to the output files. // - Path fpt_dir (file_path.branch_path ()); + Path fpt_dir (file_path.directory ()); if (!fpt_dir.empty ()) out_dir /= fpt_dir; @@ -568,7 +561,8 @@ namespace CXX { if (!ops.force_overwrite ()) { - WideInputFileStream tmp (hxx_impl_path, ios_base::in); + WideInputFileStream tmp ( + hxx_impl_path.string ().c_str (), ios_base::in); if (tmp.is_open ()) { @@ -580,7 +574,7 @@ namespace CXX tmp.close (); } - hxx_impl.open (hxx_impl_path, ios_base::out); + hxx_impl.open (hxx_impl_path.string ().c_str (), ios_base::out); if (!hxx_impl.is_open ()) { @@ -590,11 +584,12 @@ namespace CXX } unlinks.add (hxx_impl_path); - file_list.push_back (hxx_impl_path.native_file_string ()); + file_list.push_back (hxx_impl_path.string ()); if (!ops.force_overwrite ()) { - WideInputFileStream tmp (cxx_impl_path, ios_base::in); + WideInputFileStream tmp ( + cxx_impl_path.string ().c_str (), ios_base::in); if (tmp.is_open ()) { @@ -606,7 +601,7 @@ namespace CXX tmp.close (); } - cxx_impl.open (cxx_impl_path, ios_base::out); + cxx_impl.open (cxx_impl_path.string ().c_str (), ios_base::out); if (!cxx_impl.is_open ()) { @@ -616,14 +611,15 @@ namespace CXX } unlinks.add (cxx_impl_path); - file_list.push_back (cxx_impl_path.native_file_string ()); + file_list.push_back (cxx_impl_path.string ()); } if (driver) { if (!ops.force_overwrite ()) { - WideInputFileStream tmp (cxx_driver_path, ios_base::in); + WideInputFileStream tmp ( + cxx_driver_path.string ().c_str (), ios_base::in); if (tmp.is_open ()) { @@ -635,7 +631,7 @@ namespace CXX tmp.close (); } - cxx_driver.open (cxx_driver_path, ios_base::out); + cxx_driver.open (cxx_driver_path.string ().c_str (), ios_base::out); if (!cxx_driver.is_open ()) { @@ -645,12 +641,12 @@ namespace CXX } unlinks.add (cxx_driver_path); - file_list.push_back (cxx_driver_path.native_file_string ()); + file_list.push_back (cxx_driver_path.string ()); } // Open the skel files. // - WideOutputFileStream hxx (hxx_path, ios_base::out); + WideOutputFileStream hxx (hxx_path.string ().c_str (), ios_base::out); WideOutputFileStream ixx; WideOutputFileStream cxx; @@ -661,11 +657,11 @@ namespace CXX } unlinks.add (hxx_path); - file_list.push_back (hxx_path.native_file_string ()); + file_list.push_back (hxx_path.string ()); if (inline_) { - ixx.open (ixx_path, ios_base::out); + ixx.open (ixx_path.string ().c_str (), ios_base::out); if (!ixx.is_open ()) { @@ -674,13 +670,13 @@ namespace CXX } unlinks.add (ixx_path); - file_list.push_back (ixx_path.native_file_string ()); + file_list.push_back (ixx_path.string ()); } if (source) { - cxx.open (cxx_path, ios_base::out); + cxx.open (cxx_path.string ().c_str (), ios_base::out); if (!cxx.is_open ()) { @@ -689,7 +685,7 @@ namespace CXX } unlinks.add (cxx_path); - file_list.push_back (cxx_path.native_file_string ()); + file_list.push_back (cxx_path.string ()); } // Print copyright and license. @@ -754,7 +750,7 @@ namespace CXX NarrowString guard_prefix (ops.guard_prefix ()); if (!guard_prefix) - guard_prefix = file_path.branch_path ().native_directory_string (); + guard_prefix = file_path.directory ().string (); if (guard_prefix) guard_prefix += '_'; -- cgit v1.1