diff --git a/acinclude.m4 b/acinclude.m4 index dd01f165..e23160ee 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -46,9 +46,21 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], ifelse([$3],,,[$3 ])dnl else - AC_MSG_RESULT([not found]) - ifelse([$4],, - [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])], - [$4]) + jh_check_xml_catalog_saved_ifs="$IFS" + IFS=' ' + for f in $XML_CATALOG_FILES; do + if [[ -f "$f" ]] && \ + AC_RUN_LOG([$XMLCATALOG --noout "$f" "$1" >&2]); then + jh_found_xmlcatalog=true + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3]) + break + fi + done + IFS="$jh_check_xml_catalog_saved_ifs" + if ! $jh_found_xmlcatalog; then + AC_MSG_RESULT([not found]) + ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4]) + fi fi ])