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