On 9 okt 2013, at 18:06, Daniel D. Daugherty <daniel.daughe...@oracle.com> 
wrote:

> 
> On 10/9/13 9:03 AM, Daniel D. Daugherty wrote:
>> Replies also inline...
>> 
>> 
>> On 10/9/13 6:02 AM, David Holmes wrote:
>>> inline ...
>>> 
>>> On 9/10/2013 8:59 AM, Daniel D. Daugherty wrote:
>>>> On 10/1/13 8:52 PM, David Holmes wrote:
>>> 
>>>>> - make/bsd/makefiles/universal.gmk
>>>>> 
>>>>> I did not understand the additional logic here:
>>>>> 
>>>>>  63 # Copy built non-universal binaries in place
>>>>>  64 $(UNIVERSAL_COPY_LIST):
>>>>>  65         BUILT_COPY_FILES="`find
>>>>> $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@)
>>>>> 2>/dev/null`"; \
>>>>>  66         if [ -n "$${BUILT_COPY_FILES}" ]; then \
>>>>>  67           for i in $${BUILT_COPY_FILES}; do \
>>>>>  68             if [ -f $${i} ]; then \
>>>>>  69               $(MKDIR) -p $(shell dirname $@); \
>>>>>  70               $(CP) -R $${i} $@; \
>>>>>  71             fi; \
>>>>>  72             if [ -d $${i} ]; then \
>>>>>  73               $(MKDIR) -p $@; \
>>>>>  74             fi; \
>>>>>  75           done; \
>>>>>  76         fi
>>>>> 
>>>>> until I realized that foo.dSYM is a directory not a file! Even so
>>>>> don't you want to copy the contents of the directory across ?
>>>> 
>>>> BUILT_COPY_FILES includes both files and directories so everything
>>>> should get copied across. I've added some commments to the rule
>>>> header and reorganized the logic a bit to hopefully be more clear.
>>> 
>>> Doesn't this assume that the directory will appear before the files within 
>>> it? Is that guaranteed?
>> 
>> The way find works is that it lists the directory prior to listing
>> the files within the directory. However, even if find didn't, the
>> containing directory would be created via line 69 above. The one
>> non-obvious feature of lines 72-74 is that an empty directory named
>> in the BUILD_COPY_FILES list would get 'copied' to the destination.
>> 
>> Please check out the latest version when I get it out for review.
> 
> It turns out that the above block was the reason for the flat hierarchy
> reported by Staffan when:
> 
>    ZIP_DEBUGINFO_FILES=0 a.k.a. '--disable-zip-debug-info'
> 
> is used. I've redone this block again in a much simpler fashion
> and that seems to be working.

Very good! I look forward to testing it.

/Staffan

Reply via email to