Erik: Looks good.
Tim
This is a fix for a problem brought up on this list [1]. The main issue is that when cross compiling, and creating a buildjdk during the build, the UnixConstants.java cannot necessarily be reused between the target JDK and the buildjdk. While investigating this, I came to the conclusion that we really should stop trying to reuse anything between the buildjdk and target JDK. It's just becoming too complex to maintain (due to the intricate interactions with the interim-image, generate-link-opt-data and exploded-image-optimize targets, causing circular dependencies and endless incremental rebuilds). So this fix simply removes all the reuse of buildtools, gensrc and java compilation when creating a buildjdk. Hopefully this is making Main.gmk a bit less convoluted. While working on this, I came up with the idea of adding a log prefix functionality, to more easily discern which log lines were printed by the buildjdk build and which were part of the normal build. I liked this a lot so including that in the same fix, and applied it to the bootcycle build as well. Bug: https://bugs.openjdk.java.net/browse/JDK-8217739 Webrev: http://cr.openjdk.java.net/~erikj/8217739/webrev.01/index.html /Erik [1] http://mail.openjdk.java.net/pipermail/build-dev/2019-January/024729.html