Boost logo

Boost-Build :

Subject: Re: [Boost-build] B2 C++ engine development.
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-10-25 17:41:22


On 10/24/2018 09:58 PM, Rene Rivera via Boost-build wrote:
> One of my goals in the future of B2 is to move the engine to something
> easier to maintain and improve. As such it's my goal to incrementally
> rewrite the engine component of B2 in C++. Yesterday I completed an initial
> step in that by having B2 compile as C++ instead of ANSI C. The code
> changes are in the "feature/cxx" branch and from outward appearances it's
> exactly the same as before except that the build scripts now invoke the C++
> compiler (only lightly tested for the compilers I have available). First
> con of this is that the executable is slightly fatter (about 20K on OSX).
> But also the first pro, it's about 4% faster.

Any explanation for this? Are the build options
exactly the same other than -x c++? The code
changes don't look significant, so is it just
that the stricter rules of C++ allow the optimizer
more freedom? It looks like you're not linking
the C++ runtime (which was my first guess about
the binary size increase).

> The idea is to merge this to develop, and eventually master, and continue
> the C++ work based from those (as PRs).

- Is there a reason that you eliminated the two stage
  bootstrap process? Among other issues, you've made it
  impossible to create a debug build of b2.
- While I support removing bjam, it's an entirely
  separate change.
- Before this goes live, I'd like to see the files
  renamed to *.cpp.
- What language standard are we targeting? filesystem
  is C++17.

In Christ,
Steven Watanabe

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at