On Wed, 7 May 2025 10:57:27 GMT, Magnus Ihse Bursie <[email protected]> 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
