From: Greg Wilding (greg_at_[hidden])
Date: 2006-04-06 12:55:24
I'm wondering of there is a way to disable the dependency check (binding?) when bjam is invoked. I find that 95% of the time I only need to compile one file and then re-link an executable.
I know this sounds like heresy, so here's a little background so you know where I'm coming from... My team is using boost to build a project that consists of around 8000 source files organized into 100 or so subprojects (Jamfiles). The build produces about 50 binaries from a large library of shared source code. The build works for Linux and Solaris.
We are using boost because we require a reliable incremental build after a workspace has been updated. When bjam is invoked, it takes around 60 seconds before any compiling starts on a 3Ghz Machine (I'm assuming that most of this time is checking dependencies).
I can accept that scanning all the dependencies will take some time, I just want to be able to skip this step when I know only one file has changed. Even when a single target is passed to bjam (ex. bjam foo.o) the dependency
scan still takes about 50 seconds.
Ideally, I would like to be able to run something like "bjam foo.o -nodepend" to avoid waiting 50 seconds. I am open to build architecture suggestions also.
I'm using bjam version 3.1.11.
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