summaryrefslogtreecommitdiffstats
path: root/autogen.sh
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-11-10 14:31:42 +0100
committerJim Meyering <meyering@redhat.com>2009-11-10 16:56:50 +0100
commit15821057d4729d8bb369af3a230e717af5563abb (patch)
tree1521bd99a6b8dbc8c25165af8e67ed26ad6be0d9 /autogen.sh
parent0e1e0f10df2c45cf0c43633ce0e59a4780308e63 (diff)
downloadlibguestfs-15821057d4729d8bb369af3a230e717af5563abb.tar.gz
libguestfs-15821057d4729d8bb369af3a230e717af5563abb.tar.xz
libguestfs-15821057d4729d8bb369af3a230e717af5563abb.zip
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.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh
index 9c73a2de..bd15a271 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -42,6 +42,26 @@ 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