1

I have a large project that uses boost.build. I would like a way to view the dependency tree for specific build targets.

For example:

exe foo : foo.c /BAR//LIB : /MEOW//PUB ;

The dependencies of foo would include all requirements of /BAR//LIB and all usage requirements of /MEOW//PUB.

Is there such functionality built into boost.build, or is there a tool available to do this?

Toonces
  • 11
  • 1

1 Answers1

2

You can pass the command line option '-d3' to print a make tree (among other things). Also use '-n' to not actually build any target.

Note that the make tree is not exactly a dependency tree -- e.g. it omits recurrences of targets -- but it is usually close enough for debugging purposes. It should be intuitive enough to read. For each encountered target a few things are printed: First that the target has been encountered, then to which actual path the target has been bound (resolved), then its time (or missing respectively unbound (for pseudo-targets)), recursively the information for its dependencies (indented 1 additional space each level), and finally the decision whether the target has to be made/has been made.

user686249
  • 617
  • 5
  • 15