[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]