RFR: 8149594 - Clean up Hotspot makefiles

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Feb 12 08:22:19 UTC 2016

On 2016-02-10 23:10, Jesper Wilhelmsson wrote:
> Sending again to include the build-dev list.
> /Jesper
> Den 10/2/16 kl. 21:31, skrev Jesper Wilhelmsson:
>> Hi,
>> Please review this cleanup of the Hotspot makefiles.
>> Since I have been spending some time in the makefiles lately there 
>> were a few
>> random cleanups that I couldn't stop myself from doing. Most of these 
>> are made
>> to make the linux and bsd makefiles more alike. This has helped a lot 
>> when
>> porting the framework to the different platforms.
>> There are a couple of preparing alignment changes that I included in 
>> this
>> cleanup to make the Google test patch easier to review later.
>> There are also a couple of "real" changes:
>> * In make/bsd/makefiles/buildtree.make we set up OS_VENDOR with the 
>> motivation
>> that we don't include defs.make. Three lines below we include defs.make.

... and the very first thing we do with OS_VENDOR in defs.make is:
ifeq ($(OS_VENDOR), Darwin)
   ifneq ($(MACOSX_UNIVERSAL), true)

which will not be done if you change buildtree.make.

The old build system is a real mess. All changes can have unintended 
consequences unless carefully followed all the way.

Now, there's a separate patch on the way to remove the universal build 
(don't know the status of that one) so maybe this doesn't matter. But still.

Any "real" changes to the hotspot makefiles seems like an unneccessary 
risk at this point, at least if mixed with tons of whitespace changes.

>> * In make/bsd/makefiles/buildtree.make the 'install' target depends on
>> 'install_jsigs'. There is no rule called 'install_jsigs', it is called
>> 'install_jsig'.
So is this a bug fix? Apparently the libjsig is build properly on 
macosx, so what would this change achieve?


>> Another difference that I find interesting but that I have not 
>> changed in this
>> patch (I can do that if requested) is that in the bsd version of 
>> fastdebug.make
>> VERSION is set to "fastdebug" but in the linux version it is set to 
>> "optimized".
>> Given the name of the makefile fastdebug seems more correct, but 
>> whichever is
>> the correct value, shouldn't they be the same on linux and bsd?
>> https://bugs.openjdk.java.net/browse/JDK-8149594
>> http://cr.openjdk.java.net/~jwilhelm/8149594/webrev.00/
>> Thanks,
>> /Jesper

More information about the build-dev mailing list