RFR: 7181175 Enable hotspot builds on Windows with MinGW/MSYS

Tim Bell tim.bell at oracle.com
Fri Aug 3 21:58:30 UTC 2012


Thanks, Dan

How about this for a commit message:

7181175: Enable builds on Windows with MinGW/MSYS
Summary: This fix is the minimum number of Makefile changes to enable 
building HotSpot with MinGW/MSYS
Contributed-by: volker.simonis at gmail.com
Reviewed-by: jcoomes, dcubed,

Tim

On 08/03/12 13:45, Daniel D. Daugherty wrote:
> Thumbs up on this version.
>
> Do you have a commit message ready for this patch?
>
> Dan
>
>
> On 8/3/12 1:26 PM, Tim Bell wrote:
>> On 08/02/12 14:20, Daniel D. Daugherty wrote:
>>>> http://cr.openjdk.java.net/~tbell/7181175/webrev.01/
>>>
>> Thanks for the review, Dan.
>>
>>> make/windows/makefiles/defs.make
>>>     No comments.
>>>
>>> make/windows/makefiles/rules.make
>>>     lines 28-33: Might want to comment on why these paths still
>>>         use backslash instead of forward slash.
>>
>> OK - done.
>>
>>> make/windows/makefiles/sa.make
>>
>> Oops, my error.  Thanks for catching these, Dan.  This goes to show 
>> how long these MinGW/MSYS changes have been in play...
>>
>>> lines 88, 90:
>>>         These lines drop the "/YX" option instead of changing it to 
>>> "-YX".
>>
>> Fixed.
>>
>>> line 97:
>>>         This line adds back the "-Z" option and drops the "/YX" option
>>>         instead of changing it to "-YX".
>>
>> I added back the -YX and removed -Z.
>>
>>>         The "-Z" option is conditionally added on line 99.
>>
>> Ah - I see it now.  Good.
>>
>>> line 106:
>>>         This line adds back the "-map -debug" options.
>>>
>>>         The "-map" and "-debug" options are conditionally added on 
>>> line 108.
>>
>> Fixed.
>>
>>> make/windows/makefiles/shared.make
>>>     line 43: Might want to comment on why these paths still
>>>         use backslash instead of forward slash.
>>
>> OK - done.
>>
>>
>> I submittted a new JPRT test job with these changes 
>> (2012-08-03-171845.tbell.hotspot) that completed successfully.
>>
>> New webrev here:
>>
>> http://cr.openjdk.java.net/~tbell/7181175/webrev.02/
>>
>> Or if you prefer, here are the diffs relative to my previous webrev:
>>
>>> +SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 $(GX_OPTION) -Od -D 
>>> "WIN32" -D "WIN64" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D 
>>> "_MBCS" -YX -FD -c
>>>  !elseif "$(BUILDARCH)" == "amd64"
>>> -SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 $(GX_OPTION) -Od -D 
>>> "WIN32" -D "WIN64" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D 
>>> "_MBCS" -FD -c
>>> +SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 $(GX_OPTION) -Od -D 
>>> "WIN32" -D "WIN64" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D 
>>> "_MBCS" -YX -FD -c
>>>  !if "$(COMPILER_NAME)" == "VS2005"
>>>  # On amd64, VS2005 compiler requires bufferoverflowU.lib on the 
>>> link command line,
>>>  # otherwise we get missing __security_check_cookie externals at 
>>> link time.
>>>  SA_LD_FLAGS = bufferoverflowU.lib
>>>  !endif
>>>  !else
>>> -SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 -Gm $(GX_OPTION) -ZI 
>>> -Od -D "WIN32" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D "_MBCS" 
>>> -FD -GZ -c
>>> +SA_CFLAGS = -nologo $(MS_RUNTIME_OPTION) -W3 -Gm $(GX_OPTION) -Od 
>>> -D "WIN32" -D "_WINDOWS" -D "_DEBUG" -D "_CONSOLE" -D "_MBCS" -YX 
>>> -FD -GZ -c
>>>  !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
>>>  SA_CFLAGS = $(SA_CFLAGS) -ZI
>>>  !endif
>>> @@ -103,7 +103,7 @@
>>>  SA_LD_FLAGS = -manifest $(SA_LD_FLAGS)
>>>  !endif
>>>  SASRCFILE = $(AGENT_DIR)/src/os/win32/windbg/sawindbg.cpp
>>> -SA_LFLAGS = $(SA_LD_FLAGS) -nologo -subsystem:console -map -debug 
>>> -machine:$(MACHINE)
>>> +SA_LFLAGS = $(SA_LD_FLAGS) -nologo -subsystem:console 
>>> -machine:$(MACHINE)
>>>  !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
>>>  SA_LFLAGS = $(SA_LFLAGS) -map -debug
>>>  !endif
>>> --- /x/jdk8/7181175/hotspot.00/make/windows/makefiles/shared.make 
>>> 2012-07-18 12:11:25.954735638 -0700
>>> +++ /x/jdk8/7181175/hotspot/make/windows/makefiles/shared.make 
>>> 2012-08-03 10:15:53.249176409 -0700
>>> @@ -36,6 +36,7 @@
>>>
>>>
>>>  !ifdef SUBDIRS
>>> +# \ is used below because $(MAKE) is nmake here, which expects 
>>> Windows paths
>>>  $(SUBDIRS): FORCE
>>>         @if not exist $@ mkdir $@
>>>         @if not exist $@/local.make echo # Empty > $@/local.make
>>>
>>
>>





More information about the build-dev mailing list