[Libguestfs] [PATCH 1/4] ocaml: Use generational global roots.

Richard W.M. Jones rjones at redhat.com
Wed Oct 7 12:26:09 UTC 2015


On Wed, Oct 07, 2015 at 02:13:49PM +0200, Pino Toscano wrote:
> On Tuesday 06 October 2015 16:05:44 Richard W.M. Jones wrote:
> > These are considerably more efficient than ordinary global roots, but
> > with the caveat that the program is not allowed to modify them without
> > calling a special function.  We don't modify them, so this change is
> > safe.
> > 
> > This requires OCaml >= 3.11, but we have that on RHEL 6
> > (since we dropped support for RHEL 5).
> > 
> > See also:
> > http://caml.inria.fr/pub/ml-archives/caml-list/2008/03/c3bf86990088236ceeb9a0f0f4c35390.en.html
> > ---
> 
> LGTM.
> 
> Maybe we need to add an OCaml version check in configure?

How about this?

Rich.

>From 63d1a8050a465ec11d4407784ec118a279d68751 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones at redhat.com>
Date: Wed, 7 Oct 2015 13:25:32 +0100
Subject: [PATCH] configure: Check that OCaml version >= 3.11.

---
 configure.ac | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/configure.ac b/configure.ac
index 75999e9..1eb09f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1095,6 +1095,17 @@ AS_IF([test "x$enable_ocaml" != "xno"],[
     OCAMLFIND=
     AC_PROG_OCAML
     AC_PROG_FINDLIB
+
+    dnl OCaml >= 3.11 is required.
+    AC_MSG_CHECKING([if OCaml version >= 3.11])
+    ocaml_major="`echo $OCAMLVERSION | $AWK -F. '{print $1}'`"
+    ocaml_minor="`echo $OCAMLVERSION | $AWK -F. '{print $2}'`"
+    AS_IF([test "$ocaml_major" -ge 4 || ( test "$ocaml_major" -eq 3 && test "$ocaml_minor" -ge 11 )],[
+        AC_MSG_RESULT([yes])
+    ],[
+        AC_MSG_RESULT([no])
+        AC_MSG_FAILURE([OCaml compiler is not new enough.  At least OCaml 3.11 is required])
+    ])
 ])
 AM_CONDITIONAL([HAVE_OCAML],
                [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
-- 
2.5.0



-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list