diff --git a/configuration/configure.ac b/configuration/configure.ac index 5a7340c..64444fd 100755 --- a/configuration/configure.ac +++ b/configuration/configure.ac @@ -13,7 +13,7 @@ dnl AC_PREREQ([2.61]) -AC_INIT([INFO Database Handbook], [1.0]) +AC_INIT([INFO Database Handbook], [2.0]) dnl dnl Files to be generated. Currently this is only make include file containing @@ -49,15 +49,6 @@ AC_MSG_ERROR([required environment variable XSLT not defined]) else AC_MSG_RESULT([$XSLT]) - # Figure out the appropriate name of the executable based on $XSLT. - case $XSLT in - "xalan-c") - xslt_processor="Xalan";; - "xalan-j") - xslt_processor="xalan";; - *) - xslt_processor=$XSLT;; - esac fi @@ -85,11 +76,10 @@ dnl We need GNU find as we use some of its specific command-line switches. AC_CACHE_CHECK([for GNU find], [ac_cv_path_FIND], [AC_PATH_PROGS_FEATURE_CHECK([FIND], [gnufind gfind find], - [if ( sh -c "$ac_path_FIND --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ); then - ac_cv_path_FIND=$ac_path_FIND - ac_path_FIND_found=: - fi - ], + [AS_IF([( sh -c "$ac_path_FIND --version" 2> /dev/null | grep GNU 2>&1 > /dev/null )], + [ ac_cv_path_FIND=$ac_path_FIND + ac_path_FIND_found=:], + [])], [AC_MSG_ERROR([could not find GNU find (irony)])])]) AC_SUBST([FIND], [$ac_cv_path_FIND]) @@ -121,8 +111,8 @@ dnl Java stuff. AC_PROG_JAVA -AC_CHECK_CLASS([org.apache.xml.resolver.apps.resolver]) -AC_CHECK_CLASS([net.sf.saxon.Transform]) +dnl AC_CHECK_CLASS([org.apache.xml.resolver.apps.resolver]) +dnl AC_CHECK_CLASS([net.sf.saxon.Transform]) dnl We make heavy use of features specific to GNU make. AC_CACHE_CHECK([for GNU make], [ac_cv_path_MAKE], @@ -154,7 +144,33 @@ dnl from the XSLT environment variable, which serves a slightly different dnl purpose. However, we use the value derived from $XSLT above to seed the dnl executable name. -AC_PATH_PROG(XSLTPROC, [$xslt_processor]) +# Figure out the appropriate name of the executable based on $XSLT. +AS_CASE([$XSLT], + [xalan-c], + [AC_PATH_PROG(XSLTPROC, [Xalan])], + [xalan-j], + [AC_PATH_PROG(XSLTPROC, [xalan])], + [saxon-b], + [ AC_PATH_JARFILE([saxon9], [SAXON], [/opt/local/share/java /sw/share/java /usr/local/share/java /usr/share/java /opt/local/lib/java /sw/lib/java /usr/local/lib/java /usr/lib/java ${HOME}/Library/Java /Library/Java /System/Library/Java]) + AC_MSG_CHECKING([for Saxon-B]) + AS_IF([$SAXON_AVAILABLE], + [AC_SUBST([XSLTPROC], + ["${JAVA} -jar ${SAXON_JAR}"]) + AC_MSG_RESULT([$XSLTPROC])], + [AC_MSG_RESULT([no])])], + [AC_MSG_ERROR([unknown XSLT processor "${XSLT}" specified])]) +AC_PATH_JARFILE(resolver, RESOLVER, [/opt/local/share/java /sw/share/java /usr/local/share/java /usr/share/java /opt/local/lib/java /sw/lib/java /usr/local/lib/java /usr/lib/java ${HOME}/Library/Java /Library/Java /System/Library/Java]) +AC_MSG_CHECKING([for XML entity resolver]) +if $RESOLVER_AVAILABLE; then + # We can't use -jar for the entity resolver, because it needs to be able + # to use the CLASSPATH to find the CatalogManager.properties file. Using + # -jar suppresses the CLASSPATH completely. + AC_SUBST([RESOLVER], ["${JAVA} -cp ${RESOLVER_JAR}:${CLASSPATH} org.apache.xml.resolver.apps.resolver"]) + AC_MSG_RESULT([$RESOLVER]) +else + AC_MSG_RESULT([no]) +fi + dnl