RFR: JDK-8170632 Stop modifying VERSION_OPT for adhoc builds on reconfigure

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Dec 1 22:39:08 UTC 2016

Our current default is to create a version-opt string on the format 
'<timestamp>.<username>.<base dir name>' during configure.

The problem with this is that each time the configure script has change, 
a reconfigure is triggered. This will create a new version-opt, and 
hence a new version string. This in turn will trigger a rebuild of 
hotspot and java.base, and that in turn rebuilds the whole world.

It does not have to be like that. In fact, storing the time stamp of the 
last configure, rather than the time stamp of the last build is rather 
silly anyhow.

In a perfect world we could just update the version-opt string and have 
this resulting in an extremely short rebuild time. Unfortunately, we do 
not live in a perfect world, and here it makes more sense to drop the 

Note that this only affects adhoc (developer) builds.

Bug: https://bugs.openjdk.java.net/browse/JDK-8170632

Patch inline:
diff --git a/common/autoconf/jdk-version.m4 b/common/autoconf/jdk-version.m4
--- a/common/autoconf/jdk-version.m4
+++ b/common/autoconf/jdk-version.m4
@@ -160,11 +160,10 @@
      if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
-      # Default is to calculate a string like this 
<timestamp>.<username>.<base dir name>
-      timestamp=`$DATE '+%Y-%m-%d-%H%M%S'`
+      # Default is to calculate a string like this 
'adhoc.<username>.<base dir name>'
        # Outer [ ] to quote m4.
        [ basedirname=`$BASENAME "$TOPDIR" | $TR -d -c 
'[a-z][A-Z][0-9].-'` ]
-      VERSION_OPT="$timestamp.$USERNAME.$basedirname"
+      VERSION_OPT="adhoc.$USERNAME.$basedirname"


More information about the build-dev mailing list