Dollar ($) expansion still needs attention

Alan Bateman Alan.Bateman at oracle.com
Wed Feb 27 10:15:56 UTC 2013


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



More information about the build-dev mailing list