RFR: JDK-8076060 Improve make bootstrap process
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 26 14:21:22 UTC 2015
Hello,
This looks like a nice cleanup. A couple of questions and notes.
Init.gmk
40: When would topdir not be set?
56, 59, 188, 215: Please break lines if possible
63: What kind of error messages?
192: Why does MAKEOVERRIDES need to be reset? Is it automatically
propagated to submake and we prefer to use USER_MAKE_VARS instead?
194: Should we have "$(INIT_TARGETS): main-init"
InitSupport.gmk
57: I agree this should be moved somewhere else. We need to split
MakeBase into one file with very basic functions like this. Can be done
later I suppose.
291: Please break line
spec.gmk.in
62: Please break line
/Erik
On 2015-03-26 11:54, Magnus Ihse Bursie wrote:
> The process of actually starting to build the proper targets in
> Main.gmk is not straightforward. Somewhat similar to how configure
> prepares the ground for make, the initial part of the make logic needs
> to handle the make process "bootstrapping".
>
> Unfortunately, this logic has been spread out in multiple places, and
> not very clear. This makes it fragile and hard to improve.
>
> This patch collects all bootstrapping logic into a new Init.gmk, with
> hopefully a clear flow showing how the system is initialized.
>
> It also improves handling of outdated spec files by a new CHECK_CONF
> control variable, along with various other small fixes to issues
> typically related to make bootstrapping. For instance, bash completion
> support for make targets is sped up considerably. A few slightly
> unrelated spring cleaning fixes are also included, for good measure.
>
> One of the ideas behind this patch is that the top-level Makefile
> should be a thin wrapper, so all actual build logic is in the make
> directory. In the end, it turned out to be best to have some sanity
> checking on make itself in that file.
>
> Going forward, I'd like to see an even better way of gathering the
> real make targets and modules, rather than polling Main.gmk. But now
> at least we're prepared for such a step.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8076060
> WebRev:
> http://cr.openjdk.java.net/~ihse/JDK-8076060-improve-make-bootstrap/webrev.01
>
> /Magnus
>
More information about the build-dev
mailing list