aboutsummaryrefslogtreecommitdiff
path: root/build/b.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-01-08 13:27:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-01-08 13:27:15 +0200
commitab4421747146aa7995f0cfb1a639c9121c82c915 (patch)
treedeb08893c02ed0238f73becbbe80ede5568b946e /build/b.cxx
parentd3e624ef7c0fb274e62b81c4c7bd59640770520a (diff)
Implement tracing support
Also use to-relative path translation in diagnostics.
Diffstat (limited to 'build/b.cxx')
-rw-r--r--build/b.cxx27
1 files changed, 20 insertions, 7 deletions
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))
{