Blame m4/jh_path_xml_catalog.m4

Packit a8ec6b
# Checks the location of the XML Catalog
Packit a8ec6b
# Usage:
Packit a8ec6b
#   JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
Packit a8ec6b
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
Packit a8ec6b
AC_DEFUN([JH_PATH_XML_CATALOG],
Packit a8ec6b
[
Packit a8ec6b
  # check for the presence of the XML catalog
Packit a8ec6b
  AC_ARG_WITH([xml-catalog],
Packit a8ec6b
              AC_HELP_STRING([--with-xml-catalog=CATALOG],
Packit a8ec6b
                             [path to xml catalog to use]),,
Packit a8ec6b
              [with_xml_catalog=/etc/xml/catalog])
Packit a8ec6b
  jh_found_xmlcatalog=true
Packit a8ec6b
  XML_CATALOG_FILE="$with_xml_catalog"
Packit a8ec6b
  AC_SUBST([XML_CATALOG_FILE])
Packit a8ec6b
  AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
Packit a8ec6b
  if test -f "$XML_CATALOG_FILE"; then
Packit a8ec6b
    AC_MSG_RESULT([found])
Packit a8ec6b
  else
Packit a8ec6b
    jh_found_xmlcatalog=false
Packit a8ec6b
    AC_MSG_RESULT([not found])
Packit a8ec6b
  fi
Packit a8ec6b
Packit a8ec6b
  # check for the xmlcatalog program
Packit a8ec6b
  AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
Packit a8ec6b
  if test "x$XMLCATALOG" = xno; then
Packit a8ec6b
    jh_found_xmlcatalog=false
Packit a8ec6b
  fi
Packit a8ec6b
Packit a8ec6b
  if $jh_found_xmlcatalog; then
Packit a8ec6b
    ifelse([$1],,[:],[$1])
Packit a8ec6b
  else
Packit a8ec6b
    ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
Packit a8ec6b
  fi
Packit a8ec6b
])
Packit a8ec6b
Packit a8ec6b
# Checks if the particular URI appears in the XML catalog
Packit a8ec6b
# Usage:
Packit a8ec6b
#   JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
Packit a8ec6b
AC_DEFUN([JH_CHECK_XML_CATALOG],
Packit a8ec6b
[
Packit a8ec6b
  AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])
Packit a8ec6b
  AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
Packit a8ec6b
  if $jh_found_xmlcatalog && \
Packit a8ec6b
     AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
Packit a8ec6b
    AC_MSG_RESULT([found])
Packit a8ec6b
    ifelse([$3],,,[$3
Packit a8ec6b
])
Packit a8ec6b
  else
Packit a8ec6b
    AC_MSG_RESULT([not found])
Packit a8ec6b
    ifelse([$4],,
Packit a8ec6b
       [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
Packit a8ec6b
       [$4])
Packit a8ec6b
  fi
Packit a8ec6b
])