I wanted to double check and trace the origins of the MakeBase.gmk patch before 
I responded.  It was part of the original set Erik sent me, but looking thru 
the other parts of the patch it's not clear why it was necessary.

http://cr.openjdk.java.net/~erikj/nashorn-build/webrev.01/

-- Jim




On 2013-02-27, at 6:15 AM, Alan Bateman <[email protected]> wrote:

> On 27/02/2013 02:47, David Holmes wrote:
>> :
>> 
>> So the same file names are listed once with \$$ and once with \$$$$, and 
>> they both have to be that way to work!
>> 
>> This is untenable. There should only be one way to write the name of a 
>> nested class file inside the makefile.
>> 
>> FYI in Profiles.gmk when expanding foo/*.class I already had to do a similar 
>> substitution as is now in ListPathsSafely:
>> 
>> # Function to expand foo/*.class into the set of classes
>> # NOTE: Classfiles with $ in their name are problematic as that is the
>> # meta-character for both make and the shell! Hence the \$$$$ substitution.
>> # But note that if you echo these values they will NOT display as expected.
>> class_list =  $(patsubst $(JDK_OUTPUTDIR)/classes/%,%,\
>>     $(foreach i,$(1), $(subst $$,\$$$$, $(wildcard 
>> $(JDK_OUTPUTDIR)/classes/$i))))
>> 
>> 
>> So I'd like to understand why the nashorn change was made so that we can 
>> determine how to get back to only having one way to specify file names 
>> containing $
> I completely agree, it's very difficult to maintain. Also the two patches 
> yesterday were just to get the build working again (Erik is out this week so 
> it wasn't possible to establish why MakeBase.gmk was changed, also I cannot 
> find the review thread to know if it came up during the review).
> 
> -Alan

Reply via email to