diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2008-01-05 15:16:31 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2008-01-05 15:16:31 +0000 |
commit | 3126bfee333b5c635dc60a54265936af06117f6a (patch) | |
tree | e08310b1d4b007eec44381390c84049b1dd8658b /configure.ac | |
parent | 1e65c6c293a0f7917e87438330e2583bd38758dd (diff) | |
download | virt-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.ac | 125 |
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 |