RFR: 8356379: Need a proper way to test existence of binary from configure

Magnus Ihse Bursie ihse at openjdk.org
Wed Sep 17 08:45:24 UTC 2025


On Wed, 7 May 2025 10:57:27 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> When we setup a command to run, e.g. $FOO we typically set this to just a path to a binary, e.g. /usr/bin/foo. However, this is not necessarily true. On Windows, this can be prefixed by the $FIXPATH prefix, and on all platforms we are allowed to pass arguments to the executable.
> 
> If we want to test if this binary actually exists, we need to extract the binary name from this command line. We have a NOFIXPATH argument to UTIL_LOOKUP_PROGS, which tried to resolve this, but it is not enough, and it makes it impossible to both lookup a program properly and also check for its existance afterwards.
> 
> Instead, I propose to add a UTIL_GET_EXECUTABLE function that extracts just the path to the binary from such a command.

What do you mean? We only prepend FIXPATH if the tool in question needs it. How do we know? We check the binary to see if it is a cygwin (or msys, or wsl) binary, or a native windows executable. I don't remember all details, but on Cygwin I know we use ldd to check for dependencies to cygwin*.dll. If it has such a dependency, no FIXPATH is needed.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25087#issuecomment-3301966148


More information about the build-dev mailing list