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