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