RFR: JDK-8158535: Configure script uses basic tools directly in many places

David Holmes david.holmes at oracle.com
Sun Jun 5 23:36:45 UTC 2016


Hi Erik,

On 4/06/2016 1:56 AM, Erik Joelsson wrote:
> In the configure script we check for the presence of several basic
> tools, like grep, sed, echo etc, and assign variables for them. In the
> makefiles we are very diligent with always using the tools through these
> variables to make sure we have a well functioning version of the tool at
> hand. In many places in the configure script, we have been sloppy with
> this.
>
> I recently stumbled over this because we change the PATH variable in
> parts of the script (typically when looking for the toolchain) which can
> then potentially change which instance of the tool that is being run
> unless the resolved variables are used. This patch fixes all the
> instances that I could find.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8158535
> Webrev: http://cr.openjdk.java.net/~erikj/8158535/webrev.top.01/

Two questions:

1. How do we know a $XXX variable actually exists for a given command?
2. How do we know it has been set when modifying the .m4 files? I 
presume there are some parts of at least one .m4 file that can't use 
$XXX because it won't have been set yet.

I also noticed on Windows that there are still inconsistencies. For 
example we use $ECHO in places, but I also see:

  99     new_path=`cmd /c "for %A in (\"$input_path\") do @echo 
%~sA"|$TR \\\\\\\\ / | $TR ...

Thanks,
David

> /Erik



More information about the build-dev mailing list