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: [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: 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
