I've recently tried to use UTIL_ARG_WITH for new configure arguments in a 
project repository and discovered some issues. The project in question may or 
may not end up in mainline at some point in the future, but I think fixing 
these general issues in UTIL_ARG_WITH is worth it independent of my specific 
use case.

For TYPE "directory" the check if the value is a valid directory is supposed to 
optionally check for files in the CHECK_FOR_FILES list. The default value of 
this list is ":" (due to autoconf peculiarities) but the check is performed if 
the value is non empty. This means that if you call UTIL_ARG_WITH with TYPE 
"directory" and no CHECK_FOR_FILES, it will always fail because there is no 
file ":" in the given directory. This patch changes the conditional to check 
for ":" instead of the empty string.

When an optional arg is defined, the validation check is still being performed 
when the arg has been disabled (--without-arg). This makes it impossible to 
disable something of for example TYPE "directory" as the directory check will 
fail. The current configure script in OpenJDK only has macro calls of type 
"string" and "literal" where this doesn't cause problems, because an empty 
string as value passes validation. This patch moves the validation so that it's 
only performed when the arg isn't disabled.

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

Commit messages:
 - JDK-8310369

Changes: https://git.openjdk.org/jdk/pull/14558/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14558&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8310369
  Stats: 16 lines in 1 file changed: 1 ins; 1 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/14558.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14558/head:pull/14558

PR: https://git.openjdk.org/jdk/pull/14558

Reply via email to