build: Add ./configure --disable-ocaml option.
[libguestfs.git] / configure.ac
index b42429e..f0d6ead 100644 (file)
@@ -478,22 +478,38 @@ AC_SUBST([HIVEX_CFLAGS])
 AC_SUBST([HIVEX_LIBS])
 
 dnl FUSE is optional to build the FUSE module.
-HAVE_FUSE=yes
-PKG_CHECK_MODULES([FUSE],[fuse],,[
-        HAVE_FUSE=no
-        AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])])
-AM_CONDITIONAL([HAVE_FUSE],[test "x$HAVE_FUSE" = "xyes"])
+AC_ARG_ENABLE([fuse],
+        AS_HELP_STRING([--disable-fuse], [Disable FUSE (guestmount) support]),
+        [],
+        [enable_fuse=yes])
+AS_IF([test "x$enable_fuse" != "xno"],
+        [PKG_CHECK_MODULES([FUSE],[fuse],,[
+                enable_fuse=no
+                AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])])])
+AM_CONDITIONAL([HAVE_FUSE],[test "x$enable_fuse" != "xno"])
 
 dnl Check for OCaml (optional, for OCaml bindings).
-AC_PROG_OCAML
-AC_PROG_FINDLIB
-AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
-
-dnl Optional xml-light for running the generator.
+OCAMLC=no
+OCAMLFIND=no
 OCAML_PKG_xml_light=no
-if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then
-    AC_CHECK_OCAML_PKG([xml-light])
-fi
+AC_ARG_ENABLE([ocaml],
+        AS_HELP_STRING([--disable-ocaml], [Disable OCaml language bindings]),
+        [],
+        [enable_ocaml=yes])
+AS_IF([test "x$enable_ocaml" != "xno"],
+        [dnl OCAMLC and OCAMLFIND have to be unset first, otherwise
+         dnl AC_CHECK_TOOL (inside AC_PROG_OCAML) will not look.
+         OCAMLC=
+         OCAMLFIND=
+         AC_PROG_OCAML
+         AC_PROG_FINDLIB
+
+         dnl Optional xml-light for running the generator.
+         if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then
+             AC_CHECK_OCAML_PKG([xml-light])
+         fi])
+AM_CONDITIONAL([HAVE_OCAML],
+               [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
 AM_CONDITIONAL([HAVE_XML_LIGHT],[test "x$OCAML_PKG_xml_light" != "xno"])
 
 dnl Build the OCaml viewer example.  This has a lengthy list of
@@ -837,7 +853,7 @@ if test "x$HAVE_INSPECTOR_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "virt-* tools ........................ "
 if test "x$HAVE_TOOLS_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo "supermin appliance .................. $enable_supermin"
-echo "FUSE filesystem ..................... $HAVE_FUSE"
+echo "FUSE filesystem ..................... $enable_fuse"
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."