summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2008-01-05 15:16:31 +0000
committerRichard W.M. Jones <rjones@redhat.com>2008-01-05 15:16:31 +0000
commit3126bfee333b5c635dc60a54265936af06117f6a (patch)
treee08310b1d4b007eec44381390c84049b1dd8658b /configure.ac
parent1e65c6c293a0f7917e87438330e2583bd38758dd (diff)
downloadvirt-top-3126bfee333b5c635dc60a54265936af06117f6a.tar.gz
virt-top-3126bfee333b5c635dc60a54265936af06117f6a.tar.xz
virt-top-3126bfee333b5c635dc60a54265936af06117f6a.zip
Build libvirt and examples on Windows (MinGW).
* aclocal.m4: Add AC_CHECK_OCAML_MODULE to check for OCaml modules directly (without ocamlfind being needed). * configure.ac: Remove requirement for ocamlfind. * config.guess, config.sub: Ship these files to guess host, build and target. * libvirt/Makefile.in, examples/Makefile.in: Change these so they don't require ocamlfind, do the right thing on MinGW. * Make.rules.in: Make.rules is now generated from this file. File can use ocamlfind or direct ocaml commands as available. * .hgignore: Ignore some generated files on Windows.
Diffstat (limited to 'configure.ac')
-rwxr-xr-x[-rw-r--r--]configure.ac125
1 files changed, 81 insertions, 44 deletions
diff --git a/configure.ac b/configure.ac
index 1fa9361..c90a2b0 100644..100755
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ocaml-libvirt,0.4.0.0)
+AC_INIT(ocaml-libvirt,0.4.0.1)
dnl Check for basic C environment.
AC_PROG_CC
@@ -29,6 +29,24 @@ test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
AC_PROG_CC_C_O
+dnl Select some C flags based on the host type.
+AC_CANONICAL_HOST
+
+DEBUG="-g"
+WARNINGS="-Wall -Werror"
+CFLAGS_FPIC="-fPIC"
+WIN32=no
+case "$host" in
+ *-*-mingw*)
+ WARNINGS="$WARNINGS -Wno-unused"
+ CFLAGS_FPIC=""
+ WIN32=yes
+esac
+AC_SUBST(DEBUG)
+AC_SUBST(WARNINGS)
+AC_SUBST(CFLAGS_FPIC)
+AC_SUBST(WIN32)
+
dnl Check for libvirt development environment.
AC_ARG_WITH(libvirt,
AC_HELP_STRING([--with-libvirt=PATH],[Set path to installed libvirt]),
@@ -63,33 +81,71 @@ dnl Check for optional ncurses.
AC_CHECK_LIB(ncurses,initscr)
dnl Check for basic OCaml environment & findlib.
+dnl Note that findlib is not necessary, but things will work better
+dnl if it is present.
AC_PROG_OCAML
AC_PROG_FINDLIB
-if test "x$OCAMLFIND" = "x"; then
- AC_MSG_ERROR([Cannot find required program 'ocamlfind' (part of findlib)])
-fi
-dnl Check for required OCaml packages.
-AC_CHECK_OCAML_PKG(unix)
-if test "x$pkg_unix" != "xyes"; then
- AC_MSG_ERROR([Cannot find required OCaml package 'unix'])
+if test "x$OCAMLFIND" != "x"; then
+ dnl Use ocamlfind to find the required packages ...
+
+ dnl Check for required OCaml packages.
+ AC_CHECK_OCAML_PKG(unix)
+ if test "x$pkg_unix" != "xyes"; then
+ AC_MSG_ERROR([Cannot find required OCaml package 'unix'])
+ fi
+
+ dnl Check for optional OCaml packages.
+ AC_CHECK_OCAML_PKG(extlib)
+ AC_CHECK_OCAML_PKG(lablgtk2)
+ AC_CHECK_OCAML_PKG(curses)
+ AC_CHECK_OCAML_PKG(gettext)
+ AC_CHECK_OCAML_PKG(xml-light)
+ AC_CHECK_OCAML_PKG(csv)
+ AC_CHECK_OCAML_PKG(calendar)
+
+ AC_SUBST(pkg_unix)
+ AC_SUBST(pkg_extlib)
+ AC_SUBST(pkg_lablgtk2)
+ AC_SUBST(pkg_curses)
+ AC_SUBST(pkg_gettext)
+ AC_SUBST(pkg_xml_light)
+ AC_SUBST(pkg_csv)
+ AC_SUBST(pkg_calendar)
+else
+ dnl Use a basic module test if there is no findlib ...
+
+ dnl Check for required OCaml modules.
+ AC_CHECK_OCAML_MODULE(unix,pkg_unix,Unix,[.])
+ if test "x$pkg_unix" = "xno"; then
+ AC_MSG_ERROR([Cannot find required OCaml package 'unix'])
+ fi
+
+ dnl Check for optional OCaml modules.
+ AC_CHECK_OCAML_MODULE(extlib,pkg_extlib,ExtString,[extlib])
+ AC_CHECK_OCAML_MODULE(lablgtk2,pkg_lablgtk2,GMain,[lablgtk2])
+ AC_CHECK_OCAML_MODULE(curses,pkg_curses,Curses,[curses])
+ AC_CHECK_OCAML_MODULE(gettext,pkg_gettext,Gettext,[gettext]) dnl XXX
+ AC_CHECK_OCAML_MODULE(xml-light,pkg_xml_light,Xml,[xml-light])
+ AC_CHECK_OCAML_MODULE(csv,pkg_csv,Csv,[csv])
+ AC_CHECK_OCAML_MODULE(calendar,pkg_calendar,Calendar,[calendar])
fi
-dnl Check for optional OCaml packages.
-AC_CHECK_OCAML_PKG(extlib)
-AC_CHECK_OCAML_PKG(lablgtk2)
-AC_CHECK_OCAML_PKG(curses)
-AC_CHECK_OCAML_PKG(gettext)
-AC_CHECK_OCAML_PKG(xml-light)
-AC_CHECK_OCAML_PKG(csv)
-AC_CHECK_OCAML_PKG(calendar)
-
-AC_SUBST(pkg_lablgtk2)
-AC_SUBST(pkg_curses)
-AC_SUBST(pkg_gettext)
-AC_SUBST(pkg_xml_light)
-AC_SUBST(pkg_csv)
-AC_SUBST(pkg_calendar)
+dnl Which subpackages (== subdirs) will we build?
+subdirs="libvirt examples"
+if test "x$pkg_extlib" != "xno"; then
+ subdirs="$subdirs mlvirsh"
+fi
+if test "x$pkg_lablgtk2" != "xno"; then
+ subdirs="$subdirs mlvirtmanager"
+fi
+if test "x$pkg_extlib" != "xno" -a "x$pkg_curses" != "xno"; then
+ subdirs="$subdirs virt-top"
+fi
+if test "x$pkg_extlib" != "xno" -a "x$pkg_xml_light" != "xno"; then
+ subdirs="$subdirs virt-df"
+fi
+AC_SUBST(subdirs)
dnl Check for optional perldoc (for building manual pages).
AC_CHECK_PROG(HAVE_PERLDOC,perldoc,perldoc)
@@ -97,27 +153,7 @@ AC_CHECK_PROG(HAVE_PERLDOC,perldoc,perldoc)
dnl Summary.
echo "------------------------------------------------------------"
echo "Thanks for downloading" $PACKAGE_STRING
-echo " OCaml libvirt bindings . yes"
-echo " example programs . . . . yes"
-echo " mlvirsh . . . . . . . . yes"
-echo -n " mlvirtmanager . . . . . "
-if test "x$pkg_lablgtk2" = "xyes"; then
- echo "yes"
-else
- echo "no (needs optional lablgtk2)"
-fi
-echo -n " virt-top . . . . . . . "
-if test "x$pkg_curses" = "xyes"; then
- echo "yes"
-else
- echo "no (needs optional ocaml-curses)"
-fi
-echo -n " virt-df . . . . . . . "
-if test "x$pkg_xml_light" = "xyes"; then
- echo "yes"
-else
- echo "no (needs optional xml-light)"
-fi
+echo " subpackages to build : $subdirs"
echo "------------------------------------------------------------"
dnl Produce output files.
@@ -125,6 +161,7 @@ AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([META
libvirt/libvirt_version.ml
Makefile
+ Make.rules
libvirt/Makefile
examples/Makefile
mlvirsh/Makefile