On 4/4/13 1:33 PM, Markus Grönlund wrote:
Thanks Dan for taking a look.
Updated webrev:
http://cr.openjdk.java.net/~mgronlun/8011400/webrev02/
<http://cr.openjdk.java.net/%7Emgronlun/8011400/webrev02/>
make/windows/build.make
make/windows/makefiles/trace.make
make/windows/projectfiles/common/Makefile
No comments.
Thumbs up!
Dan
Comments below.
Cheers
Markus
*From:*Daniel D. Daugherty
*Sent:* den 4 april 2013 19:03
*To:* Markus Grönlund
*Cc:* [email protected];
[email protected]; Alejandro Murillo; Chris Gruszka;
John Coomes; Tim Bell
*Subject:* Re: RFR (XXS): 8011400: missing define OPENJDK for windows
builds (hsx24)
On 4/3/13 2:02 PM, Markus Grönlund wrote:
Greetings,
Please review the following changes to allow building hsx24 from the
command-line on Windows:
Bugid: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8011400
Webrev: http://cr.openjdk.java.net/~mgronlun/8011400/webrev01/
<http://cr.openjdk.java.net/%7Emgronlun/8011400/webrev01/>
make/windows/build.make
201 !if exist($(WorkSpace)\src\closed)
202 !else
203 OPENJDK=true
204 !endif
I'm not fond of the empty 'if-statement' style. Does this
variation work:
*/[MG] /*
*/I agree on the inverted style being weird. However, nmake does not
allow me to do/*
!if not exist($(WorkSpace)\src\closed)
OPENJDK=true
!endif
*/[MG] /*
*/When I do this, nmake comes back with/*
*//*
*/Microsoft (R) Program Maintenance Utility Version 10.00.30319.01/*
*/Copyright (C) Microsoft Corporation. All rights reserved./*
*//*
*/D:\hotspot_src\hsx\24\hotspot_5_apr/make/windows/build.make(198) :
fatal error U/*
*/1023: syntax error in expression/*
*/Stop./*
*/[MG] /*
*/However, I found that nmake was kind enough to let me do this:/*
*//*
*# if hotspot-only build and/or OPENJDK isn't passed down, need to set
OPENJDK*
*!ifndef OPENJDK*
*!if !exists($(WorkSpace)\src\closed)*
*OPENJDK=true*
*!endif*
*!endif*
Also, when I grep make/windows, I see:
make/windows/build.make:!if exists($(WorkSpace)\src\closed)
make/windows/makefiles/vm.make:!if exists($(ALTSRC)\share\vm)
and I see:
make/windows/makefiles/adlc.make: if exist $(AdlcOutDir)
rmdir /s /q $(AdlcOutDir)
when used as part of a rule. So I have to wonder if your:
201 !if exist($(WorkSpace)\src\closed)
should really be a:
201 !if exists($(WorkSpace)\src\closed)
since your new use is not part of a rule.
*/[MG] /*
*/Thanks for spotting this. I updated to reflect !if !exists(...)
instead as above. Both works equally well on my machine however
("exist" or "exists")./*
make/windows/makefiles/trace.make
Does the now unprotected "rm" need an option to not fail if those
files don't exist?
*/[MG] /*
*/ I took out the conditional since the file generation is in fact not
-- there (currently) always will be tracefiles generated. In this
regard it currently behaves just like $(JvmtiGeneratedFiles). Should
probably change the file generation code if its possible, but that is
larger and will have to go separately./*
make/windows/projectfiles/common/Makefile
49 !if exist($(WorkSpace)\src\closed)
50 !else
51 OPENJDK=true
52 !endif
Same comments as above...
Dan
Comment:
Transform missing define information from example in
make/linux/makefiles/buildtree.make onto make/windows/build.make.
Thanks
Markus