RFR (XXS): 8011400: missing define OPENJDK for windows builds (hsx24)
Markus Grönlund
markus.gronlund at oracle.com
Thu Apr 4 12:33:36 PDT 2013
Thanks Dan for taking a look.
Updated webrev:
http://cr.openjdk.java.net/~mgronlun/8011400/webrev02/
Comments below.
Cheers
Markus
From: Daniel D. Daugherty
Sent: den 4 april 2013 19:03
To: Markus Grönlund
Cc: hotspot-runtime-dev at openjdk.java.net; serviceability-dev at openjdk.java.net; 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: HYPERLINK "http://cr.openjdk.java.net/%7Emgronlun/8011400/webrev01/"http://cr.openjdk.java.net/~mgronlun/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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130404/f41c08f6/attachment.html
More information about the serviceability-dev
mailing list