diff options
author | Jim Meyering <meyering@redhat.com> | 2009-11-12 11:34:08 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-11-12 11:34:08 +0100 |
commit | 825d855b225c7c76371c72eae4d505a32c374007 (patch) | |
tree | 1196833fbd4bc28d8096546f3c93cf8366e6b139 /autogen.sh | |
parent | a6832406fabf251ba89ed91a9f23624fa16f977f (diff) | |
download | libguestfs-825d855b225c7c76371c72eae4d505a32c374007.tar.gz libguestfs-825d855b225c7c76371c72eae4d505a32c374007.tar.xz libguestfs-825d855b225c7c76371c72eae4d505a32c374007.zip |
build: revive the ocaml package tests
* autogen.sh: Generalize the ocaml-package-existence test.
Remove the git-related part of the old test.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-x | autogen.sh | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -42,6 +42,32 @@ 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. +# ocamlfind cannot detect the presence of -devel packages directly, +# so if $pkg ends in -devel, first check for the base package, and +# if that's found, check for the existence of $base.cmxa in the +# resulting directory. +require_ocaml_pkg() +{ + pkg=$1 + case $pkg in + *-devel) + local base=${pkg%%-devel} + local dir=$(ocamlfind query "$base") || return 1 + test -f "$dir/$base.cmxa" || return 1 + ;; + *) ocamlfind query "$pkg" > /dev/null 2>&1 || return 1;; + esac + return 0 +} + +{ require_ocaml_pkg xml-light && require_ocaml_pkg xml-light-devel; } \ + || { echo "you must have ocaml, ocamlfind, ocaml-xml-light" \ + "and ocaml-xml-light-devel" >&2; exit 1; } + # If no arguments were specified and configure has run before, use the previous # arguments if [ $# == 0 -a -x ./config.status ]; then |