Review Request: 8002028: build-infra: need no-hotspot partial build

Erik Joelsson erik.joelsson at oracle.com
Fri Nov 9 09:36:31 UTC 2012



On 2012-11-09 04:50, David Holmes wrote:
> On 9/11/2012 2:51 AM, Erik Joelsson wrote:
>> And a new for jdk too. This fixes solaris.
>>
>> http://cr.openjdk.java.net/~erikj/8002028/webrev.jdk.02/
>> <http://cr.openjdk.java.net/%7Eerikj/8002028/webrev.jdk.02/>
>
> Here:
>
> !         $1_SRC_FILES := $(shell $(FIND) $2 -type f -a \( -name DUMMY 
> $(addprefix -o$(SPACE)-name$(SPACE),$4) \))
>
> Is the "-name DUMMY" to account for $4 possibly being empty?
>
To make it easier to build a dynamic list of logical ORs, I add a 
something that's always false at the start. Unfortunately -false is not 
supported by find on solaris so I had to come up with something else. 
This pattern is used in several places in the new build.

>   #
>   # Import hotspot
>   #
> ! HOTSPOT_IMPORT_FILES:=$(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* 
> jsig.* sawindbg.* jvm_db.* jvm_dtrace.*) \
> !                       Xusage.txt sa-jdi.jar
> ! $(eval $(call CopyDir,HOTSPOT0, $(HOTSPOT_LIB_DIR), 
> $(INSTALL_LIBRARIES_HERE), $(HOTSPOT_IMPORT_FILES)))
> ! $(eval $(call CopyDir,HOTSPOT1, $(HOTSPOT_DIST)/lib, 
> $(JDK_OUTPUTDIR)/lib, $(HOTSPOT_IMPORT_FILES)))
>
>   JSIG_DEBUGINFO := $(strip $(wildcard 
> $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
>                     $(wildcard 
> $(HOTSPOT_DIST)/jre/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
>
> It seems to me that libjsig.diz will be handled twice due to the 
> jsig.* above.
>
The JSIG_DEBUGINFO is about generating the soft links to jsig in the 
server/client subdirs. The actual file still needs to be copied.
> Also should those foo.* really be foo.$(LIBRARY_SUFFIX) , or are there 
> other files (like .diz) that we want to include?
The .diz and .debuginfo files need to be copied as well. What my patch 
is changing is to more or less explicitly list what needs to be copied 
instead of taking everything except wb.jar like it was done previously. 
This could be more restrictive, but I didn't see the need to.
>
> Finally does all that work for windows too?
>
Yes, windows and mac have been verified.

> David
>
>> /Erik
>>
>> On 2012-11-08 15:27, Erik Joelsson wrote:
>>> New webrev for root:
>>>
>>> http://cr.openjdk.java.net/~erikj/8002028/webrev.root.02/
>>> <http://cr.openjdk.java.net/%7Eerikj/8002028/webrev.root.02/>
>>>
>>> Changed to conditional as David suggested.
>>>
>>> Improved the description and fail message in configure.
>>>
>>> /Erik
>>>
>>> On 2012-11-08 11:41, Erik Joelsson wrote:
>>>>
>>>>
>>>> On 2012-11-08 04:19, David Holmes wrote:
>>>>> Hi Erik,
>>>>>
>>>>> Two queries:
>>>>>
>>>>> 1. In Main.gmk wouldn't it be better to move the hotspot targets
>>>>> inside the conditional - that way if you ask to build hotspot when
>>>>> you are not configured to build it you will get an error.
>>>>>
>>>> I figured there would be errors when other targets depended on
>>>> hotspot, but it seems to handle it fine. In fact, I can't get it to
>>>> cause any errors at all even when trying to make hotspot explicitly.
>>>> It looks better having the complete set of rules inside the ifdefs
>>>> though.
>>>>
>>>>> 2. Why do you have to import hotspot from a full JDK ??
>>>>>
>>>> You don't. I just assumed that's how this feature was used before.
>>>> Another valid value would be the dist directory of any hotspot build.
>>>> Are there other possible ways to use this in the old build?
>>>>
>>>> /Erik
>>>>> David
>>>>>
>>>>> On 8/11/2012 1:08 AM, Erik Joelsson wrote:
>>>>>> Adding support for importing the hotspot binaries from a prebuilt
>>>>>> j2sdk
>>>>>> image. Use configure option 
>>>>>> --with-import-hotspot=/path/to/j2sdkimage
>>>>>> and the build will skip building hotspot.
>>>>>>
>>>>>> http://cr.openjdk.java.net/~erikj/8002028/webrev.jdk.01/
>>>>>> <http://cr.openjdk.java.net/%7Eerikj/8002028/webrev.jdk.01/>
>>>>>> http://cr.openjdk.java.net/~erikj/8002028/webrev.root.01/
>>>>>> <http://cr.openjdk.java.net/%7Eerikj/8002028/webrev.root.01/>
>>>>>>
>>>>>> Note that if trying this patch (or before committing it) make 
>>>>>> sure to
>>>>>> regenerate configure first and if committing, commit in
>>>>>> jdk/make/closed
>>>>>> too.
>>>>>>
>>>>>> /Erik



More information about the build-dev mailing list