jh_path_xml_catalog.m4 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Checks the location of the XML Catalog
  2. # Usage:
  3. # JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
  4. # Defines XMLCATALOG and XML_CATALOG_FILE substitutions
  5. AC_DEFUN([JH_PATH_XML_CATALOG],
  6. [
  7. # check for the presence of the XML catalog
  8. AC_ARG_WITH([xml-catalog],
  9. [AS_HELP_STRING([--with-xml-catalog=CATALOG],
  10. [path to xml catalog to use])],,
  11. [with_xml_catalog=/etc/xml/catalog])
  12. jh_found_xmlcatalog=true
  13. XML_CATALOG_FILE="$with_xml_catalog"
  14. AC_SUBST([XML_CATALOG_FILE])
  15. AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
  16. if test -f "$XML_CATALOG_FILE"; then
  17. AC_MSG_RESULT([found])
  18. else
  19. jh_found_xmlcatalog=false
  20. AC_MSG_RESULT([not found])
  21. fi
  22. # check for the xmlcatalog program
  23. AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
  24. if test "x$XMLCATALOG" = xno; then
  25. jh_found_xmlcatalog=false
  26. fi
  27. if $jh_found_xmlcatalog; then
  28. ifelse([$1],,[:],[$1])
  29. else
  30. ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
  31. fi
  32. ])
  33. # Checks if a particular URI appears in the XML catalog
  34. # Usage:
  35. # JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
  36. AC_DEFUN([JH_CHECK_XML_CATALOG],
  37. [
  38. AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
  39. AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
  40. if $jh_found_xmlcatalog && \
  41. AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
  42. AC_MSG_RESULT([found])
  43. ifelse([$3],,,[$3
  44. ])dnl
  45. else
  46. AC_MSG_RESULT([not found])
  47. ifelse([$4],,
  48. [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
  49. [$4])
  50. fi
  51. ])