Merge lp:~wence/fluidity/make-fixes into lp:fluidity
Status: | Merged |
---|---|
Merged at revision: | 3509 |
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 |
---|---|---|---|
Tim Bond (community) | Approve | ||
Review via email: mp+65996@code.launchpad.net |
This proposal supersedes a proposal from 2011-05-13.
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
I think I've addressed all of the comments (mostly mine) below, and copyright assignments are in, so I think this is good to go. Here's the original description:
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.