diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-17 11:10:51 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-17 11:10:51 +0200 |
commit | d45dbc807adc05bc03437116659c6abd4f5174c8 (patch) | |
tree | a7fca97c8bdc6d745b09e99b500f2099d7e5f818 | |
parent | b53318dcc9f2c34db0689225ec0bc2c70c28daf7 (diff) |
Use portable ifdstream from libbutl instead of GNU stdio_filebuf
-rw-r--r-- | build/buildfile | 4 | ||||
-rw-r--r-- | build/cxx/module.cxx | 8 | ||||
-rw-r--r-- | build/cxx/rule.cxx | 8 |
3 files changed, 9 insertions, 11 deletions
diff --git a/build/buildfile b/build/buildfile index 9ea95d5..7d3a32a 100644 --- a/build/buildfile +++ b/build/buildfile @@ -1,3 +1,5 @@ +import libs += libbutl + config = config/{operation module utility} bin = bin/{target rule module} cxx = cxx/{target rule module} @@ -5,7 +7,7 @@ cxx = cxx/{target rule module} exe{b}: cxx{b algorithm name operation spec scope variable target \ prerequisite rule file module context search diagnostics token lexer \ parser process timestamp path path-io utility filesystem dump options \ - $config $bin $cxx} + $config $bin $cxx} $libs #@@ TODO # diff --git a/build/cxx/module.cxx b/build/cxx/module.cxx index a511757..6efc1ed 100644 --- a/build/cxx/module.cxx +++ b/build/cxx/module.cxx @@ -4,8 +4,7 @@ #include <build/cxx/module> -#include <istream> -#include <ext/stdio_filebuf.h> +#include <butl/fdstream> #include <build/path> #include <build/scope> @@ -17,6 +16,7 @@ #include <build/config/utility> using namespace std; +using namespace butl; namespace build { @@ -68,9 +68,7 @@ namespace build try { process pr (args, false, false, true); - - __gnu_cxx::stdio_filebuf<char> fb (pr.in_ofd, ios_base::in); - istream is (&fb); + ifdstream is (pr.in_ofd); bool r (getline (is, ver)); diff --git a/build/cxx/rule.cxx b/build/cxx/rule.cxx index 9248777..f63c92a 100644 --- a/build/cxx/rule.cxx +++ b/build/cxx/rule.cxx @@ -9,9 +9,8 @@ #include <cstddef> // size_t #include <cstdlib> // exit #include <utility> // move() -#include <istream> -#include <ext/stdio_filebuf.h> +#include <butl/fdstream> #include <build/scope> #include <build/variable> @@ -26,6 +25,7 @@ #include <build/cxx/target> using namespace std; +using namespace butl; namespace build { @@ -279,9 +279,7 @@ namespace build try { process pr (args.data (), false, false, true); - - __gnu_cxx::stdio_filebuf<char> fb (pr.in_ofd, ios_base::in); - istream is (&fb); + ifdstream is (pr.in_ofd); for (bool first (true); !is.eof (); ) { |