RFR: 8368468: Split out everything but configure results from spec.gmk

Erik Joelsson erikj at openjdk.org
Tue Sep 23 17:41:03 UTC 2025


On Tue, 23 Sep 2025 13:48:20 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> Most of spec.gmk contains lines on the form:
> 
> VAR := @VAR@
> 
> which are setup using `AC_SUBST(VAR)` in the configure script. However, there are also some other stuff there, which are mostly put there since we had no other good place to do so.
> 
> I have now created a new file, `CommonVars.gmk`, which is automatically included, and moved everything but pure configure assignments from `spec.gmk` into this file.
> 
> That makes `spec.gmk` a great interface between configure and make -- the job of configure is to fill in `spec.gmk`, plain and simple.
> 
> This refactoring also points to additional future improvements, e.g. generating `spec.gmk` automatically from all `AC_SUBST` statements, and to clean up the new `CommonVars.gmk`. Right now I kept all lines in the same order as they appeared in `spec.gmk.template`, to minimize risk of unintentional changes (we have some non-`:=` assignments), and to facilitate comparison for this patch. It is also clear that we have room for improvement in how we do bootcycle-builds and build the build-jdk. My current solution is to keep the special spec files, even if they just set a single special flag, to minimize impact of this patch.

Marked as reviewed by erikj (Reviewer).

make/common/CommonVars.gmk line 222:

> 220: 
> 221: # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ...
> 222: # Use = assignment to be able to override in bootcycle-spec.gmk

This comment isn't correct anymore.

-------------

PR Review: https://git.openjdk.org/jdk/pull/27452#pullrequestreview-3259014444
PR Review Comment: https://git.openjdk.org/jdk/pull/27452#discussion_r2373028906


More information about the build-dev mailing list