##########################################################################
# ocaml-gettext: a library to translate messages #
# #
# Copyright (C) 2003-2008 Sylvain Le Gall <sylvain@le-gall.net> #
# #
# This library is free software; you can redistribute it and/or #
# modify it under the terms of the GNU Lesser General Public #
# License as published by the Free Software Foundation; either #
# version 2.1 of the License, or (at your option) any later version; #
# with the OCaml static compilation exception. #
# #
# This library 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 #
# Lesser General Public License for more details. #
# #
# You should have received a copy of the GNU Lesser General Public #
# License along with this library; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 #
# USA #
##########################################################################
# AC_PROG_OCAML_VERSION(prog,prog.opt,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of an ocaml tool and parse its version
# Version in $versionval, tool in $toolval
AC_DEFUN([AC_PROG_OCAML_VERSION],
[
AC_CHECK_PROG(ac_ocaml_$1,$1,$1)
AC_CHECK_PROG(ac_ocaml_$1_opt,$2,$2)
if test "x$ac_ocaml_$1" = "x" && test "x$ac_ocaml_$1_opt" = "x"; then
:
$4
else
if ! test "x$ac_ocaml_$1" = "x"; then
ac_ocaml_$1_version=`$ac_ocaml_$1 -v | sed -n -e "s|.*version *\(.*\)$|\1|p" `
versionval=$ac_ocaml_$1_version
toolval=$ac_ocaml_$1
fi
if ! test "x$ac_ocaml_$1_opt" = "x"; then
ac_ocaml_$1_opt_version=`$ac_ocaml_$1 -v | sed -n -e "s|.*version *\(.*\)$|\1|p" `
if ! test "x$ac_ocaml_$1" = "x" && test "$ac_ocaml_$1_opt_version" = "$ac_ocaml_$1_version"; then
versionval=$ac_ocaml_$1_opt_version
toolval=$ac_ocaml_$1_opt
elif test "x$ac_ocaml_$1" = "x"; then
versionval=$ac_ocaml_$1_opt_version
toolval=$ac_ocaml_$1_opt
else
AC_MSG_WARN("$1 and $2 version differs")
fi
fi
$3
fi
])
# AC_CHECK_OCAMLC([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamlc (or ocamlc.opt)
# Subst OCAMLC, OCAMLVERSION, OCAMLBEST variable.
AC_DEFUN([AC_CHECK_OCAMLC],
[
dnl Check the presence of ocamlc/ocamlc.opt and their version
AC_PROG_OCAML_VERSION(ocamlc,ocamlc.opt,[
OCAMLC=$toolval
if test "x$OCAMLBEST" = "x"; then
OCAMLBEST=byte
fi
if ! test "x$OCAMLVERSION" = "x" && ! test "$versionval" = "$OCAMLVERSION"; then
AC_MSG_WARN($versionval doesn't match ocaml v. $OCAMLVERSION)
else
CAMLVERSION=$versionval
fi
],[$2])
AC_SUBST(OCAMLC)
AC_SUBST(OCAMLVERSION)
AC_SUBST(OCAMLBEST)
])
# AC_CHECK_OCAMLOPT([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamlopt (or ocamlopt.opt)
# Subst OCAMLOPT, OCAMLVERSION, OCAMLBEST variable.
AC_DEFUN([AC_CHECK_OCAMLOPT],
[
dnl Check the presence of ocamlc/ocamlc.opt and their version
AC_PROG_OCAML_VERSION(ocamlopt,ocamlopt.opt,[
OCAMLOPT=$toolval
if test "x$OCAMLBEST" = "x" || test "$OCAMLBEST" = "byte"; then
OCAMLBEST=opt
fi
if ! test "x$OCAMLVERSION" = "x" && ! test "$versionval" = "$OCAMLVERSION"; then
AC_MSG_WARN($versionval doesn't match ocaml v. $OCAMLVERSION)
else
OCAMLVERSION=$versionval
fi
],[$2])
AC_SUBST(OCAMLOPT)
AC_SUBST(OCAMLVERSION)
AC_SUBST(OCAMLBEST)
])
# AC_CHECK_OCAMLLEX([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamllex (or ocamllex.opt)
# Subst OCAMLLEX, OCAMLVERSION variable.
AC_DEFUN([AC_CHECK_OCAMLLEX],
[
dnl Check the presence of ocamlc/ocamlc.opt and their version
AC_PROG_OCAML_VERSION(ocamllex,ocamllex.opt,[
OCAMLLEX=$toolval
if ! test "x$OCAMLVERSION" = "x" && ! test "$versionval" = "$OCAMLVERSION"; then
AC_MSG_WARN($versionval doesn't match ocaml v. $OCAMLVERSION)
else
OCAMLVERSION=$versionval
fi
],[$2])
AC_SUBST(OCAMLLEX)
AC_SUBST(OCAMLVERSION)
])
# AC_CHECK_OCAMLYACC([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamlyacc (or ocamlyacc.opt)
# Subst OCAMLYACC variable.
AC_DEFUN([AC_CHECK_OCAMLYACC],
[
dnl Check the presence of ocamlyacc/ocamlyacc.opt and their version
AC_CHECK_PROG(ac_ocaml_ocamlyacc,ocamlyacc,ocamlyacc)
AC_CHECK_PROG(ac_ocaml_ocamlyacc_opt,ocamlyacc.opt,ocamlyacc.opt)
if test "x$ac_ocaml_ocamlyacc" = "x" && test "x$ac_ocaml_ocamlyacc_opt" = "x"; then
:
$2
elif ! test "x$ac_ocaml_ocamlyacc_opt" = "x"; then
OCAMLYACC=$ac_ocaml_ocamlyacc_opt
$1
else
OCAMLYACC=$ac_ocaml_ocamlyacc
$1
fi
AC_SUBST(OCAMLYACC)
])
# AC_CHECK_OCAMLBUILD([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamlbuild.
# Subst OCAMLBUIKD variable.
AC_DEFUN([AC_CHECK_OCAMLBUILD],
[
dnl Check the presence of ocamlbuild/ocamlbuild.opt and their version
AC_CHECK_PROG(ac_ocaml_ocamlbuild,ocamlbuild,ocamlbuild)
if test "x$ac_ocaml_ocamlbuild" = "x"; then
:
$2
else
OCAMLBUILD=$ac_ocaml_ocamlbuild
$1
fi
AC_SUBST(OCAMLBUILD)
])
# AC_CHECK_OCAMLFIND ([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of ocamlfind.
# Subst OCAMLFIND variable.
AC_DEFUN([AC_CHECK_OCAMLFIND],
[
dnl Check the presence of ocamlfind
AC_CHECK_PROG(ac_ocaml_ocamlfind,ocamlfind,ocamlfind)
if test "x$ac_ocaml_ocamlfind" = "x"; then
:
$2
else
:
OCAMLFIND=$ac_ocaml_ocamlfind
$1
fi
AC_SUBST(OCAMLFIND)
])
# OCAMLFIND_CHECK_MODULE (MODULE,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Check for the existence of the module using OCAMLFIND
AC_DEFUN([OCAMLFIND_CHECK_MODULE],
[
AC_REQUIRE([AC_CHECK_OCAMLFIND])
dnl Check the presence of module $1
AC_MSG_CHECKING(for module $1)
if ! test "x$OCAMLFIND" = "x" ; then
ac_ocaml_pkg_$1=`$OCAMLFIND query $1 2> /dev/null`
if ! test "x$ac_ocaml_pkg_$1" = "x"; then
AC_MSG_RESULT($ac_ocaml_pkg_$1)
$2
else
AC_MSG_RESULT(no)
$3
fi
else
AC_MSG_RESULT(no)
$3
fi
])
# AC_CHECK_[CAMLP4,CAMLIDL,OCAMLMKLIB,MKCAMLP4] ([ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#---------------------------------------------------------
# Subst the corresponding var
AC_DEFUN([AC_CHECK_STAR],
[
AC_CHECK_PROG($1,$2,$2)
if test "x$$1" = "x"; then
:
$4
else
:
$3
fi
AC_SUBST($1)
])
AC_DEFUN([AC_CHECK_CAMLP4], [AC_CHECK_STAR(CAMLP4,camlp4,$1,$2)])
AC_DEFUN([AC_CHECK_CAMLP4OF], [AC_CHECK_STAR(CAMLP4OF,camlp4of,$1,$2)])
AC_DEFUN([AC_CHECK_CAMLP4O], [AC_CHECK_STAR(CAMLP4O,camlp4o,$1,$2)])
AC_DEFUN([AC_CHECK_CAMLIDL], [AC_CHECK_STAR(CAMLIDL,camlidl,$1,$2)])
AC_DEFUN([AC_CHECK_OCAMLMKLIB], [AC_CHECK_STAR(OCAMLMKLIB,ocamlmklib,$1,$2)])
AC_DEFUN([AC_CHECK_MKCAMLP4], [AC_CHECK_STAR(MKCAMLP4,mkcamlp4,$1,$2)])
AC_DEFUN([AC_CHECK_OCAMLDOC], [AC_CHECK_STAR(OCAMLDOC,ocamldoc,$1,$2)])
AC_DEFUN([AC_CHECK_XSLTPROC], [AC_CHECK_STAR(XSLTPROC,xsltproc,$1,$2)])
AC_DEFUN([AC_CHECK_XMLLINT], [AC_CHECK_STAR(XMLLINT,xmllint,$1,$2)])
# AC_LIB_OCAML ()
#---------------------------------------------------------
# Get the library path
# Subst OCAMLLIB
AC_DEFUN([AC_LIB_OCAML],
[
AC_REQUIRE([AC_CHECK_OCAMLC])
AC_MSG_CHECKING(for ocaml libdir)
OCAMLLIB=`$OCAMLC -where`
AC_MSG_RESULT($OCAMLLIB)
AC_SUBST(OCAMLLIB)
])
# AC_CHECK_XSL (VAR,config,DEFAULT_STYLESHEET,[ACTION-IF-OK],[ACTION-IF-NOT-OK])
#---------------------------------------------------------
# Check the presence and the possibility to validate
# and apply the given stylesheet
# Subst XSLTPROC, XMLLINT, DOCBOOK_STYLESHEET_VAR,
AC_DEFUN([AC_CHECK_XSL],
[
AC_REQUIRE([AC_CHECK_XSLTPROC])
AC_REQUIRE([AC_CHECK_XMLLINT])
AC_ARG_WITH(docbook-stylesheet-$2,
AC_HELP_STRING([--with-docbook-stylesheet-$2=file], [Where to find the docbook stylesheet for $2 generation]),
$1=$withval, $1="$3")
AC_MSG_CHECKING(for $2 XSL)
if ! test -e "$$1"; then
AC_MSG_RESULT(no)
$1=
else
AC_MSG_RESULT($$1)
fi
if ! test "x$$1" = "x" && ! test "x$XSLTPROC" = "x"; then
:
$4
else
:
$5
fi
AC_SUBST($1)
])
# AC_CHECK_HTMLXSL (DEFAULT_STYLESHEET,[ACTION-IF-OK],[ACTION-IF-NOT-OK])
#---------------------------------------------------------
# Check the possibility to generate HTML out of Docbook XML
AC_DEFUN([AC_CHECK_HTMLXSL],
[
AC_CHECK_XSL(HTMLXSL,html,$1,$2,$3)
]);
# AC_CHECK_MANXSL (STYLESHEET,DEFAULT_STYLESHEET,[ACTION-IF-OK],[ACTION-IF-NOT-OK])
#---------------------------------------------------------
# Check the possibility to generate manpages out of Docbook XML
AC_DEFUN([AC_CHECK_MANXSL],
[
AC_CHECK_XSL(MANXSL,manpages,$1,$2,$3)
]);
# AC_CHECK_PDFXSL (STYLESHEET,DEFAULT_STYLESHEET,[ACTION-IF-OK],[ACTION-IF-NOT-OK])
#---------------------------------------------------------
# Check the possibility to generate PDF out of Docbook XML
AC_DEFUN([AC_CHECK_PDFXSL],
[
AC_CHECK_XSL(FOXSL,pdf,$1,$2,$3)
AC_CHECK_PROG(FOP,fop,fop)
if test "x$FOP" = "x"; then
AC_MSG_WARN(Cannot find fop.)
$3
fi
]);