The 9.16 version of ./configure calls bin/tests/system/cleanall.sh
unless --without-make-clean is used. The cleanall.sh script then
includes bin/tests/system/conf.sh, which includes
bin/tests/system/conf.sh.common. At that point, dnssec-keygen which is
used to detect algorithm support isn't compiled, so it can't be used.
More importantly, algorithm selection for system tests during the
./configure phase is irrelevant, so it can be safely skipped.
# There are multiple algoritms sets to choose from (see get_algorithms.py). To
# override the default choice, set the ALGORITHM_SET env var (see mkeys system
# test for example).
-if test -x "$PYTHON"; then
+if test -x "$PYTHON" && test -x "$KEYGEN"; then
eval "$($PYTHON "$TOP_SRCDIR/bin/tests/system/get_algorithms.py")"
else
- # 9.16 workaround for our Windows CI which lacks Python
+ # 9.16 workarounds
+ # - for ./configure which calls bin/tests/system/cleanall.sh, which
+ # includes this file before $KEYGEN is compiled
+ # - for our Windows CI which lacks Python
DEFAULT_ALGORITHM=ECDSAP256SHA256
DEFAULT_ALGORITHM_NUMBER=13
DEFAULT_BITS=256