RFR: 8010785: JDK 8 build on Linux fails with new build mechanism

Erik Joelsson erik.joelsson at oracle.com
Mon Apr 15 08:30:07 UTC 2013

On 2013-04-11 18:50, Mike Duigou wrote:
> On Apr 11 2013, at 03:53 , Erik Joelsson wrote:
>> Open part of this review.
>> The licensee bundles aren't buildable with the new build for several reasons. I've tried to fix all the issues that I've found and have now
>> successfully built them on linux, windows and solaris. Here is a list of the changes that I had to do to OpenJDK:
>> * Filter out javascript src when the rhino source isn't available. Also do not copy rhino resource files when not available. This is controlled by a new variable, INCLUDE_JAVASCRIPT, which we control from closed configure and shouldn't affect the OpenJDK build. I also moved the copying of the resources to the correct makefile, CopyIntoClasses.gmk.
> The new variable appears to only be valid in ifndef OPENJDK contexts (CopyIntoClasses for the most obvious example). I believe that wherever possible we should push build variables to global scope so that future maintainers who may not understand the correct usage context are more likely to use them correctly. It also makes it easier for an external developer to provide their own recipe for the feature. If some OpenJDK dev wanted to add a recipe for including javascript as part of their bundles they wouldn't be able to hook into this feature because were conditionalizing it in ifndef OPENJDK.
But the variable INCLUDE_JAVASCRIPT is only valid in an ifndef OPENJDK 
context and I can't see a correct usage of it outside of that. Perhaps 
it's confusing to have a variable at all? I could put a $(wildcard ) 
check for the existence of the source directly at each location instead, 
making it more obvious what the condition is for, but I wanted to avoid 
repeating code. The variable could have a different name to make it more 
obvious I suppose. I also thought it was good policy to clearly put the 
ifndef OPENJDK checks wherever things were Oracle specific to make that 


More information about the build-dev mailing list