From ab4421747146aa7995f0cfb1a639c9121c82c915 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 Jan 2015 13:27:15 +0200 Subject: Implement tracing support Also use to-relative path translation in diagnostics. --- build/b.cxx | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'build/b.cxx') diff --git a/build/b.cxx b/build/b.cxx index a5123f1..ad68e21 100644 --- a/build/b.cxx +++ b/build/b.cxx @@ -110,6 +110,8 @@ namespace build void dump () { + cout << endl; + for (const auto& pt: targets) { target& t (*pt); @@ -123,6 +125,8 @@ namespace build cout << endl; } + + cout << endl; } } @@ -138,10 +142,16 @@ using namespace build; int main (int argc, char* argv[]) { + tracer tr ("main"); + // Initialize time conversion data that is used by localtime_r(). // tzset (); + // Trace verbosity. + // + verb = 5; + // Register target types. // target_types.insert (file::static_type); @@ -200,12 +210,15 @@ main (int argc, char* argv[]) else out_root = out_base.directory (src_base.leaf (src_root)); - cerr << "work dir: " << work << endl; - cerr << "home dir: " << home << endl; - cerr << "out_base: " << out_base << endl; - cerr << "src_base: " << src_base << endl; - cerr << "out_root: " << out_root << endl; - cerr << "src_root: " << src_root << endl; + if (verb >= 4) + { + tr << "work dir: " << work.string (); + tr << "home dir: " << home.string (); + tr << "out_base: " << out_base.string (); + tr << "src_base: " << src_base.string (); + tr << "out_root: " << out_root.string (); + tr << "src_root: " << src_root.string (); + } // Parse buildfile. // @@ -267,7 +280,7 @@ main (int argc, char* argv[]) if (!match_recursive (d)) return 1; // Diagnostics has already been issued. - //dump (); + dump (); switch (update (d)) { -- cgit v1.1