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/hotspot-runtime-dev/attachments/20130404/f41c08f6/attachment.html 


More information about the hotspot-runtime-dev mailing list