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

Magnus Ihse Bursie ihse at openjdk.org
Tue Sep 23 14:48:36 UTC 2025


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.

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

Commit messages:
 - 8368468: Split out everything but configure results from spec.gmk

Changes: https://git.openjdk.org/jdk/pull/27452/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27452&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8368468
  Stats: 941 lines in 12 files changed: 475 ins; 413 del; 53 mod
  Patch: https://git.openjdk.org/jdk/pull/27452.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27452/head:pull/27452

PR: https://git.openjdk.org/jdk/pull/27452


More information about the build-dev mailing list