Merge lp:~wence/fluidity/make-fixes into lp:fluidity
Status: | Superseded |
---|---|
Proposed branch: | lp:~wence/fluidity/make-fixes |
Merge into: | lp:fluidity |
Diff against target: |
286 lines (+102/-35) 5 files modified
Makefile.in (+7/-6) libwm/Makefile.in (+2/-1) preprocessor/Makefile.in (+6/-6) scripts/make_check_options (+44/-11) scripts/make_register_diagnostics (+43/-11) |
To merge this branch: | bzr merge lp:~wence/fluidity/make-fixes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Fluidity Core Team | Pending | ||
Review via email: mp+60897@code.launchpad.net |
This proposal has been superseded by a proposal from 2011-06-27.
Commit message
Reduce spurious recompilations in clean or mostly-clean trees
Avoid touching lib/libfluidity.a unless actually necessary. This comes in a few parts:
o Use bzr revision-info to set up Fluidity's version number (and only update confdefs.h if the version changed)
o Calculate hashes of the check_options and register_
o Avoid depending on .PHONY targets that just point directly at actual targets
Description of the change
Various small fixes to decrease build times in mostly built trees.
The main effect of the change is to avoid touching lib/libfluidity.a as much as possible. Timing example, in a just-built tree:
before:
$ time make all
real 0m40.936s
user 0m19.053s
sys 0m21.117s
after:
$ time make all
real 0m11.736s
user 0m7.471s
sys 0m4.223s
As a bonus, the version-number fluidity reports is now meaningful again.
Hi Lawrence,
Looks like great work. I've always found this business of the build being slow quite annoying.
I tried it out, and it changed the time from 9s to 7s on my workstation. Quick question: there is a noticeable delay at the start of the build now, as it calls bzr version-info; it appears like it isn't doing anything for a second or two. Is there any way to speed up the bzr version-info, or is that just how long it takes, and there's nothing we can do? With your change, but without the bzr version-info, it takes just 3s to compile on my workstation.