##### http://autoconf-archive.cryp.to/ac_check_docbook_xslt_min.html # # SYNOPSIS # # AC_CHECK_DOCBOOK_XSLT_MIN(min-xslt-version) # # DESCRIPTION # # Check that the 'current' version of docbook is at least version # min-xslt-version. If the test is successful, # $DOCBOOK_XSLT_CURRENT_VERSION will be set to the current docbook # version; if not, it will be set to 'no'. # # Example: # # AC_CHECK_DOCBOOK_XSLT_MIN(1.72.0) # if test "x$DOCBOOK_XSLT_CURRENT_VERSION" = "xno"; then # .. # # LAST MODIFICATION # # 2007-05-15 # # COPYLEFT # # Copyright (c) 2007 Zmanda Inc. # Copyright (c) 2007 Dustin J. Mitchell # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # # As a special exception, the respective Autoconf Macro's copyright # owner gives unlimited permission to copy, distribute and modify the # configure scripts that are the output of Autoconf when processing # the Macro. You need not follow the terms of the GNU General Public # License when using or distributing such scripts, even though # portions of the text of the Macro appear in them. The GNU General # Public License (GPL) does govern all other use of the material that # constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the # Autoconf Macro released by the Autoconf Macro Archive. When you # make and distribute a modified version of the Autoconf Macro, you # may extend this special exception to the GPL to apply to your # modified version as well. AC_DEFUN([AC_CHECK_DOCBOOK_XSLT_MIN], [ AC_REQUIRE([AC_PROG_XSLTPROC]) AC_CACHE_CHECK([for current Docbook XSLT version], [ac_cv_docbook_xslt_current_version], [ ac_cv_docbook_xslt_current_version=no if test -n "$XSLTPROC"; then cat >conftest.xsl < EOF echo "Trying '$XSLTPROC $XSLTPROC_FLAGS http://docbook.sourceforge.net/release/xsl/current/VERSION' with input:" >&AS_MESSAGE_LOG_FD echo "====" >&AS_MESSAGE_LOG_FD cat conftest.xsl >&AS_MESSAGE_LOG_FD echo "====" >&AS_MESSAGE_LOG_FD ac_cv_docbook_xslt_current_version=`$XSLTPROC $XSLTPROC_FLAGS conftest.xsl http://docbook.sourceforge.net/release/xsl/current/VERSION 2>&AS_MESSAGE_LOG_FD` if test "$?" != 0; then ac_cv_docbook_xslt_current_version='no' fi rm conftest.xsl fi ]) DOCBOOK_XSLT_CURRENT_VERSION="$ac_cv_docbook_xslt_current_version" AC_MSG_CHECKING([whether Docbook XSLT version is $1 or newer]) if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then AC_MSG_RESULT([no]) else # compare versions (current on left, minimum on right) # for each pattern, get the component number, or default to zero if not found changequote(,) MAJPAT='/^[0-9]*\./{ s/^\([0-9]*\)\..*/\1/;q}; s/.*/0/; q' MINPAT='/^[0-9]*\.[0-9]*\./{ s/^[0-9]*\.\([0-9]*\)\..*/\1/;q}; s/.*/0/; q' REVPAT='/^[0-9]*\.[0-9]*\.[0-9]*/{ s/^[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/;q}; s/.*/0/; q' changequote([,]) # major version left=`echo "$DOCBOOK_XSLT_CURRENT_VERSION"|sed "$MAJPAT"` right=`echo "$1"|sed "$MAJPAT"` if test $left -lt $right; then DOCBOOK_XSLT_CURRENT_VERSION=no else # minor version left=`echo "$DOCBOOK_XSLT_CURRENT_VERSION"|sed "$MINPAT"` right=`echo "$1"|sed "$MINPAT"` if test $left -lt $right; then DOCBOOK_XSLT_CURRENT_VERSION=no else # revision left=`echo "$DOCBOOK_XSLT_CURRENT_VERSION"|sed "$REVPAT"` right=`echo "$1"|sed "$REVPAT"` if test $left -lt $right; then DOCBOOK_XSLT_CURRENT_VERSION=no fi fi fi MAJPAT='' MINPAT='' REVPAT='' left='' right='' if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then AC_MSG_RESULT([no]) else AC_MSG_RESULT([yes]) fi fi ])