On Fri, Sep 30, 2016 at 2:05 AM, Christian Aichinger <caichinger@ubimet.com> wrote:
we use Boost.Build at my company, and I'd say it works out reasonably well. My biggest gripes are documentation and the error handling.

  • "Boost Build" or "b2" are horrible names to google for. They are too generic and the results end up being mixed with "How to build the Boost C++ libraries". The old "bjam" name was better in this regard.
Hm.. Good point on that. And writing a new version would be a good time to consider a name change :-) 
  • The documentation is duplicated in several places on boost.org (/doc/libs/*/, /build/doc/). Searching usually gives a mix of those.
  • The documentation feels incomplete. Relevant information is split between the Overview, Common tasks, Extender Manual sections and the Reference with sometimes poor interlinking. This is compounded by the poor searchability. Several times I was looking for the "common syntax" but failed to find it.
We'll definitely have to figure out a way to not just improve the documentation.. But to account for user feedback of it. As right now the reference docs don't tend to change much. And about the only source of user responsive docs are in the answers we post in StackOverflow.

Error handling:
  • The error messages are pretty bad, and even after googling solutions are often not obvious.
  • We have several large codebases with internal libraries shared between them (via git submodule). Every now and then "duplicate name of actual target" comes up during seemingly unrelated changes, and fixing that error in a large project (50+ Jamfiles) is a nightmare. Making the dependency graph (and which features are passed along the graph) more inspectable would go a long way. -d+4 gives too little information for that and -d+5 way too much, IIRC.
  • Sometimes it seems that very little thought went to debugability: when things go wrong, human beings need to be able to figure out what is going on.
On the other hand, when Boost.Build works it works very well :-)

That's good to hear. 

-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail