V2V outline program.
[libguestfs.git] / configure.ac
1 # libguestfs
2 # Copyright (C) 2009 Red Hat Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 # major/minor/release must be numbers
19 m4_define([libguestfs_major],   [1])
20 m4_define([libguestfs_minor],   [0])
21 m4_define([libguestfs_release], [58])
22 # extra can be any string
23 m4_define([libguestfs_extra],   [])
24
25 AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release[]libguestfs_extra)
26 AM_INIT_AUTOMAKE([foreign])
27
28 AC_CONFIG_MACRO_DIR([m4])
29
30 AC_PROG_LIBTOOL
31
32 dnl Split up the version string.
33 AC_DEFINE([PACKAGE_VERSION_MAJOR],[libguestfs_major],[Major version number])
34 AC_DEFINE([PACKAGE_VERSION_MINOR],[libguestfs_minor],[Minor version number])
35 AC_DEFINE([PACKAGE_VERSION_RELEASE],[libguestfs_release],[Release number])
36 AC_DEFINE([PACKAGE_VERSION_EXTRA],["libguestfs_extra"],[Extra version string])
37
38 dnl Check for basic C environment.
39 AC_PROG_CC_STDC
40 AC_PROG_INSTALL
41 AC_PROG_CPP
42
43 AC_C_PROTOTYPES
44 test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
45
46 AM_PROG_CC_C_O
47
48 dnl Check support for 64 bit file offsets.
49 AC_SYS_LARGEFILE
50
51 dnl Check sizeof long.
52 AC_CHECK_SIZEOF([long])
53
54 dnl Headers.
55 AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h])
56
57 dnl Check for rpcgen and XDR library.  rpcgen is optional.
58 AC_CHECK_PROG([RPCGEN],[rpcgen],[rpcgen],[no])
59 AM_CONDITIONAL([HAVE_RPCGEN],[test "x$RPCGEN" != "xno"])
60 AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
61         AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
62         ])
63
64 dnl Check for pod2man and pod2text.
65 AC_CHECK_PROG([POD2MAN],[pod2man],[pod2man],[no])
66 test "x$POD2MAN" = "xno" &&
67      AC_MSG_ERROR([pod2man must be installed])
68 AC_CHECK_PROG([POD2TEXT],[pod2text],[pod2text],[no])
69 test "x$POD2TEXT" = "xno" &&
70      AC_MSG_ERROR([pod2text must be installed])
71
72 dnl Check for mksquashfs.
73 AC_PATH_PROGS([MKSQUASHFS],[mksquashfs],[no],
74         [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
75 test "x$MKSQUASHFS" = "xno" && AC_MSG_ERROR([mksquashfs must be installed])
76
77 dnl Check for QEMU for running binaries on this $host_cpu, fall
78 dnl back to basic 'qemu'.  Allow the user to override it.
79 default_qemu="qemu-kvm qemu-system-$host_cpu qemu"
80 AC_ARG_WITH([qemu],
81         [AS_HELP_STRING([--with-qemu],
82           [set default QEMU binary @<:@default=[qemu-kvm] qemu-system-<host> qemu@:>@])],
83         [],
84         [with_qemu="$default_qemu"])
85 AC_PATH_PROGS([QEMU],[$with_qemu],[no],
86         [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
87 test "x$QEMU" = "xno" && AC_MSG_ERROR([qemu must be installed])
88 AC_DEFINE_UNQUOTED([QEMU],["$QEMU"],[Location of qemu binary.])
89
90 dnl Check that the chosen qemu has vmchannel support.
91 dnl http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg01042.html
92 if test "x$vmchannel_test" != "xno"; then
93     AC_MSG_CHECKING([for vmchannel support in $QEMU])
94     vmchannelout=`$QEMU -net channel /dev/zero 2>&1 ||:`
95     echo "vmchannel test command output: $vmchannelout" >&AS_MESSAGE_LOG_FD
96     if ! echo $vmchannelout | grep -sq "vmchannel wrong port number" ; then
97         AC_MSG_RESULT([no])
98         AC_MSG_FAILURE(
99 [I did not find vmchannel support in $QEMU.
100
101 vmchannel support is vital for libguestfs to operate.  You need a version
102 of qemu >= 0.10, or the following patch backported to earlier versions:
103
104 http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg01042.html
105
106 You can override this test by setting the environment variable
107 vmchannel_test=no  However if you don't have vmchannel support
108 in your qemu, then this just delays the pain.
109
110 If I am using the wrong qemu or you want to compile qemu from source
111 and install it in another location, then you should configure with
112 the --with-qemu option.
113 ])
114     fi
115     AC_MSG_RESULT([yes])
116 fi
117
118 dnl Set drive interface used by the guestfs_add_drive{,_ro} calls
119 dnl ('-drive ...,if=...' option to qemu).
120 dnl
121 dnl NB. We will change the default in future to virtio, but at the
122 dnl moment this causes a performance problem, RHBZ#509383.
123 AC_ARG_WITH([drive-if],
124         [AS_HELP_STRING([--with-drive-if],
125           [set default driver (ide|scsi|virtio) @<:@default=ide@:>@])],
126         [],
127         [with_drive_if=ide])
128 AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.])
129
130 dnl Check for febootstrap etc.
131 AC_CHECK_PROG([FEBOOTSTRAP],
132         [febootstrap],[febootstrap],[no])
133 if test "x$FEBOOTSTRAP" != "xno"; then
134   AC_CHECK_PROG([FEBOOTSTRAP_RUN],
135         [febootstrap-run],[febootstrap-run],[no])
136   test "x$FEBOOTSTRAP_RUN" = "xno" && \
137      AC_MSG_ERROR([febootstrap-run must be installed])
138   AC_CHECK_PROG([FEBOOTSTRAP_INSTALL],
139         [febootstrap-install],[febootstrap-install],[no])
140   test "x$FEBOOTSTRAP_INSTALL" = "xno" && \
141      AC_MSG_ERROR([febootstrap-install must be installed])
142   AC_CHECK_PROG([FEBOOTSTRAP_MINIMIZE],
143         [febootstrap-minimize],[febootstrap-minimize],[no])
144   test "x$FEBOOTSTRAP_MINIMIZE" = "xno" && \
145      AC_MSG_ERROR([febootstrap-minimize must be installed])
146   AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
147         [febootstrap-to-initramfs],[febootstrap-to-initramfs],[no])
148   test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
149      AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
150
151   dnl Check we have fakechroot >= 2.9 (it's an indirect requirement
152   dnl of febootstrap, but old versions will fail with yum).
153   AC_CHECK_PROG([FAKECHROOT],
154         [fakechroot],[fakechroot],[no])
155   test "x$FAKECHROOT" = "xno" && \
156     AC_MSG_ERROR([fakechroot must be installed])
157
158   AC_MSG_CHECKING([fakechroot version])
159   fakechroot_version=`$FAKECHROOT --version | awk '{print $3}'`
160   if test -z "$fakechroot_version"; then
161     AC_MSG_RESULT([failed])
162     AC_MSG_WARN([fakechroot --version command failed, proceeding anyway])
163   else
164     AC_MSG_RESULT([$fakechroot_version])
165     fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'`
166     fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'`
167     if test "$fakechroot_major" -lt 2 -o \
168             \( "$fakechroot_major" -eq 2 -a "$fakechroot_minor" -lt 9 \); then
169         AC_MSG_ERROR([fakechroot version must be >= 2.9])
170     fi
171   fi
172   DIST="REDHAT"
173 else
174   # check for debootstrap and debirf
175   AC_CHECK_PROG([DEBOOTSTRAP],
176         [debootstrap],[debootstrap],[no])
177   test "x$DEBOOTSTRAP" = "xno" && \
178         AC_MSG_ERROR([Either febootstrap or debootstrap must be installed])
179   AC_CHECK_PROG([DEBIRF],[debirf],[debirf],[no])
180   test "x$DEBIRF" = "xno" &&
181         AC_MSG_ERROR([debirf must be installed])
182   DIST="DEBIAN"
183   case $host_cpu in
184       *86)
185           DEBIAN_KERNEL_ARCH=486
186           ;;
187       x86_64)
188           DEBIAN_KERNEL_ARCH=amd64
189           ;;
190       *)
191          DEBIAN_KERNEL_ARCH=$host_cpu
192          ;;
193    esac
194    AC_SUBST(DEBIAN_KERNEL_ARCH)
195 fi
196 AC_SUBST(DIST)
197
198
199 dnl --with-repo to specify a Fedora repository.
200 AC_ARG_WITH([repo],
201         [AS_HELP_STRING([--with-repo],
202           [set name of Fedora repository @<:@default=fedora-11@:>@])],
203         [],
204         [with_repo=fedora-11])
205 REPO="$with_repo"
206 AC_SUBST(REPO)
207 AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of Fedora repository.])
208
209 AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])
210
211 dnl --with-updates to specify a Fedora updates repository.
212 AC_ARG_WITH([updates],
213         [AS_HELP_STRING([--with-updates],
214           [set name of Fedora updates repository @<:@default=updates-released-f11@:>@])],
215         [],
216         [with_updates=updates-released-f11])
217 UPDATES="$with_updates"
218 AC_SUBST(UPDATES)
219 AC_DEFINE_UNQUOTED([UPDATES],["$UPDATES"],[Name of Fedora updates repository.])
220
221 AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])
222
223 dnl --with-mirror to specify a local Fedora mirror.
224 AC_ARG_WITH([mirror],
225         [AS_HELP_STRING([--with-mirror],
226           [set URI of a local Fedora mirror])],
227         [],
228         [with_mirror=])
229 MIRROR="$with_mirror"
230 AC_SUBST(MIRROR)
231
232 dnl Build the supermin appliance?  Please see README file before
233 dnl enabling this option.
234 AC_ARG_ENABLE([supermin],
235         [AS_HELP_STRING([--enable-supermin],
236           [enable supermin appliance (see README) @<:@default=no@:>@])],
237         [],
238         [enable_supermin=no])
239 AM_CONDITIONAL([SUPERMIN],[test "x$enable_supermin" = "xyes"])
240
241 if test "x$enable_supermin" = "xyes"; then
242     dnl Check febootstrap-to-initramfs accepts the --files option
243     dnl (febootstrap >= 2.2).
244     AC_MSG_CHECKING([for --files support in $FEBOOTSTRAP_TO_INITRAMFS])
245     out=`$FEBOOTSTRAP_TO_INITRAMFS 2>&1 ||:`
246     echo "febootstrap_to_initramfs test command output: $out" >&AS_MESSAGE_LOG_FD
247     if ! echo $out | grep -sq -- "--files" ; then
248         AC_MSG_RESULT([no])
249         AC_MSG_FAILURE(
250 [febootstrap-to-initramfs does not support the --files option.
251
252 To build the supermin appliance, you need to upgrade to the latest
253 version of febootstrap.
254 ])
255     fi
256     AC_MSG_RESULT([yes])
257
258     dnl Check febootstrap-to-initramfs accepts the --nocompress option
259     dnl (febootstrap >= 2.3).
260     AC_MSG_CHECKING([for --nocompress support in $FEBOOTSTRAP_TO_INITRAMFS])
261     out=`$FEBOOTSTRAP_TO_INITRAMFS 2>&1 ||:`
262     echo "febootstrap_to_initramfs test command output: $out" >&AS_MESSAGE_LOG_FD
263     if ! echo $out | grep -sq -- "--nocompress" ; then
264         AC_MSG_RESULT([no])
265         AC_MSG_FAILURE(
266 [febootstrap-to-initramfs does not support the --nocompress option.
267
268 To build the supermin appliance, you need to upgrade to the latest
269 version of febootstrap.
270 ])
271     fi
272     AC_MSG_RESULT([yes])
273 fi
274
275 dnl Readline.
276 AC_ARG_WITH([readline],
277     [AS_HELP_STRING([--with-readline],
278         [support fancy command line editing @<:@default=check@:>@])],
279     [],
280     [with_readline=check])
281
282 LIBREADLINE=
283 AS_IF([test "x$with_readline" != xno],
284     [AC_CHECK_LIB([readline], [main],
285         [AC_SUBST([LIBREADLINE], ["-lreadline -lncurses"])
286          AC_DEFINE([HAVE_LIBREADLINE], [1],
287                    [Define if you have libreadline])
288         ],
289         [if test "x$with_readline" != xcheck; then
290          AC_MSG_FAILURE(
291              [--with-readline was given, but test for readline failed])
292          fi
293         ], -lncurses)])
294
295 dnl For i18n.
296 AM_GNU_GETTEXT([external])
297 AM_GNU_GETTEXT_VERSION([0.14])
298
299 dnl Check for OCaml (optional, for OCaml bindings).
300 AC_PROG_OCAML
301 AC_PROG_FINDLIB
302 AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" -a "x$OCAMLFIND" != "xno"])
303
304 dnl Check for Perl (optional, for Perl bindings).
305 dnl XXX This isn't quite right, we should check for Perl devel library.
306 AC_CHECK_PROG([PERL],[perl],[perl],[no])
307
308 dnl Check for Perl modules that must be present to compile and
309 dnl test the Perl bindings.
310 missing_perl_modules=no
311 for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
312     AC_MSG_CHECKING([for $pm])
313     if ! perl -M$pm -e1 >/dev/null 2>&1; then
314         AC_MSG_RESULT([no])
315         missing_perl_modules=yes
316     else
317         AC_MSG_RESULT([yes])
318     fi
319 done
320 if test "x$missing_perl_modules" = "xyes"; then
321     AC_MSG_WARN([some Perl modules required to compile or test the Perl bindings are missing])
322 fi
323
324 AM_CONDITIONAL([HAVE_PERL],
325     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
326
327 dnl Check for Python (optional, for Python bindings).
328 AC_CHECK_PROG([PYTHON],[python],[python],[no])
329
330 PYTHON_PREFIX=
331 PYTHON_VERSION=
332 PYTHON_INCLUDEDIR=
333 PYTHON_SITE_PACKAGES=
334
335 if test "x$PYTHON" != "xno"; then
336     PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
337     PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
338     for d in \
339         $PYTHON_PREFIX/include/python$PYTHON_VERSION \
340         /usr/include/python$PYTHON_VERSION \
341         /usr/local/include/python$PYTHON_VERSION
342     do
343         AC_MSG_CHECKING([Python.h in $d])
344         if test -r "$d/Python.h"; then
345             AC_MSG_RESULT([found])
346             PYTHON_INCLUDEDIR=$d
347             break
348         fi
349         AC_MSG_RESULT([not found])
350     done
351     for d in \
352         $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \
353         $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \
354         /usr/lib64/python$PYTHON_VERSION/site-packages \
355         /usr/lib/python$PYTHON_VERSION/site-packages \
356         /usr/local/lib/python$PYTHON_VERSION/site-packages
357     do
358         AC_MSG_CHECKING([for $d])
359         if test -d "$d"; then
360             AC_MSG_RESULT([found])
361             PYTHON_SITE_PACKAGES=$d
362             break
363         fi
364         AC_MSG_RESULT([not found])
365     done
366 fi
367
368 AC_SUBST(PYTHON_PREFIX)
369 AC_SUBST(PYTHON_VERSION)
370 AC_SUBST(PYTHON_INCLUDEDIR)
371 AC_SUBST(PYTHON_SITE_PACKAGES)
372
373 AM_CONDITIONAL([HAVE_PYTHON],
374     [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"])
375
376 dnl Check for Ruby and rake (optional, for Ruby bindings).
377 AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
378 AC_CHECK_PROG([RAKE],[rake],[rake],[no])
379
380 AM_CONDITIONAL([HAVE_RUBY],
381     [test "x$RAKE" != "xno" -a -n "$HAVE_LIBRUBY"])
382
383 dnl Check for Java.
384 AC_ARG_WITH(java_home,
385     [AS_HELP_STRING([--with-java-home],
386         [specify path to JDK directory @<:@default=check@:>@])],
387     [],
388     [with_java_home=check])
389
390 if test "x$with_java_home" != "xno"; then
391     if test "x$with_java_home" != "xyes" -a "x$with_java_home" != "xcheck"
392     then
393         if test -d "$with_java_home"; then
394             JAVA_HOME="$with_java_home"
395         else
396             AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
397         fi
398     fi
399
400     if test "x$JAVA_HOME" = "x"; then
401         # Look for Java in some likely locations.
402         for d in \
403             /usr/lib/jvm/java \
404             /usr/lib/jvm/java-6-openjdk
405         do
406             if test -d $d -a -f $d/bin/java; then
407                 JAVA_HOME=$d
408                 break
409             fi
410         done
411     fi
412
413     if test "x$JAVA_HOME" != "x"; then
414         AC_MSG_CHECKING(for JDK in $JAVA_HOME)
415         if test ! -x "$JAVA_HOME/bin/java"; then
416             AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
417         else
418             JAVA="$JAVA_HOME/bin/java"
419         fi
420         if test ! -x "$JAVA_HOME/bin/javac"; then
421             AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
422         else
423             JAVAC="$JAVA_HOME/bin/javac"
424         fi
425         if test ! -x "$JAVA_HOME/bin/javah"; then
426             AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
427         else
428             JAVAH="$JAVA_HOME/bin/javah"
429         fi
430         if test ! -x "$JAVA_HOME/bin/javadoc"; then
431             AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
432         else
433             JAVADOC="$JAVA_HOME/bin/javadoc"
434         fi
435         if test ! -x "$JAVA_HOME/bin/jar"; then
436             AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
437         else
438             JAR="$JAVA_HOME/bin/jar"
439         fi
440         java_version=`$JAVA -version 2>&1 | grep "java version"`
441         AC_MSG_RESULT(found $java_version in $JAVA_HOME)
442
443         dnl Find jni.h.
444         AC_MSG_CHECKING([for jni.h])
445         if test -f "$JAVA_HOME/include/jni.h"; then
446             JNI_CFLAGS="-I$JAVA_HOME/include"
447         else
448             if test "`find $JAVA_HOME -name jni.h`" != ""; then
449                 head=`find $JAVA_HOME -name jni.h | tail -1`
450                 dir=`dirname $head`
451                 JNI_CFLAGS="-I$dir"
452             else
453                 AC_MSG_FAILURE([missing jni.h header file])
454             fi
455         fi
456         AC_MSG_RESULT([$JNI_CFLAGS])
457
458         dnl Find jni_md.h.
459         AC_MSG_CHECKING([for jni_md.h])
460         case "$build_os" in
461         *linux*) system="linux" ;;
462         *SunOS*) system="solaris" ;;
463         *cygwin*) system="win32" ;;
464         *) system="$build_os" ;;
465         esac
466         if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
467             JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
468         else
469             if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
470                 head=`find $JAVA_HOME -name jni_md.h | tail -1`
471                 dir=`dirname $head`
472                 JNI_CFLAGS="$JNI_CFLAGS -I$dir"
473             else
474                 AC_MSG_FAILURE([missing jni_md.h header file])
475             fi
476         fi
477         AC_MSG_RESULT([$JNI_CFLAGS])
478
479         dnl Need extra version flag?
480         AC_MSG_CHECKING([extra javac flags])
481         JAVAC_FLAGS=
482         javac_version=`$JAVAC -version 2>&1`
483         case "$javac_version" in
484         *Eclipse*)
485             JAVAC_FLAGS="-source 1.5" ;;
486         esac
487         AC_MSG_RESULT([$JAVAC_FLAGS])
488
489         dnl Where to install jarfiles.
490         dnl XXX How to make it configurable?
491         JAR_INSTALL_DIR=\${prefix}/share/java
492         JNI_INSTALL_DIR=\${libdir}
493
494         dnl JNI version.
495         jni_major_version=`echo $VERSION | awk -F. '{print $1}'`
496         jni_minor_version=`echo $VERSION | awk -F. '{print $2}'`
497         jni_micro_version=`echo $VERSION | awk -F. '{print $3}'`
498         JNI_VERSION_INFO=`expr $jni_major_version + $jni_minor_version`:$jni_micro_version:$jni_minor_version
499     fi
500 fi
501
502 AC_SUBST(JAVA_HOME)
503 AC_SUBST(JAVA)
504 AC_SUBST(JAVAC)
505 AC_SUBST(JAVAH)
506 AC_SUBST(JAVADOC)
507 AC_SUBST(JAR)
508 AC_SUBST(JNI_CFLAGS)
509 AC_SUBST(JAVAC_FLAGS)
510 AC_SUBST(JAR_INSTALL_DIR)
511 AC_SUBST(JNI_INSTALL_DIR)
512 AC_SUBST(JNI_VERSION_INFO)
513
514 AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
515
516 dnl Check for Haskell (GHC).
517 AC_CHECK_PROG([GHC],[ghc],[ghc],[no])
518
519 AM_CONDITIONAL([HAVE_HASKELL],
520     [test "x$GHC" != "xno"])
521
522 dnl Check for Perl modules needed by virt-df, inspector and V2V.
523 missing_perl_modules=no
524 for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer; do
525     AC_MSG_CHECKING([for $pm])
526     if ! perl -M$pm -e1 >/dev/null 2>&1; then
527         AC_MSG_RESULT([no])
528         missing_perl_modules=yes
529     else
530         AC_MSG_RESULT([yes])
531     fi
532 done
533 if test "x$missing_perl_modules" = "xyes"; then
534     AC_MSG_WARN([some Perl modules required to compile virt-df, virt-inspector and virt-v2v are missing])
535 fi
536
537 AM_CONDITIONAL([HAVE_DF],
538     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
539 AM_CONDITIONAL([HAVE_INSPECTOR],
540     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
541 AM_CONDITIONAL([HAVE_V2V],
542     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
543
544 dnl Library versioning.
545 MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
546 AC_SUBST(MAX_PROC_NR)
547
548 dnl Run in subdirs.
549 AC_CONFIG_SUBDIRS([daemon])
550
551 dnl Produce output files.
552 AC_CONFIG_HEADERS([config.h])
553 dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
554 AC_CONFIG_FILES([appliance/make.sh],
555                 [chmod +x appliance/make.sh])
556 AC_CONFIG_FILES([appliance/update.sh],
557                 [chmod +x appliance/update.sh])
558 AC_CONFIG_FILES([appliance/supermin-split.sh],
559                 [chmod +x appliance/supermin-split.sh])
560 AC_CONFIG_FILES([appliance/supermin-make.sh],
561                 [chmod +x appliance/supermin-make.sh])
562 AC_CONFIG_FILES([appliance/libguestfs-supermin-helper],
563                 [chmod +x appliance/libguestfs-supermin-helper])
564 AC_CONFIG_FILES([Makefile
565                  src/Makefile fish/Makefile po/Makefile.in examples/Makefile
566                  appliance/Makefile
567                  appliance/debian/debirf.conf
568                  images/Makefile
569                  capitests/Makefile
570                  regressions/Makefile
571                  ocaml/Makefile ocaml/examples/Makefile
572                  perl/Makefile
573                  python/Makefile
574                  ruby/Makefile ruby/Rakefile
575                  java/Makefile
576                  haskell/Makefile
577                  df/Makefile
578                  inspector/Makefile
579                  v2v/Makefile
580                  libguestfs.pc
581                  ocaml/META perl/Makefile.PL])
582 AC_OUTPUT
583
584 dnl Produce summary.
585 echo
586 echo
587 echo "------------------------------------------------------------"
588 echo "Thank you for downloading $PACKAGE_STRING"
589 echo
590 echo "This is how we have configured the optional components for you today:"
591 echo
592 echo    "QEMU ................................ $QEMU"
593 echo -n "OCaml bindings ...................... "
594 if test "x$HAVE_OCAML_TRUE" = "x"; then echo "yes"; else echo "no"; fi
595 echo -n "Perl bindings ....................... "
596 if test "x$HAVE_PERL_TRUE" = "x"; then echo "yes"; else echo "no"; fi
597 echo -n "Python bindings ..................... "
598 if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
599 echo -n "Ruby bindings ....................... "
600 if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
601 echo -n "Java bindings ....................... "
602 if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
603 echo -n "Haskell bindings .................... "
604 if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi
605 echo -n "virt-df ............................. "
606 if test "x$HAVE_DF" = "x"; then echo "yes"; else echo "no"; fi
607 echo -n "virt-inspector ...................... "
608 if test "x$HAVE_INSPECTOR" = "x"; then echo "yes"; else echo "no"; fi
609 echo -n "virt-v2v ............................ "
610 if test "x$HAVE_V2V" = "x"; then echo "yes"; else echo "no"; fi
611 echo "supermin appliance .................. $enable_supermin"
612 echo
613 echo "If any optional component is configured 'no' when you expected 'yes'"
614 echo "then you should check the preceeding messages."
615 echo
616 echo "Please report bugs back to the mailing list:"
617 echo "http://www.redhat.com/mailman/listinfo/libguestfs"
618 echo
619 echo "Next you should type 'make' to build the package,"
620 echo "then 'make check' to run the tests."
621 echo "------------------------------------------------------------"