Preliminary work on jdk build time improvements

Kelly O'Hair Kelly.Ohair at Sun.COM
Wed Sep 16 02:26:32 UTC 2009



Brad Wetmore wrote:
> 
> This is a great optimization.
> 
> A couple comments.
> 
> Platform.gmk:
> 
> Haven't quite figured out why if MAKELEVEL=0 you export $1:=$2, but only 
> export $1 if MAKELEVEL != 0.  Sure there's a good reason why, doc'ing it 
> would be appreciated.

The $2 is the thing you don't want evaluated on submakes.
I'll expand the comments on this before I'm done.

> 
> 48/49:  (if $(strip $1)...
> 
> according to the gnumake docs:
> 
>     $(if condition,then-part[,else-part])
> 
>     The first argument, condition, first has all preceding and trailing
>     whitespace stripped, then is expanded...
> 
> I don't think you need to specifically strip.

That documentation fooled me too. The strip is needed, I suspect
that it may be doing the strip before it evaluates the argument, and if
the argument expands into " xyz", the space is still there.
So I found that I had to use an explicit strip for it to work.

> 
> I like the $(or...) mods.  Cleans up the logic very nicely.

Yeah, I thought so too.

> 
> Defs-windows.gmk
> 
> Not sure why you added 2 spaces of indention on lines 85-87.

Yeah, I'll delete that.

The define/endef constructs are whitespace preserving, so they
really should not be indented, but in general I prefer to indent
the makefile logic if I can, makes it easier to read.
But this entire block should not be indented.

Thanks for the review.

-kto

> 
> Brad
> 
> 
> Kelly O'Hair wrote:
>>
>> Here is a preliminary (and incomplete) webrev on some changes
>> I've been working on to reduce the build time.
>>
>> 6875240: Reduce Makefile build time by limiting repeated exec's 
>> (mostly for cygwin building)
>>
>> http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-cygwin/webrev/
>>
>> The Windows cygwin builds will benefit the most on this, but
>> all platforms will get some benefits.
>>
>> Comments and suggestions on this are welcome.
>>
>> -kto



More information about the build-dev mailing list