[Libguestfs] [PATCH libguestfs] build: die early if we lack ocaml, ocamlfind or ocaml-xml-light

Jim Meyering jim at meyering.net
Tue Nov 10 13:34:25 UTC 2009


It was a pain to diagnose a build failure due to the lack of ocaml-xml-light.
With this change, autogen.sh will diagnose it for you.

If there end up being more than that one required ocaml package, I'd
change things to factor out the literal string in the diagnostic.

>From abc8363ef71809bd0986b752465ca6f65660ca4c Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Tue, 10 Nov 2009 14:31:42 +0100
Subject: [PATCH libguestfs] build: die early if we lack ocaml, ocamlfind or ocaml-xml-light

* autogen.sh: Ensure that we fail very early when not building
from a tarball and when one of those is not installed.
---
 autogen.sh |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/autogen.sh b/autogen.sh
index 9c73a2d..aff17f9 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -42,6 +42,25 @@ if [ ! -z "$BUILDDIR" ]; then
     CONFIGUREDIR=..
 fi

+# Ensure that an ocaml package is present for build-from sources.
+# This is *not* for anything that is required at configure-time
+# when configure is run from a distribution tarball.  From those,
+# nothing ocaml-related is required.
+require_ocaml_pkg()
+{
+  pkg=$1
+  test -d .git || return 1
+  url=$(git config remote.origin.url) || return 1
+  case $url in
+    *git.et.redhat.com/libguestfs.git) ;;
+    *) return 1;; esac
+  ocamlfind query "$pkg" || return 1
+  return 0
+}
+
+require_ocaml_pkg xml-light \
+  || { echo "you must have ocaml, ocamlfind and ocaml-xml-light"; exit 1; }
+
 # If no arguments were specified and configure has run before, use the previous
 # arguments
 if [ $# == 0 -a -x ./config.status ]; then
--
1.6.5.2.351.g0943




More information about the Libguestfs mailing list