Implicit assumptions in Images.gmk: find errors

Erik Joelsson erik.joelsson at oracle.com
Mon Nov 26 00:20:34 PST 2012


It can still be put inside an "ifneq ($(wildcard 
$(JDK_OUTPUTDIR)/demos),)" which should prevent it from executing.

/Erik


On 2012-11-25 23:36, David Holmes wrote:
> On 26/11/2012 4:05 AM, Kelly O'Hair wrote:
>> That sounds right.
>>
>> The demos really need to be built from the built jdk image.
>> So in my opinion, the demos should follow the jdk image creation.
>
> The actual building of the demos does.
>
> The problem is that the logic that sets up the lists of files for 
> various targets is always executed, regardless of which target has 
> been requested.
>
> David
> -----
>
>> I think in the old build it was a bit mixed up as to when the demos 
>> were built.
>>
>> -kto
>>
>> On Nov 23, 2012, at 12:20 AM, Erik Joelsson wrote:
>>
>>> We could condition these finds on the existence of these 
>>> directories. I think that would be the cleanest implementation as it 
>>> would logically act the same as now, just with less noise and execs.
>>>
>>> /Erik
>>>
>>> On 2012-11-23 01:19, David Holmes wrote:
>>>> Some of the constructs in Images.gmk implicitly assume that you are 
>>>> always building a JDK image and a JRE image. Ie.:
>>>>
>>>> JDK_DEMO_TARGETS := $(patsubst 
>>>> $(JDK_OUTPUTDIR)/demo/%,$(JDK_IMAGE_DIR)/demo/%,\
>>>>                         $(shell $(FIND) $(JDK_OUTPUTDIR)/demo ! \( 
>>>> -name "_the*" -o -name "javac_state" \) ))
>>>>
>>>> and:
>>>>
>>>> # /sample dir
>>>> $(foreach f,$(shell $(FIND) $(JDK_OUTPUTDIR)/sample -type f),\
>>>>     $(eval $(call 
>>>> AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_IMAGE_DIR),$f,JDK_SAMPLE_TARGETS))) 
>>>>
>>>>
>>>>
>>>> will both attempt to issue "find" in a directory that may not exist 
>>>> (jdk/demo and jdk/sample respectively) if you are not building a 
>>>> jdk image.
>>>>
>>>> Fortunately (or perhaps erroneously?) these find failures do not 
>>>> cause make to fail, they just generate noisy output (which of 
>>>> course is how I noticed it).
>>>>
>>>> Not sure what the solution is or if it is just something we have to 
>>>> live with. There is an awful lot of setup needed to build images, 
>>>> but some of it is dependent on what image has been requested.
>>>>
>>>> Cheers,
>>>> David
>>



More information about the build-infra-dev mailing list