Index: trunk/m4/ocaml.m4 =================================================================== --- trunk/m4/ocaml.m4 (revision 8269) +++ trunk/m4/ocaml.m4 (revision 8270) @@ -1,335 +1,335 @@ dnl autoconf macros for OCaml dnl dnl JR added check for ocaml binary dnl JR added check for ocamlcp dnl JR added check for ocamlweb dnl JR added routine for lablgtk dnl JR added check for ocaml version dnl JR added conditional for CAMLP4 dnl dnl Copyright © 2009 Richard W.M. Jones dnl Copyright © 2009 Stefano Zacchiroli dnl Copyright © 2000-2005 Olivier Andrieu dnl Copyright © 2000-2005 Jean-Christophe Filliâtre dnl Copyright © 2000-2005 Georges Mariano dnl dnl For documentation, please read the ocaml.m4 man page. AC_DEFUN([AC_PROG_OCAML], [dnl AC_ARG_ENABLE([ocaml], [AC_HELP_STRING([--disable-ocaml], [disable the OCaml parts, even if OCaml available [[no]]])]) if test "$enable_ocaml" != "no"; then # checking for ocamlc AC_PATH_TOOL([OCAML], [ocaml], []) AC_PATH_TOOL([OCAMLC],[ocamlc],[no]) if test "$OCAMLC" != "no"; then OCAMLVERSION=`$OCAMLC -v | $SED -n -e 's|.*version* *\(.*\)$|\1|p'` ##### # JR inserted this ocamlintegerversion for version checking # [tho] made it rubust for OCaml 4.00 ##### AC_CACHE_VAL([wo_ocaml_cv_integer_version], [wo_ocaml_cv_integer_version="`echo "$OCAMLVERSION" | \ $AWK 'NR==1 { changequote(<<,>>)dnl split (<<$>>1, version, "[.+]+"); printf ("%d%02d%03d", version[1], version[2], version[3])}'`" changequote([,])]) OCAMLINTEGERVERSION=$wo_ocaml_cv_integer_version ##### AC_MSG_RESULT([OCaml version is $OCAMLVERSION]) OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4` AC_MSG_RESULT([OCaml library path is $OCAMLLIB]) AC_SUBST([OCAMLVERSION]) AC_SUBST([OCAMLINTEGERVERSION]) AC_SUBST([OCAMLLIB]) AM_CONDITIONAL([OCAML_304], [test $OCAMLINTEGERVERSION -ge 304000]) # checking for ocamlopt AC_PATH_TOOL([OCAMLOPT],[ocamlopt],[no]) OCAMLBEST=byte if test "$OCAMLOPT" = "no"; then AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.]) else TMPVERSION=`$OCAMLOPT -v | $SED -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc; ocamlopt discarded.]) OCAMLOPT=no else OCAMLBEST=opt fi fi AC_SUBST([OCAMLBEST]) # checking for ocamlc.opt AC_PATH_TOOL([OCAMLCDOTOPT],[ocamlc.opt],[no]) if test "$OCAMLCDOTOPT" != "no"; then TMPVERSION=`$OCAMLCDOTOPT -v | $SED -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc; ocamlc.opt discarded.]) else OCAMLC=$OCAMLCDOTOPT fi fi # checking for ocamlopt.opt if test "$OCAMLOPT" != "no" ; then AC_PATH_TOOL([OCAMLOPTDOTOPT],[ocamlopt.opt],[no]) if test "$OCAMLOPTDOTOPT" != "no"; then TMPVERSION=`$OCAMLOPTDOTOPT -v | $SED -n -e 's|.*version* *\(.*\)$|\1|p' ` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([version differs from ocamlc; ocamlopt.opt discarded.]) else OCAMLOPT=$OCAMLOPTDOTOPT fi fi fi AC_SUBST([OCAMLOPT]) fi AC_SUBST([OCAMLC]) # Allow to use flags set by environment variable OCAMLFLAGS if test $OCAMLINTEGERVERSION -ge 406000; then OCAMLFLAGS="-unsafe-string $OCAMLFLAGS" fi AC_SUBST([OCAMLFLAGS],[$OCAMLFLAGS]) # checking for ocamldep AC_PATH_TOOL([OCAMLDEP],[ocamldep],[no]) # checking for ocamlmktop AC_PATH_TOOL([OCAMLMKTOP],[ocamlmktop],[no]) # checking for ocamlmklib AC_PATH_TOOL([OCAMLMKLIB],[ocamlmklib],[no]) # checking for ocamldoc AC_PATH_TOOL([OCAMLDOC],[ocamldoc],[no]) # checking for ocamlbuild AC_PATH_TOOL([OCAMLBUILD],[ocamlbuild],[no]) else AM_CONDITIONAL([OCAML_304], false) fi AM_CONDITIONAL([OCAML_AVAILABLE], [test "$enable_ocaml" != "no"]) ]) ]) AC_DEFUN([AC_PROG_OCAMLLEX], [dnl # checking for ocamllex AC_PATH_TOOL([OCAMLLEX],[ocamllex],[no]) if test "$OCAMLLEX" != "no"; then AC_PATH_TOOL([OCAMLLEXDOTOPT],[ocamllex.opt],[no]) if test "$OCAMLLEXDOTOPT" != "no"; then OCAMLLEX=$OCAMLLEXDOTOPT fi fi AC_SUBST([OCAMLLEX]) ]) AC_DEFUN([AC_PROG_OCAMLYACC], [dnl AC_PATH_TOOL([OCAMLYACC],[ocamlyacc],[no]) AC_SUBST([OCAMLYACC]) ]) AC_DEFUN([AC_PROG_OCAMLCP], [dnl AC_PATH_TOOL([OCAMLCP],[ocamlcp],[no]) AC_SUBST([OCAMLCP]) ]) AC_DEFUN([AC_PROG_CAMLP4], [dnl AC_REQUIRE([AC_PROG_OCAML])dnl # checking for camlp4 AC_PATH_TOOL([CAMLP4],[camlp4],[no]) if test "$CAMLP4" != "no"; then TMPVERSION=`$CAMLP4 -v 2>&1| $SED -n -e 's|.*version *\(.*\)$|\1|p'` if test "$TMPVERSION" != "$OCAMLVERSION" ; then AC_MSG_RESULT([versions differs from ocamlc]) CAMLP4=no fi fi AC_SUBST([CAMLP4]) AM_CONDITIONAL([CAMLP4_AVAILABLE], [test "$CAMLP4" != "no"]) # checking for companion tools AC_PATH_TOOL([CAMLP4BOOT],[camlp4boot],[no]) AC_PATH_TOOL([CAMLP4O],[camlp4o],[no]) AC_PATH_TOOL([CAMLP4OF],[camlp4of],[no]) AC_PATH_TOOL([CAMLP4OOF],[camlp4oof],[no]) AC_PATH_TOOL([CAMLP4ORF],[camlp4orf],[no]) AC_PATH_TOOL([CAMLP4PROF],[camlp4prof],[no]) AC_PATH_TOOL([CAMLP4R],[camlp4r],[no]) AC_PATH_TOOL([CAMLP4RF],[camlp4rf],[no]) AC_SUBST([CAMLP4BOOT]) AC_SUBST([CAMLP4O]) AC_SUBST([CAMLP4OF]) AC_SUBST([CAMLP4OOF]) AC_SUBST([CAMLP4ORF]) AC_SUBST([CAMLP4PROF]) AC_SUBST([CAMLP4R]) AC_SUBST([CAMLP4RF]) ]) AC_DEFUN([AC_PROG_FINDLIB], [dnl AC_REQUIRE([AC_PROG_OCAML])dnl # checking for ocamlfind AC_PATH_TOOL([OCAMLFIND],[ocamlfind],[no]) AC_SUBST([OCAMLFIND]) ]) dnl Thanks to Jim Meyering for working this next bit out for us. dnl XXX We should define AS_TR_SH if it's not defined already dnl (eg. for old autoconf). AC_DEFUN([AC_CHECK_OCAML_PKG], [dnl AC_REQUIRE([AC_PROG_FINDLIB])dnl AC_MSG_CHECKING([for OCaml findlib package $1]) unset found unset pkg found=no for pkg in $1 $2 ; do if $OCAMLFIND query $pkg >/dev/null 2>/dev/null; then AC_MSG_RESULT([found]) AS_TR_SH([OCAML_PKG_$1])=$pkg found=yes break fi done if test "$found" = "no" ; then AC_MSG_RESULT([not found]) AS_TR_SH([OCAML_PKG_$1])=no fi AC_SUBST(AS_TR_SH([OCAML_PKG_$1])) ]) AC_DEFUN([AC_CHECK_OCAML_MODULE], [dnl AC_MSG_CHECKING([for OCaml module $2]) cat > conftest.ml <&5 2>&5 ; then found=yes break fi done if test "$found" ; then AC_MSG_RESULT([$$1]) else AC_MSG_RESULT([not found]) $1=no fi AC_SUBST([$1]) ]) dnl XXX Cross-compiling AC_DEFUN([AC_CHECK_OCAML_WORD_SIZE], [dnl AC_MSG_CHECKING([for OCaml compiler word size]) cat > conftest.ml <