Boost logo

Boost-Build :

Subject: Re: [Boost-build] Is there any way to prevent Boost.Build fromrecursively scanning header files for #include directives?
From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2009-04-29 04:32:06


Thorsten Ottosen wrote:
> Johan Nilsson skrev:
>> Lin Luo wrote:
>
>> Regarding speed improvements: For a specific project I went from 42s
>> to 28s for a null build (no updates) from root when using
>> "--fastbuild" (after warming up the disk cache before each attempt).
>> The actual improvement obviously depends on how many skipped/static
>> headers you actually use, so YMMV.
>
> So it does seem like there is some speedup to gain.

Yes, even though one must trade correctness for speed.

For my personal use though, I generally only perform very local edits +
compilation + tests in short cycles, and I _know_ that e.g. the standard
headers or the boost headers won't change in between those - so why always
check them? When I'm happy with a set of changes I submit the code to
version control, where the changes are picked up by our CI server which runs
the build with full dependency checking.

There's of course the not-so-slight-chance that the jam module I posted
isn't entirely correct, but I've been running some tests for it using the
Boost.Build test system and have used it for a while without noticing any
specific problems.

> I think it takes quite a while before bjam actually calls the compiler
> on my platform. It would be great if it could be improved.

I hope so. Another possible extension/addition to this scanner would be to
_only_ check dependencies for certain headers as an alternative option to
excluding certain headers. Perhaps something like this:

>bjam --fastbuild --extcscan-checkonly ^boost/assign/

/ Johan


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk