Skip to content
This repository was archived by the owner on Feb 24, 2020. It is now read-only.

Conversation

@grahamwhaley
Copy link

QEMU would always be configured and built for every make. Fix this to reduce the development cycle.

This fix is also desirable for a follow on patchset that adds the ability in the QEMU Makefile to apply patches to QEMU before building.

 QEMU was constantly re-configured and built for every make. This
is not necessary. The root cause was the CONF stamp stage, which
was the target for the git clone and then configure steps, but had
no rule to actually generate the stamp file, so made the configure
stage think we had always just cloned (in effect).
 Remove the CLONE stamp stage, and make the git clone directly
trigger the configure step.
@grahamwhaley
Copy link
Author

@krnowak PTAL

@grahamwhaley
Copy link
Author

CC @lucab - not sure if krnowak is the correct reviewer for this - but seems to be the makelib and thus makefile/build system owner?
As noted in the merge message - not only does this fix an annoying 'reconfigure and rebuild QEMU every single time' issue, but it allows me to send another PR that adds patching ability to the QEMU makefile so we can then apply the patches to fix #1917

@lucab
Copy link
Member

lucab commented Dec 13, 2016

@grahamwhaley yep, @krnowak made the makelib but he's only sporadically around. The specific qemu.mk however is more recent and introduced by @jjlakis (which is probably also not around).

I have generic knowledge of the build system but not of this specific makefile, however overall this LGTM.

@jjlakis
Copy link

jjlakis commented Dec 13, 2016

@grahamwhaley Big up for this PR, I've been thinking about this issue. What step exactly determines if qemu will be configured & built for each make or not? Is it GCL_TARGET?

@grahamwhaley
Copy link
Author

grahamwhaley commented Dec 13, 2016

Hi @jjlakis - yes, afaict the GCL_TARGET pointed at the CLONE_STAMP, but there was no actual rule to make the CLONE_STAMP, so it always saw that stamp file as missing, so always did a reconfig that then made a rebuild happen. It took some 'make -d V=3' and squinting, and time, to try and figure that out ;-)

@jjlakis
Copy link

jjlakis commented Dec 14, 2016

Good job, LGTM.

@s-urbaniak s-urbaniak added this to the v1.22.0 milestone Dec 14, 2016
Copy link
Member

@lucab lucab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lucab lucab merged commit 670c36d into rkt:master Dec 14, 2016
@lucab lucab mentioned this pull request Jan 5, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants