2005-11-02 15:50:21 +03:00
dnl Process this file with autoconf to produce a configure script.
2007-09-19 03:46:18 +04:00
2009-10-14 13:16:13 +04:00
AC_INIT([libvirt], [0.7.2])
2008-05-22 19:34:02 +04:00
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_CONFIG_HEADER([config.h])
2007-09-19 03:46:18 +04:00
dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability])
2009-07-08 13:51:59 +04:00
# Use the silent-rules feature when possible.
m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
AM_SILENT_RULES([yes])
2005-11-02 15:50:21 +03:00
AC_CANONICAL_HOST
2008-03-31 16:13:52 +04:00
LIBVIRT_MAJOR_VERSION=`echo $VERSION | awk -F. '{print $1}'`
LIBVIRT_MINOR_VERSION=`echo $VERSION | awk -F. '{print $2}'`
LIBVIRT_MICRO_VERSION=`echo $VERSION | awk -F. '{print $3}'`
2006-02-15 16:21:17 +03:00
LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX
LIBVIRT_VERSION_INFO=`expr $LIBVIRT_MAJOR_VERSION + $LIBVIRT_MINOR_VERSION`:$LIBVIRT_MICRO_VERSION:$LIBVIRT_MINOR_VERSION
LIBVIRT_VERSION_NUMBER=`expr $LIBVIRT_MAJOR_VERSION \* 1000000 + $LIBVIRT_MINOR_VERSION \* 1000 + $LIBVIRT_MICRO_VERSION`
2005-11-02 15:50:21 +03:00
2008-05-22 19:34:02 +04:00
AC_SUBST([LIBVIRT_MAJOR_VERSION])
AC_SUBST([LIBVIRT_MINOR_VERSION])
AC_SUBST([LIBVIRT_MICRO_VERSION])
AC_SUBST([LIBVIRT_VERSION])
AC_SUBST([LIBVIRT_VERSION_INFO])
AC_SUBST([LIBVIRT_VERSION_NUMBER])
2005-11-02 15:50:21 +03:00
2007-09-19 19:35:00 +04:00
dnl Required minimum versions of all libs we depend on
2009-04-03 19:25:38 +04:00
LIBXML_REQUIRED="2.6.0"
2007-11-26 14:34:57 +03:00
GNUTLS_REQUIRED="1.0.25"
2007-09-19 05:56:55 +04:00
AVAHI_REQUIRED="0.6.0"
2007-12-05 21:21:27 +03:00
POLKIT_REQUIRED="0.6"
2008-02-20 18:52:17 +03:00
PARTED_REQUIRED="1.8.0"
2009-10-28 12:40:54 +03:00
NETCF_REQUIRED="0.1.3"
2007-09-19 05:56:55 +04:00
2007-11-29 20:41:57 +03:00
dnl Checks for C compiler.
2005-11-02 16:19:10 +03:00
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
2007-09-20 22:40:36 +04:00
2008-10-15 22:39:34 +04:00
AC_OBJEXT
2007-12-06 02:02:13 +03:00
dnl gl_INIT uses m4_foreach_w, yet that is not defined in autoconf-2.59.
dnl In order to accommodate developers with such old tools, here's a
dnl replacement definition.
m4_ifndef([m4_foreach_w],
[m4_define([m4_foreach_w],
[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
gnulib/lib
gnulib/m4
gnulib/tests
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4. Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.
Author: Jim Meyering <meyering@redhat.com>
2007-12-06 00:31:07 +03:00
gl_EARLY
gl_INIT
AM_PROG_CC_STDC
AC_C_CONST
2005-11-02 16:19:10 +03:00
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
2008-05-22 19:34:02 +04:00
test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
2005-11-02 16:19:10 +03:00
2007-11-29 20:41:57 +03:00
dnl Support building Win32 DLLs (must appear *before* AM_PROG_LIBTOOL)
AC_LIBTOOL_WIN32_DLL
2005-11-02 16:19:10 +03:00
AM_PROG_LIBTOOL
2007-03-15 20:24:56 +03:00
AM_PROG_CC_C_O
2008-12-18 00:39:41 +03:00
VERSION_SCRIPT_FLAGS=-Wl,--version-script=
`/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null` || \
VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
AC_SUBST(VERSION_SCRIPT_FLAGS)
2008-05-22 19:34:02 +04:00
LIBVIRT_COMPILE_WARNINGS([maximum])
2007-03-01 19:18:55 +03:00
virDomainBlockPeek call
* configure.in: Document AC_SYS_LARGEFILE.
* docs/hvsupport.html.in: Document HV support for virDomainBlockPeek.
* include/libvirt/libvirt.h.in, src/driver.h, src/libvirt.c,
src/libvirt_sym.version: Add virDomainBlockPeek infrastructure.
* src/qemu_driver.c, src/test.c: Null versions of this call.
* src/xen_unified.c, src/xend_internal.c, src/xend_internal.h,
src/xm_internal.c, src/xm_internal.h: Xen implementation.
* tests/sexpr2xmldata/sexpr2xml-curmem.xml,
tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml: XML output
has been reordered slightly in the Xen driver, but should be
functionally the same.
2008-06-05 17:17:45 +04:00
dnl Support large files / 64 bit seek offsets.
dnl Use --disable-largefile if you don't want this.
AC_SYS_LARGEFILE
2007-06-15 19:24:20 +04:00
dnl Availability of various common functions (non-fatal if missing).
2009-04-02 22:42:33 +04:00
AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity getuid getgid posix_fallocate mmap readlink])
2007-06-15 19:24:20 +04:00
2009-01-20 20:13:33 +03:00
dnl Availability of various not common threadsafe functions
2009-01-22 22:41:48 +03:00
AC_CHECK_FUNCS([strerror_r strtok_r getmntent_r getgrnam_r getpwuid_r])
2009-01-20 20:13:33 +03:00
2007-06-15 19:24:20 +04:00
dnl Availability of various common headers (non-fatal if missing).
Support configuration of huge pages in guests
Add option to domain XML for
<memoryBacking>
<hugepages/>
</memoryBacking>
* configure.in: Add check for mntent.h
* qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug, src/qemu.conf
Add 'hugetlbfs_mount' config parameter
* src/qemu_conf.c, src/qemu_conf.h: Check for -mem-path flag in QEMU,
and pass it when hugepages are requested.
Load hugetlbfs_mount config parameter, search for mount if not given.
* src/qemu_driver.c: Free hugetlbfs_mount/path parameter in driver shutdown.
Create directory for QEMU hugepage usage, chowning if required.
* docs/formatdomain.html.in: Document memoryBacking/hugepages elements
* docs/schemas/domain.rng: Add memoryBacking/hugepages elements to schema
* src/util.c, src/util.h, src/libvirt_private.syms: Add virFileFindMountPoint
helper API
* tests/qemuhelptest.c: Add -mem-path constants
* tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c: Add tests for hugepage
handling
* tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml,
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args: Data files for
hugepage tests
2009-08-25 18:05:18 +04:00
AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/syslimits.h sys/utsname.h sys/wait.h winsock2.h sched.h termios.h sys/poll.h syslog.h mntent.h])
2007-06-15 19:24:20 +04:00
2008-01-23 17:54:41 +03:00
dnl Where are the XDR functions?
dnl If portablexdr is installed, prefer that.
2009-01-08 23:42:01 +03:00
dnl Otherwise try -lrpc (Cygwin) -lxdr (some MinGW), -lnsl (Solaris)
dnl or none (most Unix)
2008-01-23 17:54:41 +03:00
AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
2009-01-08 23:42:01 +03:00
AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
2008-01-23 17:54:41 +03:00
])
2007-11-26 14:43:01 +03:00
2008-09-05 16:03:45 +04:00
AC_CHECK_LIB([intl],[gettext],[])
2007-11-26 14:45:26 +03:00
dnl Do we have rpcgen?
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([RPCGEN], [rpcgen], [no])
2009-01-29 00:33:56 +03:00
AM_CONDITIONAL([HAVE_RPCGEN], [test "x$ac_cv_path_RPCGEN" != "xno"])
2007-12-04 22:14:11 +03:00
dnl Is this GLIBC's buggy rpcgen?
2009-01-29 00:33:56 +03:00
AM_CONDITIONAL([HAVE_GLIBC_RPCGEN],
2007-12-04 22:14:11 +03:00
[test "x$ac_cv_path_RPCGEN" != "xno" &&
$ac_cv_path_RPCGEN -t </dev/null >/dev/null 2>&1])
2007-11-26 14:45:26 +03:00
2008-04-18 12:33:23 +04:00
dnl pthread?
2008-05-22 19:34:02 +04:00
AC_CHECK_HEADER([pthread.h],
[AC_CHECK_LIB([pthread],[pthread_join],[
2008-04-18 12:33:23 +04:00
AC_DEFINE([HAVE_LIBPTHREAD],[],[Define if pthread (-lpthread)])
AC_DEFINE([HAVE_PTHREAD_H],[],[Define if <pthread.h>])
2008-08-22 12:32:58 +04:00
LIBS="-lpthread $LIBS"
2008-05-22 19:34:02 +04:00
])])
2008-04-18 12:33:23 +04:00
2007-11-29 20:41:57 +03:00
dnl Miscellaneous external programs.
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([RM], [rm], [/bin/rm])
AC_PATH_PROG([MV], [mv], [/bin/mv])
AC_PATH_PROG([TAR], [tar], [/bin/tar])
AC_PATH_PROG([XMLLINT], [xmllint], [/usr/bin/xmllint])
2008-08-20 17:16:29 +04:00
AC_PATH_PROG([XMLCATALOG], [xmlcatalog], [/usr/bin/xmlcatalog])
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([XSLTPROC], [xsltproc], [/usr/bin/xsltproc])
2008-09-04 14:44:23 +04:00
AC_PATH_PROG([AUGPARSE], [augparse], [/usr/bin/augparse])
2008-06-10 14:43:28 +04:00
AC_PROG_MKDIR_P
2007-11-29 20:41:57 +03:00
dnl External programs that we can use if they are available.
dnl We will hard-code paths to these programs unless we cannot
dnl detect them, in which case we'll search for the program
dnl along the $PATH at runtime and fail if it's not there.
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([DNSMASQ], [dnsmasq], [dnsmasq],
2007-11-29 20:41:57 +03:00
[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([BRCTL], [brctl], [brctl],
2007-11-29 20:41:57 +03:00
[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
2008-11-28 10:50:20 +03:00
AC_PATH_PROG([UDEVADM], [udevadm], [],
[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
2008-12-02 15:41:29 +03:00
AC_PATH_PROG([UDEVSETTLE], [udevsettle], [],
[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
2009-03-02 19:18:11 +03:00
AC_PATH_PROG([MODPROBE], [modprobe], [],
[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
2007-11-29 20:41:57 +03:00
AC_DEFINE_UNQUOTED([DNSMASQ],["$DNSMASQ"],
[Location or name of the dnsmasq program])
AC_DEFINE_UNQUOTED([BRCTL],["$BRCTL"],
[Location or name of the brctl program (see bridge-utils)])
2008-11-28 10:50:20 +03:00
if test -n "$UDEVADM"; then
AC_DEFINE_UNQUOTED([UDEVADM],["$UDEVADM"],
[Location or name of the udevadm program])
fi
2008-12-02 15:41:29 +03:00
if test -n "$UDEVSETTLE"; then
AC_DEFINE_UNQUOTED([UDEVSETTLE],["$UDEVSETTLE"],
[Location or name of the udevsettle program])
fi
2009-03-02 19:18:11 +03:00
if test -n "$MODPROBE"; then
AC_DEFINE_UNQUOTED([MODPROBE],["$MODPROBE"],
[Location or name of the modprobe program])
fi
2007-11-29 20:41:57 +03:00
2005-12-07 16:45:20 +03:00
dnl Specific dir for HTML output ?
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([html-dir], [AC_HELP_STRING([--with-html-dir=path],
[path to base html directory, default $datadir/doc/html])],
2005-12-07 16:45:20 +03:00
[HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([html-subdir], [AC_HELP_STRING([--with-html-subdir=path],
[directory used under html-dir, default $PACKAGE-$VERSION/html])],
2005-12-07 16:45:20 +03:00
[test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
[HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
2008-05-22 19:34:02 +04:00
AC_SUBST([HTML_DIR])
2005-12-07 16:45:20 +03:00
2007-11-27 17:39:42 +03:00
dnl if --prefix is /usr, don't use /usr/var for localstatedir
dnl or /usr/etc for sysconfdir
dnl as this makes a lot of things break in testing situations
2007-12-07 18:17:42 +03:00
if test "$prefix" = "/usr" -a "$localstatedir" = '${prefix}/var' ; then
2007-11-27 17:39:42 +03:00
localstatedir='/var'
fi
2007-12-07 18:17:42 +03:00
if test "$prefix" = "/usr" -a "$sysconfdir" = '${prefix}/etc' ; then
2007-11-27 17:39:42 +03:00
sysconfdir='/etc'
fi
2007-06-11 16:19:46 +04:00
dnl Allow to build without Xen, QEMU/KVM, test or remote driver
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([xen],
2007-09-19 03:36:30 +04:00
[ --with-xen add XEN support (on)],[],[with_xen=yes])
2008-11-25 13:44:52 +03:00
AC_ARG_WITH([xen-inotify],
2009-08-05 12:57:40 +04:00
[ --with-xen-inotify add XEN inotify support (on)],[],[with_xen_inotify=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([qemu],
2007-09-19 03:36:30 +04:00
[ --with-qemu add QEMU/KVM support (on)],[],[with_qemu=yes])
2008-11-19 19:58:23 +03:00
AC_ARG_WITH([uml],
2009-08-05 12:47:18 +04:00
[ --with-uml add UML support (on)],[],[with_uml=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([openvz],
2008-07-29 12:42:56 +04:00
[ --with-openvz add OpenVZ support (on)],[],[with_openvz=yes])
2009-09-04 14:08:47 +04:00
AC_ARG_WITH([libssh2],
[ --with-libssh2=[PFX] libssh2 location],[],[with_libssh2=yes])
2009-07-24 18:17:06 +04:00
AC_ARG_WITH([phyp],
2009-07-24 20:20:50 +04:00
[ --with-phyp=[PFX] add PHYP support (on)],[],[with_phyp=check])
2009-04-17 20:09:07 +04:00
AC_ARG_WITH([vbox],
[ --with-vbox add VirtualBox support (on)],[],[with_vbox=yes])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([lxc],
2009-08-05 12:52:14 +04:00
[ --with-lxc add Linux Container support (on)],[],[with_lxc=check])
2009-05-25 15:56:00 +04:00
AC_ARG_WITH([one],
2009-06-24 21:32:56 +04:00
[ --with-one add ONE support (on)],[],[with_one=check])
2009-07-24 00:21:08 +04:00
AC_ARG_WITH([esx],
2009-08-05 12:43:37 +04:00
[ --with-esx add ESX support (on)],[],[with_esx=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([test],
2007-09-19 03:36:30 +04:00
[ --with-test add test driver support (on)],[],[with_test=yes])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([remote],
2007-09-19 03:36:30 +04:00
[ --with-remote add remote driver support (on)],[],[with_remote=yes])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([libvirtd],
2007-12-06 19:34:48 +03:00
[ --with-libvirtd add libvirtd support (on)],[],[with_libvirtd=yes])
2007-03-15 10:43:16 +03:00
2005-12-02 15:11:06 +03:00
dnl
dnl specific tests to setup DV devel environments with debug etc ...
dnl
2006-02-10 13:28:59 +03:00
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/libvirt" ]] ; then
2005-12-02 15:11:06 +03:00
STATIC_BINARIES="-static"
else
STATIC_BINARIES=
fi
2008-05-22 19:34:02 +04:00
AC_SUBST([STATIC_BINARIES])
2005-12-02 15:11:06 +03:00
2007-02-16 21:30:55 +03:00
dnl --enable-debug=(yes|no)
2008-05-22 19:34:02 +04:00
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug=no/yes],
[enable debugging output])],[],[enable_debug=yes])
2009-01-05 17:05:29 +03:00
AM_CONDITIONAL([ENABLE_DEBUG], test x"$enable_debug" = x"yes")
2007-02-16 21:30:55 +03:00
if test x"$enable_debug" = x"yes"; then
2008-05-22 19:34:02 +04:00
AC_DEFINE([ENABLE_DEBUG], [], [whether debugging is enabled])
2007-02-16 21:30:55 +03:00
fi
2007-08-07 17:02:35 +04:00
2007-06-11 16:19:46 +04:00
AC_MSG_CHECKING([where to write libvirtd PID file])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([remote-pid-file], [AC_HELP_STRING([--with-remote-pid-file=[pidfile|none]], [PID file for libvirtd])])
2007-06-11 16:19:46 +04:00
if test "x$with_remote_pid_file" == "x" ; then
REMOTE_PID_FILE="$localstatedir/run/libvirtd.pid"
elif test "x$with_remote_pid_file" == "xnone" ; then
REMOTE_PID_FILE=""
else
REMOTE_PID_FILE="$with_remote_pid_file"
fi
2008-05-22 19:34:02 +04:00
AC_SUBST([REMOTE_PID_FILE])
2007-06-11 16:19:46 +04:00
AC_MSG_RESULT($REMOTE_PID_FILE)
2007-02-23 15:50:58 +03:00
dnl
dnl init script flavor
dnl
AC_MSG_CHECKING([for init script flavor])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([init-script],
2009-11-02 19:55:40 +03:00
[AC_HELP_STRING([--with-init-script=[redhat|auto|none]],
[Style of init script to install (defaults to auto)])])
if test "x$with_init_script" = "x" -o "x$with_init_script" = "xauto"; then
2007-02-23 15:50:58 +03:00
if test -f /etc/redhat-release ; then
2009-11-02 19:55:40 +03:00
with_init_script=redhat
2007-02-23 15:50:58 +03:00
else
2009-11-02 19:55:40 +03:00
with_init_script=none
2007-02-23 15:50:58 +03:00
fi
fi
2009-11-02 19:55:40 +03:00
AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_RED_HAT], test x$with_init_script = xredhat)
AC_MSG_RESULT($with_init_script)
2007-02-23 15:50:58 +03:00
2009-01-19 20:41:39 +03:00
dnl RHEL-5 has a peculiar version of Xen, which requires some special casing
AC_ARG_WITH([rhel5-api],
[AC_HELP_STRING([--with-rhel5-api=[ARG]],
[build for the RHEL-5 API [default=no]])])
if test x"$with_rhel5_api" = x"yes"; then
AC_DEFINE([WITH_RHEL5_API], [1], [whether building for the RHEL-5 API])
fi
2008-01-10 16:54:02 +03:00
dnl
dnl ensure that Fedora's system-config-firewall knows
dnl about libvirt's iptables rules
dnl
2008-05-22 19:34:02 +04:00
AC_ARG_ENABLE([iptables-lokkit],
[AC_HELP_STRING([--enable-iptables-lokkit=no/yes/check],
[enable registering libvirt's iptables rules with Fedora's lokkit])],
2008-01-10 16:54:02 +03:00
[],[enable_iptables_lokkit=check])
if test x"$enable_iptables_lokkit" != x"no"; then
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([LOKKIT_PATH],[lokkit], [], [/usr/sbin:$PATH])
2008-01-10 16:54:02 +03:00
fi
if test x"$enable_iptables_lokkit" = x"yes" -a x"$LOKKIT_PATH" = x; then
AC_MSG_ERROR([Cannot find lokkit and --enable-iptables-lokkit specified])
fi
if test x"$LOKKIT_PATH" != x; then
2008-05-22 19:34:02 +04:00
AC_DEFINE([ENABLE_IPTABLES_LOKKIT], [], [whether support for Fedora's lokkit is enabled])
AC_DEFINE_UNQUOTED([LOKKIT_PATH], "$LOKKIT_PATH", [path to lokkit binary])
2008-01-10 16:54:02 +03:00
fi
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([IPTABLES_PATH], [iptables], /sbin/iptables, [/usr/sbin:$PATH])
AC_DEFINE_UNQUOTED([IPTABLES_PATH], "$IPTABLES_PATH", [path to iptables binary])
2007-02-14 19:26:42 +03:00
2008-08-21 00:48:35 +04:00
if test "$with_openvz" = "yes"; then
2008-11-05 02:37:23 +03:00
AC_DEFINE_UNQUOTED([WITH_OPENVZ], 1, [whether OpenVZ driver is enabled])
2007-07-17 17:27:26 +04:00
fi
2008-08-21 00:48:35 +04:00
AM_CONDITIONAL([WITH_OPENVZ], [test "$with_openvz" = "yes"])
2009-04-17 20:09:07 +04:00
if test "x$with_vbox" = "xyes"; then
AC_DEFINE_UNQUOTED([WITH_VBOX], 1, [whether VirtualBox driver is enabled])
fi
AM_CONDITIONAL([WITH_VBOX], [test "$with_vbox" = "yes"])
2008-11-05 02:37:23 +03:00
if test "$with_libvirtd" = "no" ; then
with_qemu=no
fi
2007-09-19 03:36:30 +04:00
if test "$with_qemu" = "yes" ; then
2008-11-05 02:37:23 +03:00
AC_DEFINE_UNQUOTED([WITH_QEMU], 1, [whether QEMU driver is enabled])
2007-03-15 10:43:16 +03:00
fi
2008-08-21 00:48:35 +04:00
AM_CONDITIONAL([WITH_QEMU], [test "$with_qemu" = "yes"])
2007-03-15 10:43:16 +03:00
2009-05-25 15:56:00 +04:00
if test "$with_one" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_ONE],1,[whether ONE driver is enabled])
fi
AM_CONDITIONAL([WITH_ONE],[test "$with_one" = "yes"])
2007-09-19 03:36:30 +04:00
if test "$with_test" = "yes" ; then
2008-11-05 02:37:23 +03:00
AC_DEFINE_UNQUOTED([WITH_TEST], 1, [whether Test driver is enabled])
2007-03-15 10:43:16 +03:00
fi
2008-08-21 00:48:35 +04:00
AM_CONDITIONAL([WITH_TEST], [test "$with_test" = "yes"])
2007-03-15 10:43:16 +03:00
2007-09-19 03:36:30 +04:00
if test "$with_remote" = "yes" ; then
2008-11-05 02:37:23 +03:00
AC_DEFINE_UNQUOTED([WITH_REMOTE], 1, [whether Remote driver is enabled])
2007-06-11 16:19:46 +04:00
fi
2008-08-21 00:48:35 +04:00
AM_CONDITIONAL([WITH_REMOTE], [test "$with_remote" = "yes"])
2007-06-11 16:19:46 +04:00
2008-06-10 19:35:15 +04:00
if test "$with_libvirtd" = "yes" ; then
2008-11-05 02:37:23 +03:00
AC_DEFINE_UNQUOTED([WITH_LIBVIRTD], 1, [whether libvirtd daemon is enabled])
2008-06-10 19:35:15 +04:00
fi
2008-08-21 00:48:35 +04:00
AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"])
2008-06-10 19:35:15 +04:00
2008-11-05 02:37:23 +03:00
XEN_LIBS=""
XEN_CFLAGS=""
dnl search for the Xen store library
if test "$with_xen" != "no" ; then
if test "$with_xen" != "yes" -a "$with_xen" != "check" ; then
XEN_CFLAGS="-I$with_xen/include"
XEN_LIBS="-L$with_xen/lib64 -L$with_xen/lib"
2007-03-15 10:43:16 +03:00
fi
2008-11-05 02:37:23 +03:00
fail=0
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $XEN_CFLAGS"
LIBS="$LIBS $XEN_LIBS"
AC_CHECK_LIB([xenstore], [xs_read], [
with_xen=yes
XEN_LIBS="$XEN_LIBS -lxenstore"
],[
if test "$with_xen" = "check" ; then
with_xen=no
else
with_xen=no
fail=1
fi
])
test $fail = 1 &&
AC_MSG_ERROR([You must install the Xen development package to compile Xen driver with -lxenstore])
2007-07-19 19:37:54 +04:00
2008-05-22 19:34:02 +04:00
AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[
2007-07-19 19:37:54 +04:00
AC_MSG_ERROR([Cannot find standard Xen headers. Is xen-devel installed?])
],
[#include <stdio.h>
#include <stdint.h>
])
dnl Search for the location of <xen/{linux,sys}/privcmd.h>.
2008-05-22 19:34:02 +04:00
AC_CHECK_HEADERS([xen/sys/privcmd.h],,[
AC_CHECK_HEADERS([xen/linux/privcmd.h],,[
2007-07-19 19:37:54 +04:00
AC_MSG_ERROR([Cannot find header file <xen/linux/privcmd.h> or <xen/sys/privcmd.h>. Is xen-devel installed?])
],
[#include <stdio.h>
#include <stdint.h>
#include <xen/xen.h>
])
],
[#include <stdio.h>
#include <stdint.h>
#include <xen/xen.h>
])
2008-11-05 02:37:23 +03:00
LIBS="$old_LIBS"
CFLAGS="$old_CFLAGS"
2007-03-15 10:43:16 +03:00
fi
2008-11-05 02:37:23 +03:00
if test "$with_xen" = "yes"; then
AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled])
fi
AM_CONDITIONAL([WITH_XEN], [test "$with_xen" = "yes"])
AC_SUBST([XEN_CFLAGS])
AC_SUBST([XEN_LIBS])
2005-11-02 16:19:10 +03:00
2008-11-25 13:44:52 +03:00
dnl
dnl check for kernel headers required by xen_inotify
dnl
if test "$with_xen" != "yes"; then
with_xen_inotify=no
fi
if test "$with_xen_inotify" != "no"; then
2009-08-05 12:57:40 +04:00
AC_CHECK_HEADER([sys/inotify.h], [
with_xen_inotify=yes
], [
if test "$with_xen_inotify" = "check"; then
with_xen_inotify=no
AC_MSG_NOTICE([Header file <sys/inotify.h> is required for Xen Inotify support, disabling it])
else
AC_MSG_ERROR([Header file <sys/inotify.h> is required for Xen Inotify support!])
fi
0])
2008-11-25 13:44:52 +03:00
fi
if test "$with_xen_inotify" = "yes"; then
AC_DEFINE_UNQUOTED([WITH_XEN_INOTIFY], 1,[whether Xen inotify sub-driver is enabled])
fi
AM_CONDITIONAL([WITH_XEN_INOTIFY], [test "$with_xen_inotify" = "yes"])
2008-09-17 18:07:49 +04:00
dnl
dnl check for kvm headers
2008-09-18 12:54:23 +04:00
dnl
2008-09-17 18:07:49 +04:00
AC_CHECK_HEADERS([linux/kvm.h])
2009-08-05 12:52:14 +04:00
dnl
dnl check for sufficient headers for LXC
dnl
if test "$with_lxc" = "yes" -o "$with_lxc" = "check"; then
AC_CHECK_HEADER([sched.h],
dnl Header is there, check for unshare()
[
AC_TRY_LINK([#define _GNU_SOURCE
#include <sched.h>], [
unshare (1);
], [
with_lxc=yes
], [
if test "$with_lxc" = "check"; then
with_lxc=no
AC_MSG_NOTICE([Function unshare() not present in <sched.h> header but required for LXC driver, disabling it])
else
AC_MSG_ERROR([Function unshare() not present in <sched.h> header, but required for LXC driver])
fi
])
dnl Header is not there
],[
if test "$with_lxc" = "check"; then
with_lxc=no
AC_MSG_NOTICE([Header <sched.h> not found but required for LXC driver, disabling it])
else
AC_MSG_ERROR([Header <sched.h> not found but required for LXC driver])
fi
])
fi
2009-08-05 14:59:58 +04:00
if test "$with_libvirtd" = "no" ; then
with_lxc=no
fi
if test "$with_lxc" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_LXC], 1, [whether LXC driver is enabled])
fi
AM_CONDITIONAL([WITH_LXC], [test "$with_lxc" = "yes"])
dnl
dnl check for kernel headers required by src/bridge.c
dnl
if test "$with_qemu" = "yes" -o "$with_lxc" = "yes" ; then
AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt]))
fi
2009-08-05 12:52:14 +04:00
2009-09-10 17:21:10 +04:00
dnl Need to test if pkg-config exists
PKG_PROG_PKG_CONFIG
2009-05-25 15:56:00 +04:00
dnl OpenNebula driver Compilation setting
dnl
2009-06-24 21:32:56 +04:00
XMLRPC_REQUIRED=1.14.0
XMLRPC_CFLAGS=
XMLRPC_LIBS=
if test "x$with_one" = "xyes" -o "x$with_one" = "xcheck"; then
PKG_CHECK_MODULES(XMLRPC, xmlrpc_client >= $XMLRPC_REQUIRED,
[with_one=yes], [
if test "x$with_one" = "xcheck" ; then
with_one=no
else
AC_MSG_ERROR(
[You must install XMLRPC-C >= $XMLRPC_REQUIRED to compile libvirt ONE driver])
fi
])
if test "x$with_one" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_XMLRPC], 1,
[whether One is used to broadcast server presence])
fi
2009-05-25 15:56:00 +04:00
fi
2009-06-24 21:32:56 +04:00
AM_CONDITIONAL([HAVE_XMLRPC], [test "x$with_one" = "xyes"])
AM_CONDITIONAL([WITH_ONE], [test "x$with_one" = "xyes"])
AC_SUBST([XMLRPC_CFLAGS])
AC_SUBST([XMLRPC_LIBS])
2009-05-25 15:56:00 +04:00
2006-02-17 01:50:52 +03:00
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
LIBXML_CONFIG="xml2-config"
LIBXML_CFLAGS=""
LIBXML_LIBS=""
LIBXML_FOUND="no"
2007-09-19 19:35:00 +04:00
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([libxml], [ --with-libxml=[PFX] libxml2 location])
2008-01-23 00:30:05 +03:00
if test "x$with_libxml" = "xno" ; then
2007-12-06 02:02:13 +03:00
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_REQUIRED)
2008-05-22 19:34:02 +04:00
AC_MSG_ERROR([libxml2 >= $LIBXML_REQUIRED is required for libvirt])
2008-04-18 12:33:23 +04:00
elif test "x$with_libxml" = "x" -a "x$PKG_CONFIG" != "x" ; then
2008-01-23 00:30:05 +03:00
PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED, [LIBXML_FOUND=yes], [LIBXML_FOUND=no])
2006-02-17 01:50:52 +03:00
fi
2008-01-23 00:30:05 +03:00
if test "$LIBXML_FOUND" = "no" ; then
if test "x$with_libxml" != "x" ; then
2006-02-17 01:50:52 +03:00
LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
fi
2007-09-19 19:35:00 +04:00
AC_MSG_CHECKING(libxml2 $LIBXML_CONFIG >= $LIBXML_REQUIRED )
2006-02-17 01:50:52 +03:00
if ! $LIBXML_CONFIG --version > /dev/null 2>&1 ; then
2008-05-22 19:34:02 +04:00
AC_MSG_ERROR([Could not find libxml2 anywhere (see config.log for details).])
2006-02-17 01:50:52 +03:00
fi
vers=`$LIBXML_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
2007-09-19 19:35:00 +04:00
minvers=`echo $LIBXML_REQUIRED | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
2006-02-17 01:50:52 +03:00
if test "$vers" -ge "$minvers" ; then
LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
LIBXML_FOUND="yes"
2007-09-19 19:35:00 +04:00
AC_MSG_RESULT(yes)
2006-02-17 01:50:52 +03:00
else
2008-01-23 00:30:05 +03:00
AC_MSG_ERROR(
[You need at least libxml2 $LIBXML_REQUIRED for this version of libvirt])
2006-02-17 01:50:52 +03:00
fi
fi
2008-05-22 19:34:02 +04:00
AC_SUBST([LIBXML_CFLAGS])
AC_SUBST([LIBXML_LIBS])
2006-02-17 01:50:52 +03:00
2007-06-11 16:19:46 +04:00
dnl xmlURI structure has query_raw?
old_cflags="$CFLAGS"
2007-09-19 19:35:00 +04:00
old_ldflags="$LDFLAGS"
2007-06-11 16:19:46 +04:00
CFLAGS="$CFLAGS $LIBXML_CFLAGS"
2007-09-19 19:35:00 +04:00
LDFLAGS="$LDFLAGS $LIBXML_LIBS"
2008-05-22 19:34:02 +04:00
AC_CHECK_MEMBER([struct _xmlURI.query_raw],
[AC_DEFINE([HAVE_XMLURI_QUERY_RAW], [], [Have query_raw field in libxml2 xmlURI structure])],,
2007-06-11 16:19:46 +04:00
[#include <libxml/uri.h>])
CFLAGS="$old_cflags"
2007-09-19 19:35:00 +04:00
LDFLAGS="$old_ldflags"
2007-06-11 16:19:46 +04:00
dnl GnuTLS library
2007-09-19 21:42:40 +04:00
GNUTLS_CFLAGS=
GNUTLS_LIBS=
2008-01-23 00:30:05 +03:00
GNUTLS_FOUND=no
if test -z "$PKG_CONFIG" ; then
PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED,
[GNUTLS_FOUND=yes], [GNUTLS_FOUND=no])
fi
if test "$GNUTLS_FOUND" = "no"; then
2008-05-22 19:40:01 +04:00
fail=0
2007-09-19 21:42:40 +04:00
old_libs="$LIBS"
2008-05-22 19:40:01 +04:00
AC_CHECK_HEADER([gnutls/gnutls.h], [], [fail=1])
AC_CHECK_LIB([gnutls], [gnutls_handshake],[], [fail=1], [-lgcrypt])
test $fail = 1 &&
AC_MSG_ERROR([You must install the GnuTLS library in order to compile and run libvirt])
2007-09-19 21:42:40 +04:00
GNUTLS_LIBS=$LIBS
LIBS="$old_libs"
fi
2008-05-22 19:34:02 +04:00
AC_SUBST([GNUTLS_CFLAGS])
AC_SUBST([GNUTLS_LIBS])
2007-06-11 16:19:46 +04:00
2007-08-07 17:02:35 +04:00
dnl Old versions of GnuTLS uses types like 'gnutls_session' instead
dnl of 'gnutls_session_t'. Try to detect this type if defined so
dnl that we can offer backwards compatibility.
2007-09-19 21:42:40 +04:00
old_cflags="$CFLAGS"
old_ldflags="$LDFLAGS"
CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
LDFLAGS="$LDFLAGS $GNUTLS_LIBS"
2008-05-22 19:34:02 +04:00
AC_CHECK_TYPE([gnutls_session],
AC_DEFINE([GNUTLS_1_0_COMPAT],[],
2007-08-07 17:02:35 +04:00
[enable GnuTLS 1.0 compatibility macros]),,
[#include <gnutls/gnutls.h>])
2007-09-19 21:42:40 +04:00
CFLAGS="$old_cflags"
LDFLAGS="$old_ldflags"
2007-08-07 17:02:35 +04:00
2007-09-19 05:56:55 +04:00
2007-12-05 18:24:15 +03:00
dnl Cyrus SASL
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([sasl],
2007-12-05 18:24:15 +03:00
[ --with-sasl use cyrus SASL for authentication],
[],
2008-01-23 00:30:05 +03:00
[with_sasl=check])
2007-12-05 18:24:15 +03:00
SASL_CFLAGS=
SASL_LIBS=
2008-01-23 00:30:05 +03:00
if test "x$with_sasl" != "xno"; then
if test "x$with_sasl" != "xyes" -a "x$with_sasl" != "xcheck"; then
2007-12-05 18:24:15 +03:00
SASL_CFLAGS="-I$with_sasl"
SASL_LIBS="-L$with_sasl"
fi
2008-05-22 19:40:01 +04:00
fail=0
2007-12-05 18:24:15 +03:00
old_cflags="$CFLAGS"
old_libs="$LIBS"
CFLAGS="$CFLAGS $SASL_CFLAGS"
LIBS="$LIBS $SASL_LIBS"
2008-01-23 00:30:05 +03:00
AC_CHECK_HEADER([sasl/sasl.h],[],[
if test "x$with_sasl" != "xcheck" ; then
with_sasl=no
else
2008-05-22 19:40:01 +04:00
fail=1
2008-01-23 00:30:05 +03:00
fi])
if test "x$with_sasl" != "xno" ; then
2009-04-01 14:40:38 +04:00
AC_CHECK_LIB([sasl2], [sasl_client_init],[
SASL_LIBS="$SASL_LIBS -lsasl2"
with_sasl=yes
],[
AC_CHECK_LIB([sasl], [sasl_client_init],[
SASL_LIBS="$SASL_LIBS -lsasl"
with_sasl=yes
],[
if test "x$with_sasl" = "xcheck" ; then
2008-01-23 00:30:05 +03:00
with_sasl=no
2009-04-01 14:40:38 +04:00
else
2008-05-22 19:40:01 +04:00
fail=1
2009-04-01 14:40:38 +04:00
fi
])
])
2008-01-23 00:30:05 +03:00
fi
2008-05-22 19:40:01 +04:00
test $fail = 1 &&
AC_MSG_ERROR([You must install the Cyrus SASL development package in order to compile libvirt])
2007-12-05 18:24:15 +03:00
CFLAGS="$old_cflags"
LIBS="$old_libs"
2008-01-23 00:30:05 +03:00
if test "x$with_sasl" = "xyes" ; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([HAVE_SASL], 1,
2008-01-23 00:30:05 +03:00
[whether Cyrus SASL is available for authentication])
fi
2007-12-05 18:24:15 +03:00
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([HAVE_SASL], [test "x$with_sasl" = "xyes"])
AC_SUBST([SASL_CFLAGS])
AC_SUBST([SASL_LIBS])
2007-12-05 18:24:15 +03:00
2007-12-05 21:21:27 +03:00
dnl PolicyKit library
POLKIT_CFLAGS=
POLKIT_LIBS=
2009-08-06 16:54:08 +04:00
PKCHECK_PATH=
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([polkit],
2007-12-05 21:21:27 +03:00
[ --with-polkit use PolicyKit for UNIX socket access checks],
[],
[with_polkit=check])
2009-08-06 16:54:08 +04:00
with_polkit0=no
with_polkit1=no
2008-01-23 00:30:05 +03:00
if test "x$with_polkit" = "xyes" -o "x$with_polkit" = "xcheck"; then
2009-08-06 16:54:08 +04:00
dnl Check for new polkit first - just a binary
AC_PATH_PROG([PKCHECK_PATH],[pkcheck], [], [/usr/sbin:$PATH])
if test "x$PKCHECK_PATH" != "x" ; then
AC_DEFINE_UNQUOTED([PKCHECK_PATH],["$PKCHECK_PATH"],[Location of pkcheck program])
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
2009-08-06 16:54:08 +04:00
[use PolicyKit for UNIX socket access checks])
AC_DEFINE_UNQUOTED([HAVE_POLKIT1], 1,
[use PolicyKit for UNIX socket access checks])
with_polkit="yes"
with_polkit1="yes"
else
dnl Check for old polkit second - library + binary
PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED,
[with_polkit=yes], [
if test "x$with_polkit" = "xcheck" ; then
with_polkit=no
else
AC_MSG_ERROR(
[You must install PolicyKit >= $POLKIT_REQUIRED to compile libvirt])
fi
])
if test "x$with_polkit" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
[use PolicyKit for UNIX socket access checks])
AC_DEFINE_UNQUOTED([HAVE_POLKIT0], 1,
[use PolicyKit for UNIX socket access checks])
old_CFLAGS=$CFLAGS
old_LDFLAGS=$LDFLAGS
CFLAGS="$CFLAGS $POLKIT_CFLAGS"
LDFLAGS="$LDFLAGS $POLKIT_LIBS"
AC_CHECK_FUNCS([polkit_context_is_caller_authorized])
CFLAGS="$old_CFLAGS"
LDFLAGS="$old_LDFLAGS"
AC_PATH_PROG([POLKIT_AUTH], [polkit-auth])
if test "x$POLKIT_AUTH" != "x"; then
AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program])
fi
with_polkit0="yes"
2008-02-20 19:54:35 +03:00
fi
2008-01-23 00:30:05 +03:00
fi
2007-12-05 21:21:27 +03:00
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([HAVE_POLKIT], [test "x$with_polkit" = "xyes"])
2009-08-06 16:54:08 +04:00
AM_CONDITIONAL([HAVE_POLKIT0], [test "x$with_polkit0" = "xyes"])
AM_CONDITIONAL([HAVE_POLKIT1], [test "x$with_polkit1" = "xyes"])
2008-05-22 19:34:02 +04:00
AC_SUBST([POLKIT_CFLAGS])
AC_SUBST([POLKIT_LIBS])
2007-12-05 18:24:15 +03:00
2007-09-19 05:56:55 +04:00
dnl Avahi library
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([avahi],
2007-09-19 05:56:55 +04:00
[ --with-avahi use avahi to advertise remote daemon],
[],
[with_avahi=check])
AVAHI_CFLAGS=
AVAHI_LIBS=
2008-01-23 00:30:05 +03:00
if test "x$with_avahi" = "xyes" -o "x$with_avahi" = "xcheck"; then
PKG_CHECK_MODULES(AVAHI, avahi-client >= $AVAHI_REQUIRED,
[with_avahi=yes], [
if test "x$with_avahi" = "xcheck" ; then
with_avahi=no
else
AC_MSG_ERROR(
[You must install Avahi >= $AVAHI_REQUIRED to compile libvirt])
fi
])
if test "x$with_avahi" = "xyes" ; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([HAVE_AVAHI], 1,
2008-01-23 00:30:05 +03:00
[whether Avahi is used to broadcast server presense])
fi
2007-09-19 05:56:55 +04:00
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([HAVE_AVAHI], [test "x$with_avahi" = "xyes"])
AC_SUBST([AVAHI_CFLAGS])
AC_SUBST([AVAHI_LIBS])
2007-09-19 05:56:55 +04:00
2008-02-20 18:38:29 +03:00
dnl SELinux
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([selinux],
2008-02-20 18:38:29 +03:00
[ --with-selinux use SELinux to manage security],
[],
[with_selinux=check])
SELINUX_CFLAGS=
SELINUX_LIBS=
if test "$with_selinux" != "no"; then
old_cflags="$CFLAGS"
old_libs="$LIBS"
if test "$with_selinux" = "check"; then
AC_CHECK_HEADER([selinux/selinux.h],[],[with_selinux=no])
2008-05-22 19:34:02 +04:00
AC_CHECK_LIB([selinux], [fgetfilecon],[],[with_selinux=no])
2008-02-20 18:38:29 +03:00
if test "$with_selinux" != "no"; then
with_selinux="yes"
fi
else
2008-05-22 19:40:01 +04:00
fail=0
AC_CHECK_HEADER([selinux/selinux.h],[],[fail=1])
AC_CHECK_LIB([selinux], [fgetfilecon],[],[fail=1])
test $fail = 1 &&
AC_MSG_ERROR([You must install the SELinux development package in order to compile libvirt])
2008-02-20 18:38:29 +03:00
fi
CFLAGS="$old_cflags"
LIBS="$old_libs"
fi
if test "$with_selinux" = "yes"; then
SELINUX_LIBS="-lselinux"
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([HAVE_SELINUX], 1, [whether SELinux is available for security])
2008-02-20 18:38:29 +03:00
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([HAVE_SELINUX], [test "$with_selinux" != "no"])
AC_SUBST([SELINUX_CFLAGS])
AC_SUBST([SELINUX_LIBS])
2008-02-20 18:38:29 +03:00
2009-03-03 13:06:49 +03:00
AC_ARG_WITH([secdriver-selinux],
[ --with-secdriver-selinux use SELinux security driver],
[],
[with_secdriver_selinux=check])
if test "$with_selinux" != "yes" ; then
if test "$with_secdriver_selinux" = "check" ; then
with_secdriver_selinux=no
else
AC_MSG_ERROR([You must install the SELinux development package in order to compile libvirt])
fi
else
old_cflags="$CFLAGS"
old_libs="$LIBS"
CFLAGS="$CFLAGS $SELINUX_CFLAGS"
LIBS="$CFLAGS $SELINUX_LIBS"
fail=0
AC_CHECK_FUNC([selinux_virtual_domain_context_path], [], [fail=1])
AC_CHECK_FUNC([selinux_virtual_image_context_path], [], [fail=1])
CFLAGS="$old_cflags"
LIBS="$old_libs"
if test "$fail" = "1" ; then
if test "$with_secdriver_selinux" = "check" ; then
with_secdriver_selinux=no
else
AC_MSG_ERROR([You must install the SELinux development package in order to compile libvirt])
fi
else
with_secdriver_selinux=yes
AC_DEFINE_UNQUOTED([WITH_SECDRIVER_SELINUX], 1, [whether SELinux security driver is available])
fi
fi
AM_CONDITIONAL([WITH_SECDRIVER_SELINUX], [test "$with_secdriver_selinux" != "no"])
2009-10-08 18:34:22 +04:00
dnl AppArmor
AC_ARG_WITH([apparmor],
[ --with-apparmor use AppArmor to manage security],
[],
[with_apparmor=check])
APPARMOR_CFLAGS=
APPARMOR_LIBS=
if test "$with_apparmor" != "no"; then
old_cflags="$CFLAGS"
old_libs="$LIBS"
if test "$with_apparmor" = "check"; then
AC_CHECK_HEADER([sys/apparmor.h],[],[with_apparmor=no])
AC_CHECK_LIB([apparmor], [aa_change_profile],[],[with_apparmor=no])
AC_CHECK_LIB([apparmor], [aa_change_hat],[],[with_apparmor=no])
if test "$with_apparmor" != "no"; then
with_apparmor="yes"
fi
else
fail=0
AC_CHECK_HEADER([sys/apparmor.h],[],[fail=1])
AC_CHECK_LIB([apparmor], [aa_change_profile],[],[fail=1])
AC_CHECK_LIB([apparmor], [aa_change_hat],[],[fail=1])
test $fail = 1 &&
AC_MSG_ERROR([You must install the AppArmor development package in order to compile libvirt])
fi
CFLAGS="$old_cflags"
LIBS="$old_libs"
fi
if test "$with_apparmor" = "yes"; then
APPARMOR_LIBS="-lapparmor"
AC_DEFINE_UNQUOTED([HAVE_APPARMOR], 1, [whether AppArmor is available for security])
AC_DEFINE_UNQUOTED([APPARMOR_DIR], "/etc/apparmor.d", [path to apparmor directory])
AC_DEFINE_UNQUOTED([APPARMOR_PROFILES_PATH], "/sys/kernel/security/apparmor/profiles", [path to kernel profiles])
fi
AM_CONDITIONAL([HAVE_APPARMOR], [test "$with_apparmor" != "no"])
AC_SUBST([APPARMOR_CFLAGS])
AC_SUBST([APPARMOR_LIBS])
AC_ARG_WITH([secdriver-apparmor],
[ --with-secdriver-apparmor use AppArmor security driver],
[],
[with_secdriver_apparmor=check])
if test "$with_apparmor" != "yes" ; then
if test "$with_secdriver_apparmor" = "check" ; then
with_secdriver_apparmor=no
else
AC_MSG_ERROR([You must install the AppArmor development package in order to compile libvirt])
fi
else
old_cflags="$CFLAGS"
old_libs="$LIBS"
CFLAGS="$CFLAGS $APPARMOR_CFLAGS"
LIBS="$CFLAGS $APPARMOR_LIBS"
fail=0
AC_CHECK_FUNC([change_hat], [], [fail=1])
AC_CHECK_FUNC([aa_change_profile], [], [fail=1])
CFLAGS="$old_cflags"
LIBS="$old_libs"
if test "$fail" = "1" ; then
if test "$with_secdriver_apparmor" = "check" ; then
with_secdriver_apparmor=no
else
AC_MSG_ERROR([You must install the AppArmor development package in order to compile libvirt])
fi
else
with_secdriver_apparmor=yes
AC_DEFINE_UNQUOTED([WITH_SECDRIVER_APPARMOR], 1, [whether AppArmor security driver is available])
fi
fi
AM_CONDITIONAL([WITH_SECDRIVER_APPARMOR], [test "$with_secdriver_apparmor" != "no"])
2009-03-03 13:06:49 +03:00
2008-05-22 19:29:50 +04:00
dnl NUMA lib
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([numactl],
2008-05-22 19:29:50 +04:00
[ --with-numactl use numactl for host topology info],
[],
[with_numactl=check])
NUMACTL_CFLAGS=
NUMACTL_LIBS=
if test "$with_qemu" = "yes" -a "$with_numactl" != "no"; then
old_cflags="$CFLAGS"
old_libs="$LIBS"
if test "$with_numactl" = "check"; then
AC_CHECK_HEADER([numa.h],[],[with_numactl=no])
2008-05-22 19:34:02 +04:00
AC_CHECK_LIB([numa], [numa_available],[],[with_numactl=no])
2008-05-22 19:29:50 +04:00
if test "$with_numactl" != "no"; then
with_numactl="yes"
fi
else
2008-05-22 19:40:01 +04:00
fail=0
AC_CHECK_HEADER([numa.h],[],[fail=1])
AC_CHECK_LIB([numa], [numa_available],[],[fail=1])
test $fail = 1 &&
AC_MSG_ERROR([You must install the numactl development package in order to compile and run libvirt])
2008-05-22 19:29:50 +04:00
fi
CFLAGS="$old_cflags"
LIBS="$old_libs"
fi
if test "$with_numactl" = "yes"; then
NUMACTL_LIBS="-lnuma"
2008-05-22 19:35:51 +04:00
AC_DEFINE_UNQUOTED([HAVE_NUMACTL], 1, [whether numactl is available for topology info])
2008-05-22 19:29:50 +04:00
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
AC_SUBST([NUMACTL_CFLAGS])
AC_SUBST([NUMACTL_LIBS])
2008-05-22 19:29:50 +04:00
2009-08-05 12:47:18 +04:00
dnl
dnl Checks for the UML driver
dnl
if test "$with_uml" = "yes" -o "$with_uml" = "check"; then
AC_CHECK_HEADER([sys/inotify.h], [
with_uml=yes
], [
if test "$with_uml" = "check"; then
with_uml=no
AC_MSG_NOTICE([<sys/inotify.h> is required for the UML driver, disabling it])
else
AC_MSG_ERROR([The <sys/inotify.h> is required for the UML driver. Upgrade your libc6.])
fi
])
fi
2009-08-05 14:59:58 +04:00
if test "$with_libvirtd" = "no" ; then
with_uml=no
fi
if test "$with_uml" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_UML], 1, [whether UML driver is enabled])
fi
AM_CONDITIONAL([WITH_UML], [test "$with_uml" = "yes"])
2009-08-05 12:47:18 +04:00
dnl
dnl libssh checks
dnl
2009-09-04 14:08:47 +04:00
if test "$with_libssh2" != "yes" -a "$with_libssh2" != "no"; then
libssh2_path="$with_libssh2"
elif test "$with_libssh2" = "yes"; then
libssh2_path="/usr/local/lib/"
elif test "$with_libssh2" = "no"; then
2009-07-24 18:17:06 +04:00
with_phyp="no";
fi
if test "$with_phyp" = "check"; then
2009-09-09 18:21:38 +04:00
AC_CHECK_LIB([ssh2],[libssh2_session_startup],[
2009-09-04 14:08:47 +04:00
LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path"
2009-09-09 18:21:38 +04:00
AC_SUBST([LIBSSH2_LIBS])
],[
2009-07-24 18:17:06 +04:00
with_phyp="no"
2009-09-09 18:21:38 +04:00
with_libssh2="no";
],[])
if test "$with_phyp" != "no"; then
AC_CHECK_HEADERS([libssh2.h],[
with_phyp="yes"
LIBSSH2_CFLAGS="-I/usr/local/include"
AC_SUBST([LIBSSH2_CFLAGS])
],[
with_phyp="no"
with_libssh2="no";
],[
])
fi
2009-07-24 18:17:06 +04:00
2009-09-09 18:21:38 +04:00
if test "$with_phyp" != "no"; then
saved_libs="$LIBS"
LIBS="$LIBS -lssh2"
AC_TRY_LINK([#include <libssh2.h>], [
(void) libssh2_session_block_directions(NULL);
], [
AC_DEFINE_UNQUOTED([WITH_PHYP], 1, [whether IBM HMC / IVM driver is enabled])
], [
with_phyp=no
AC_MSG_NOTICE([Function libssh2_session_block_directions() not present in your version of libssh2 but required for Phyp driver, disabling it])
])
LIBS="$saved_libs"
fi
2009-07-24 18:17:06 +04:00
elif test "$with_phyp" = "yes"; then
2009-09-04 14:08:47 +04:00
AC_CHECK_LIB([ssh2],[libssh2_session_startup],[
LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path"
AC_SUBST([LIBSSH2_LIBS])],[
2009-09-09 18:21:38 +04:00
AC_MSG_ERROR([You must install the libssh2 to compile Phyp driver.])
2009-07-24 18:17:06 +04:00
])
2009-09-04 14:08:47 +04:00
AC_CHECK_HEADERS([libssh2.h],[
LIBSSH2_CFLAGS="-I/usr/local/include"
AC_SUBST([LIBSSH2_CFLAGS])],[
2009-09-09 18:21:38 +04:00
AC_MSG_ERROR([Cannot find libssh2 headers. Is libssh2 installed ?])
2009-07-24 18:17:06 +04:00
],[])
2009-09-09 18:21:38 +04:00
saved_libs="$LIBS"
LIBS="$LIBS -lssh2"
AC_TRY_LINK([#include <libssh2.h>], [
(void) libssh2_session_block_directions(NULL);
], [], [
AC_MSG_ERROR([Function libssh2_session_block_directions() not present in your version of libssh2. Need >= 1.0])
])
LIBS="$saved_libs"
2009-07-24 18:17:06 +04:00
AC_DEFINE_UNQUOTED([WITH_PHYP], 1,
[whether IBM HMC / IVM driver is enabled])
fi
AM_CONDITIONAL([WITH_PHYP],[test "$with_phyp" = "yes"])
2009-06-29 15:33:13 +04:00
dnl libcap-ng
AC_ARG_WITH([capng],
[ --with-capng use libcap-ng to reduce libvirtd privileges],
[],
[with_capng=check])
dnl
dnl This check looks for 'capng_updatev' since that was
dnl introduced in 0.4.0 release which need as minimum
dnl
CAPNG_CFLAGS=
CAPNG_LIBS=
if test "$with_qemu" = "yes" -a "$with_capng" != "no"; then
old_cflags="$CFLAGS"
old_libs="$LIBS"
if test "$with_capng" = "check"; then
AC_CHECK_HEADER([cap-ng.h],[],[with_capng=no])
AC_CHECK_LIB([cap-ng], [capng_updatev],[],[with_capng=no])
if test "$with_capng" != "no"; then
with_capng="yes"
fi
else
fail=0
AC_CHECK_HEADER([cap-ng.h],[],[fail=1])
AC_CHECK_LIB([cap-ng], [capng_updatev],[],[fail=1])
test $fail = 1 &&
AC_MSG_ERROR([You must install the capng >= 0.4.0 development package in order to compile and run libvirt])
fi
CFLAGS="$old_cflags"
LIBS="$old_libs"
fi
if test "$with_capng" = "yes"; then
CAPNG_LIBS="-lcap-ng"
AC_DEFINE_UNQUOTED([HAVE_CAPNG], 1, [whether capng is available for privilege reduction])
fi
AM_CONDITIONAL([HAVE_CAPNG], [test "$with_capng" != "no"])
AC_SUBST([CAPNG_CFLAGS])
AC_SUBST([CAPNG_LIBS])
2005-12-08 13:23:34 +03:00
dnl virsh libraries
2007-12-04 21:27:52 +03:00
AC_CHECK_HEADERS([readline/readline.h])
2007-12-06 14:42:26 +03:00
# Check for readline.
2008-05-22 19:34:02 +04:00
AC_CHECK_LIB([readline], [readline],
2007-12-06 14:42:26 +03:00
[lv_use_readline=yes; VIRSH_LIBS="$VIRSH_LIBS -lreadline"],
[lv_use_readline=no])
# If the above test failed, it may simply be that -lreadline requires
# some termcap-related code, e.g., from one of the following libraries.
# See if adding one of them to LIBS helps.
if test $lv_use_readline = no; then
lv_saved_libs=$LIBS
LIBS=
2008-05-22 19:34:02 +04:00
AC_SEARCH_LIBS([tgetent], [ncurses curses termcap termlib])
2007-12-06 14:42:26 +03:00
case $LIBS in
no*) ;; # handle "no" and "none required"
*) # anything else is a -lLIBRARY
# Now, check for -lreadline again, also using $LIBS.
# Note: this time we use a different function, so that
# we don't get a cached "no" result.
2008-05-22 19:34:02 +04:00
AC_CHECK_LIB([readline], [rl_initialize],
2007-12-06 14:42:26 +03:00
[lv_use_readline=yes
VIRSH_LIBS="$VIRSH_LIBS -lreadline $LIBS"],,
[$LIBS])
;;
esac
test $lv_use_readline = no &&
AC_MSG_WARN([readline library not found])
LIBS=$lv_saved_libs
fi
if test $lv_use_readline = yes; then
AC_DEFINE_UNQUOTED([USE_READLINE], 1,
[whether virsh can use readline])
READLINE_CFLAGS=-DUSE_READLINE
2007-12-06 13:24:52 +03:00
else
2007-12-06 14:42:26 +03:00
READLINE_CFLAGS=
2007-12-06 13:24:52 +03:00
fi
2008-05-22 19:34:02 +04:00
AC_SUBST([READLINE_CFLAGS])
AC_SUBST([VIRSH_LIBS])
2005-12-08 13:23:34 +03:00
2008-02-20 18:42:30 +03:00
2008-10-10 17:57:13 +04:00
AC_ARG_WITH([network],
[ --with-network with virtual network driver (on)],[],[with_network=yes])
if test "$with_libvirtd" = "no" ; then
with_network=no
fi
if test "$with_network" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_NETWORK], 1, [whether network driver is enabled])
fi
AM_CONDITIONAL([WITH_NETWORK], [test "$with_network" = "yes"])
2009-02-17 13:23:19 +03:00
with_bridge=no
if test "$with_qemu:$with_lxc:$with_network" != "no:no:no"; then
with_bridge=yes
AC_DEFINE_UNQUOTED([WITH_BRIDGE], 1, [whether bridge code is needed])
fi
AM_CONDITIONAL([WITH_BRIDGE], [test "$with_bridge" = "yes"])
2008-10-10 17:57:13 +04:00
2009-05-20 18:26:49 +04:00
dnl netcf library
AC_ARG_WITH([netcf],
[ --with-netcf libnetcf support to configure physical host network interfaces],
[], [with_netcf=check])
NETCF_CFLAGS=
NETCF_LIBS=
if test "$with_netcf" = "yes" -o "$with_netcf" = "check"; then
PKG_CHECK_MODULES(NETCF, netcf >= $NETCF_REQUIRED,
[with_netcf=yes], [
if test "$with_netcf" = "check" ; then
with_netcf=no
else
AC_MSG_ERROR(
[You must install libnetcf >= $NETCF_REQUIRED to compile libvirt])
fi
])
if test "$with_netcf" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_NETCF], 1,
[whether libnetcf is available to configure physical host network interfaces])
fi
fi
AM_CONDITIONAL([WITH_NETCF], [test "$with_netcf" = "yes"])
AC_SUBST([NETCF_CFLAGS])
AC_SUBST([NETCF_LIBS])
2008-02-20 18:42:30 +03:00
2009-09-14 16:31:23 +04:00
with_secrets=yes
if test "$with_libvirtd" = "no"; then
with_secrets=no
fi
if test "$with_secrets" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_SECRETS], 1, [whether local secrets management driver is available])
fi
AM_CONDITIONAL([WITH_SECRETS], [test "$with_secrets" = "yes"])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([storage-fs],
2008-02-20 18:42:30 +03:00
[ --with-storage-fs with FileSystem backend for the storage driver (on)],[],[with_storage_fs=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([storage-lvm],
2008-02-20 18:45:33 +03:00
[ --with-storage-lvm with LVM backend for the storage driver (on)],[],[with_storage_lvm=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([storage-iscsi],
2008-02-20 18:49:25 +03:00
[ --with-storage-iscsi with iSCSI backend for the storage driver (on)],[],[with_storage_iscsi=check])
2009-04-01 20:03:22 +04:00
AC_ARG_WITH([storage-scsi],
[ --with-storage-scsi with SCSI backend for the storage driver (on)],[],[with_storage_scsi=check])
2009-09-08 17:47:45 +04:00
AC_ARG_WITH([storage-mpath],
[ --with-storage-mpath with mpath backend for the storage driver (on)],[],[with_storage_mpath=check])
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([storage-disk],
2008-02-20 18:52:17 +03:00
[ --with-storage-disk with GPartd Disk backend for the storage driver (on)],[],[with_storage_disk=check])
2008-02-20 18:42:30 +03:00
2008-09-05 16:03:45 +04:00
with_storage_dir=yes
if test "$with_libvirtd" = "no"; then
with_storage_dir=no
with_storage_fs=no
with_storage_lvm=no
with_storage_iscsi=no
2009-04-01 20:03:22 +04:00
with_storage_scsi=no
2009-09-08 17:47:45 +04:00
with_storage_mpath=no
2008-09-05 16:03:45 +04:00
with_storage_disk=no
fi
if test "$with_storage_dir" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_STORAGE_DIR], 1, [whether directory backend for storage driver is enabled])
fi
AM_CONDITIONAL([WITH_STORAGE_DIR], [test "$with_storage_dir" = "yes"])
2008-02-20 18:42:30 +03:00
if test "$with_storage_fs" = "yes" -o "$with_storage_fs" = "check"; then
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([MOUNT], [mount], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([UMOUNT], [umount], [], [$PATH:/sbin:/usr/sbin])
2008-02-20 18:42:30 +03:00
if test "$with_storage_fs" = "yes" ; then
2008-05-22 19:34:02 +04:00
if test -z "$MOUNT" ; then AC_MSG_ERROR([We need mount for FS storage driver]) ; fi
2008-05-22 19:40:01 +04:00
if test -z "$UMOUNT" ; then AC_MSG_ERROR([We need umount for FS storage driver]) ; fi
2008-02-20 18:42:30 +03:00
else
if test -z "$MOUNT" ; then with_storage_fs=no ; fi
if test -z "$UMOUNT" ; then with_storage_fs=no ; fi
if test "$with_storage_fs" = "check" ; then with_storage_fs=yes ; fi
fi
if test "$with_storage_fs" = "yes" ; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([WITH_STORAGE_FS], 1, [whether FS backend for storage driver is enabled])
2008-02-20 18:42:30 +03:00
AC_DEFINE_UNQUOTED([MOUNT],["$MOUNT"],
[Location or name of the mount program])
AC_DEFINE_UNQUOTED([UMOUNT],["$UMOUNT"],
[Location or name of the mount program])
fi
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_STORAGE_FS], [test "$with_storage_fs" = "yes"])
2008-08-28 00:05:58 +04:00
if test "$with_storage_fs" = "yes"; then
AC_PATH_PROG([SHOWMOUNT], [showmount], [], [$PATH:/sbin:/usr/sbin])
AC_DEFINE_UNQUOTED([SHOWMOUNT], ["$SHOWMOUNT"],
[Location or name of the showmount program])
fi
2008-02-20 18:42:30 +03:00
2008-02-20 18:45:33 +03:00
if test "$with_storage_lvm" = "yes" -o "$with_storage_lvm" = "check"; then
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([PVCREATE], [pvcreate], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([VGCREATE], [vgcreate], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([LVCREATE], [lvcreate], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([PVREMOVE], [pvremove], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([VGREMOVE], [vgremove], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([LVREMOVE], [lvremove], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([VGCHANGE], [vgchange], [], [$PATH:/sbin:/usr/sbin])
2008-11-05 14:41:43 +03:00
AC_PATH_PROG([VGSCAN], [vgscan], [], [$PATH:/sbin:/usr/sbin])
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([PVS], [pvs], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([VGS], [vgs], [], [$PATH:/sbin:/usr/sbin])
AC_PATH_PROG([LVS], [lvs], [], [$PATH:/sbin:/usr/sbin])
2008-02-20 18:45:33 +03:00
if test "$with_storage_lvm" = "yes" ; then
2008-05-22 19:34:02 +04:00
if test -z "$PVCREATE" ; then AC_MSG_ERROR([We need pvcreate for LVM storage driver]) ; fi
if test -z "$VGCREATE" ; then AC_MSG_ERROR([We need vgcreate for LVM storage driver]) ; fi
if test -z "$LVCREATE" ; then AC_MSG_ERROR([We need lvcreate for LVM storage driver]) ; fi
if test -z "$PVREMOVE" ; then AC_MSG_ERROR([We need pvremove for LVM storage driver]) ; fi
if test -z "$VGREMOVE" ; then AC_MSG_ERROR([We need vgremove for LVM storage driver]) ; fi
if test -z "$LVREMOVE" ; then AC_MSG_ERROR([We need lvremove for LVM storage driver]) ; fi
if test -z "$VGCHANGE" ; then AC_MSG_ERROR([We need vgchange for LVM storage driver]) ; fi
2008-11-05 14:41:43 +03:00
if test -z "$VGSCAN" ; then AC_MSG_ERROR([We need vgscan for LVM storage driver]) ; fi
2008-05-22 19:34:02 +04:00
if test -z "$PVS" ; then AC_MSG_ERROR([We need pvs for LVM storage driver]) ; fi
if test -z "$VGS" ; then AC_MSG_ERROR([We need vgs for LVM storage driver]) ; fi
if test -z "$LVS" ; then AC_MSG_ERROR([We need lvs for LVM storage driver]) ; fi
2008-02-20 18:45:33 +03:00
else
if test -z "$PVCREATE" ; then with_storage_lvm=no ; fi
if test -z "$VGCREATE" ; then with_storage_lvm=no ; fi
if test -z "$LVCREATE" ; then with_storage_lvm=no ; fi
if test -z "$PVREMOVE" ; then with_storage_lvm=no ; fi
if test -z "$VGREMOVE" ; then with_storage_lvm=no ; fi
if test -z "$LVREMOVE" ; then with_storage_lvm=no ; fi
2008-11-05 14:41:43 +03:00
if test -z "$VGCHANGE" ; then with_storage_lvm=no ; fi
if test -z "$VGSCAN" ; then with_storage_lvm=no ; fi
2008-02-20 18:45:33 +03:00
if test -z "$PVS" ; then with_storage_lvm=no ; fi
if test -z "$VGS" ; then with_storage_lvm=no ; fi
if test -z "$LVS" ; then with_storage_lvm=no ; fi
if test "$with_storage_lvm" = "check" ; then with_storage_lvm=yes ; fi
fi
if test "$with_storage_lvm" = "yes" ; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([WITH_STORAGE_LVM], 1, [whether LVM backend for storage driver is enabled])
2008-02-20 18:45:33 +03:00
AC_DEFINE_UNQUOTED([PVCREATE],["$PVCREATE"],[Location of pvcreate program])
AC_DEFINE_UNQUOTED([VGCREATE],["$VGCREATE"],[Location of vgcreate program])
AC_DEFINE_UNQUOTED([LVCREATE],["$LVCREATE"],[Location of lvcreate program])
AC_DEFINE_UNQUOTED([PVREMOVE],["$PVREMOVE"],[Location of pvcreate program])
AC_DEFINE_UNQUOTED([VGREMOVE],["$VGREMOVE"],[Location of vgcreate program])
AC_DEFINE_UNQUOTED([LVREMOVE],["$LVREMOVE"],[Location of lvcreate program])
AC_DEFINE_UNQUOTED([VGCHANGE],["$VGCHANGE"],[Location of vgchange program])
2008-11-05 14:41:43 +03:00
AC_DEFINE_UNQUOTED([VGSCAN],["$VGSCAN"],[Location of vgscan program])
2008-02-20 18:45:33 +03:00
AC_DEFINE_UNQUOTED([PVS],["$PVS"],[Location of pvs program])
AC_DEFINE_UNQUOTED([VGS],["$VGS"],[Location of vgs program])
AC_DEFINE_UNQUOTED([LVS],["$LVS"],[Location of lvs program])
fi
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_STORAGE_LVM], [test "$with_storage_lvm" = "yes"])
2008-02-20 18:45:33 +03:00
2008-02-20 18:49:25 +03:00
if test "$with_storage_iscsi" = "yes" -o "$with_storage_iscsi" = "check"; then
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([ISCSIADM], [iscsiadm], [], [$PATH:/sbin:/usr/sbin])
2008-02-20 18:49:25 +03:00
if test "$with_storage_iscsi" = "yes" ; then
2008-05-22 19:34:02 +04:00
if test -z "$ISCSIADM" ; then AC_MSG_ERROR([We need iscsiadm for iSCSI storage driver]) ; fi
2008-02-20 18:49:25 +03:00
else
if test -z "$ISCSIADM" ; then with_storage_iscsi=no ; fi
if test "$with_storage_iscsi" = "check" ; then with_storage_iscsi=yes ; fi
fi
if test "$with_storage_iscsi" = "yes" ; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([WITH_STORAGE_ISCSI], 1, [whether iSCSI backend for storage driver is enabled])
2008-02-20 18:49:25 +03:00
AC_DEFINE_UNQUOTED([ISCSIADM],["$ISCSIADM"],[Location of iscsiadm program])
fi
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_STORAGE_ISCSI], [test "$with_storage_iscsi" = "yes"])
2008-02-20 18:49:25 +03:00
2009-04-01 20:03:22 +04:00
if test "$with_storage_scsi" = "check"; then
with_storage_scsi=yes
AC_DEFINE_UNQUOTED([WITH_STORAGE_SCSI], 1,
[whether SCSI backend for storage driver is enabled])
fi
2009-04-02 22:42:33 +04:00
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
2008-02-20 18:49:25 +03:00
2009-09-08 17:47:45 +04:00
if test "$with_storage_mpath" = "check"; then
with_storage_mpath=yes
AC_DEFINE_UNQUOTED([WITH_STORAGE_MPATH], 1,
[whether mpath backend for storage driver is enabled])
fi
AM_CONDITIONAL([WITH_STORAGE_MPATH], [test "$with_storage_mpath" = "yes"])
if test "$with_storage_mpath" = "yes"; then
DEVMAPPER_REQUIRED=0.0
DEVMAPPER_CFLAGS=
DEVMAPPER_LIBS=
2009-10-30 16:44:50 +03:00
PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= $DEVMAPPER_REQUIRED], [], [DEVMAPPER_FOUND=no])
if test "$DEVMAPPER_FOUND" = "no"; then
# devmapper is missing pkg-config files in ubuntu, suse, etc
save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS"
DEVMAPPER_FOUND=yes
AC_CHECK_HEADER([libdevmapper.h],,[DEVMAPPER_FOUND=no])
AC_CHECK_LIB([devmapper], [dm_task_run],,[DEVMAPPER_FOUND=no])
DEVMAPPER_LIBS="-ldevmapper"
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
fi
if test "$DEVMAPPER_FOUND" = "no" ; then
AC_MSG_ERROR([You must install device-mapper-devel/libdevmapper >= $DEVMAPPER_REQUIRED to compile libvirt])
fi
2009-09-08 17:47:45 +04:00
fi
AC_SUBST([DEVMAPPER_CFLAGS])
AC_SUBST([DEVMAPPER_LIBS])
2008-02-20 18:52:17 +03:00
LIBPARTED_CFLAGS=
LIBPARTED_LIBS=
if test "$with_storage_disk" = "yes" -o "$with_storage_disk" = "check"; then
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([PARTED], [parted], [], [$PATH:/sbin:/usr/sbin])
2008-05-29 23:23:17 +04:00
if test -z "$PARTED" ; then
with_storage_disk=no
PARTED_FOUND=no
else
PARTED_FOUND=yes
fi
2008-02-20 18:52:17 +03:00
if test "$with_storage_disk" != "no" -a "x$PKG_CONFIG" != "x" ; then
PKG_CHECK_MODULES(LIBPARTED, libparted >= $PARTED_REQUIRED, [], [PARTED_FOUND=no])
fi
if test "$PARTED_FOUND" = "no"; then
# RHEL-5 vintage parted is missing pkg-config files
save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS"
PARTED_FOUND=yes
2008-05-22 19:34:02 +04:00
AC_CHECK_HEADER([parted/parted.h],,[PARTED_FOUND=no])
AC_CHECK_LIB([uuid], [uuid_generate],,[PARTED_FOUND=no])
AC_CHECK_LIB([parted], [ped_device_read],,[PARTED_FOUND=no])
2008-02-20 18:52:17 +03:00
LIBPARTED_LIBS="-luuid -lparted"
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
fi
if test "$PARTED_FOUND" = "no" ; then
if test "$with_storage_disk" = "yes" ; then
2008-05-22 19:34:02 +04:00
AC_MSG_ERROR([We need parted for disk storage driver])
2008-02-20 18:52:17 +03:00
else
with_storage_disk=no
fi
else
with_storage_disk=yes
fi
if test "$with_storage_disk" = "yes"; then
2008-05-22 19:34:02 +04:00
AC_DEFINE_UNQUOTED([WITH_STORAGE_DISK], 1, [whether Disk backend for storage driver is enabled])
2008-02-20 18:52:17 +03:00
AC_DEFINE_UNQUOTED([PARTED],["$PARTED"], [Location or name of the parted program])
fi
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" = "yes"])
AC_SUBST([LIBPARTED_CFLAGS])
AC_SUBST([LIBPARTED_LIBS])
2008-02-20 18:52:17 +03:00
2009-07-24 00:21:08 +04:00
dnl
2009-08-05 12:43:37 +04:00
dnl check for libcurl (ESX)
2009-07-24 00:21:08 +04:00
dnl
LIBCURL_CFLAGS=""
LIBCURL_LIBS=""
LIBCURL_REQUIRED="7.18.0"
LIBCURL_FOUND="no"
2009-08-05 12:43:37 +04:00
if test "$with_esx" = "yes" -o "$with_esx" = "check"; then
PKG_CHECK_MODULES(LIBCURL, libcurl >= $LIBCURL_REQUIRED, [
LIBCURL_FOUND=yes
with_esx="yes"
], [
if test "$with_esx" = "check"; then
with_esx=no
AC_MSG_NOTICE([libcurl is required for ESX driver, disabling it])
else
AC_MSG_ERROR([libcurl >= $LIBCURL_REQUIRED is required for the ESX driver])
fi
])
2009-07-24 00:21:08 +04:00
fi
2009-08-05 14:59:58 +04:00
if test "$with_esx" = "yes" ; then
AC_DEFINE_UNQUOTED([WITH_ESX], 1, [whether ESX driver is enabled])
fi
AM_CONDITIONAL([WITH_ESX], [test "$with_esx" = "yes"])
2009-07-24 00:21:08 +04:00
AC_SUBST([LIBCURL_CFLAGS])
AC_SUBST([LIBCURL_LIBS])
2008-02-20 18:52:17 +03:00
2005-12-19 19:34:11 +03:00
dnl
dnl check for python
dnl
2009-10-02 19:19:47 +04:00
AC_ARG_WITH([python],
[ --with-python Build python bindings (on)],[],[with_python=yes])
2005-12-19 19:34:11 +03:00
PYTHON_VERSION=
PYTHON_INCLUDES=
PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
if test "$with_python" != "no" ; then
if test -x "$with_python/bin/python"
then
echo Found python in $with_python/bin/python
PYTHON="$with_python/bin/python"
else
if test -x "$with_python"
then
echo Found python in $with_python
PYTHON="$with_python"
else
if test -x "$PYTHON"
then
echo Found python in environment PYTHON=$PYTHON
2006-08-11 15:57:52 +04:00
with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
2005-12-19 19:34:11 +03:00
else
2008-05-22 19:34:02 +04:00
AC_PATH_PROG([PYTHON], [python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5])
2005-12-19 19:34:11 +03:00
fi
fi
fi
if test "$PYTHON" != ""
then
PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
echo Found Python version $PYTHON_VERSION
fi
if test "$PYTHON_VERSION" != ""
then
if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
-d $with_python/lib/python$PYTHON_VERSION/site-packages
then
PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
2006-08-11 15:57:52 +04:00
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 19:34:11 +03:00
else
if test -r $prefix/include/python$PYTHON_VERSION/Python.h
then
2006-08-11 15:57:52 +04:00
PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 19:34:11 +03:00
else
if test -r /usr/include/python$PYTHON_VERSION/Python.h
then
PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
2006-08-11 15:57:52 +04:00
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 19:34:11 +03:00
else
echo could not find python$PYTHON_VERSION/Python.h
fi
fi
if test ! -d "$PYTHON_SITE_PACKAGES"
then
PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
fi
fi
fi
2009-10-02 19:19:47 +04:00
if test "$with_python" != "yes"
2005-12-19 19:34:11 +03:00
then
pythondir='$(PYTHON_SITE_PACKAGES)'
else
2006-08-11 15:57:52 +04:00
pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
2005-12-19 19:34:11 +03:00
fi
else
PYTHON=
fi
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_PYTHON], test "$PYTHON_INCLUDES" != "")
AC_SUBST([pythondir])
AC_SUBST([PYTHON_VERSION])
AC_SUBST([PYTHON_INCLUDES])
AC_SUBST([PYTHON_SITE_PACKAGES])
2005-12-19 19:34:11 +03:00
2007-02-07 16:41:44 +03:00
AC_MSG_CHECKING([whether this host is running a Xen kernel])
RUNNING_XEN=
if test -d /proc/sys/xen
then
RUNNING_XEN=yes
else
RUNNING_XEN=no
fi
AC_MSG_RESULT($RUNNING_XEN)
AC_MSG_CHECKING([If XenD UNIX socket /var/run/xend/xmlrpc.sock is accessible])
RUNNING_XEND=
if test -S /var/run/xend/xmlrpc.sock
then
RUNNING_XEND=yes
else
RUNNING_XEND=no
fi
AC_MSG_RESULT($RUNNING_XEND)
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([ENABLE_XEN_TESTS], [test "$RUNNING_XEN" != "no" -a "$RUNNING_XEND" != "no"])
2007-02-07 16:41:44 +03:00
2008-05-22 19:34:02 +04:00
AC_ARG_ENABLE([test-coverage],
2008-05-29 19:13:07 +04:00
[ --enable-test-coverage turn on code coverage instrumentation],
2007-02-14 05:12:41 +03:00
[case "${enableval}" in
yes|no) ;;
*) AC_MSG_ERROR([bad value ${enableval} for test-coverage option]) ;;
esac],
[enableval=no])
2008-05-29 19:13:07 +04:00
enable_coverage=$enableval
2007-02-14 05:12:41 +03:00
2008-05-29 19:13:07 +04:00
if test "${enable_coverage}" = yes; then
2007-02-14 05:12:41 +03:00
gl_COMPILER_FLAGS(-fprofile-arcs)
gl_COMPILER_FLAGS(-ftest-coverage)
AC_SUBST([COVERAGE_CFLAGS], [$COMPILER_FLAGS])
AC_SUBST([COVERAGE_LDFLAGS], [$COMPILER_FLAGS])
COMPILER_FLAGS=
fi
2008-05-29 19:13:07 +04:00
AC_ARG_ENABLE([test-oom],
[ --enable-test-oom memory allocation failure checking],
[case "${enableval}" in
yes|no) ;;
*) AC_MSG_ERROR([bad value ${enableval} for test-oom option]) ;;
esac],
[enableval=no])
enable_oom=$enableval
if test "${enable_oom}" = yes; then
have_trace=yes
AC_CHECK_HEADER([execinfo.h],[],[have_trace=no])
AC_CHECK_FUNC([backtrace],[],[have_trace=no])
if test "$have_trace" = "yes"; then
AC_DEFINE([TEST_OOM_TRACE], 1, [Whether backtrace() is available])
fi
AC_DEFINE([TEST_OOM], 1, [Whether malloc OOM checking is enabled])
fi
2009-05-19 14:17:17 +04:00
AC_ARG_ENABLE([test-locking],
[ --enable-test-locking thread locking tests using CIL],
[case "${enableval}" in
yes|no) ;;
*) AC_MSG_ERROR([bad value ${enableval} for test-locking option]) ;;
esac],
[enableval=no])
enable_locking=$enableval
if test "$enable_locking" = "yes"; then
LOCK_CHECKING_CFLAGS="-Dbool=char -D_Bool=char -save-temps"
AC_SUBST([LOCK_CHECKING_CFLAGS])
fi
AM_CONDITIONAL([WITH_CIL],[test "$enable_locking" = "yes"])
2007-11-26 14:52:38 +03:00
dnl Enable building the proxy?
2007-12-05 22:11:01 +03:00
2008-05-22 19:34:02 +04:00
AC_ARG_WITH([xen-proxy],
2007-12-05 22:11:01 +03:00
[ --with-xen-proxy add XEN setuid proxy support (on)],[],[with_xen_proxy=auto])
AC_MSG_CHECKING([if Xen setuid proxy is needed])
if test "$with_xen_proxy" = "auto"; then
if test "$with_polkit" = "yes"; then
with_xen_proxy="no"
else
with_xen_proxy="yes"
fi
fi
if test "$with_xen" != "yes"; then
with_xen_proxy="no"
fi
AC_MSG_RESULT([$with_xen_proxy])
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_PROXY],[test "$with_xen_proxy" = "yes"])
2008-03-17 20:30:48 +03:00
if test "$with_xen_proxy" = "yes"; then
2008-05-22 19:34:02 +04:00
AC_DEFINE([WITH_PROXY], 1, [Whether Xen proxy is enabled])
2008-03-17 20:30:48 +03:00
fi
2007-02-14 05:12:41 +03:00
2007-12-06 19:34:48 +03:00
dnl Enable building libvirtd?
2008-05-22 19:34:02 +04:00
AM_CONDITIONAL([WITH_LIBVIRTD],[test "x$with_libvirtd" = "xyes"])
2007-12-06 19:34:48 +03:00
2007-11-26 14:52:38 +03:00
dnl Check for gettext
2006-09-21 19:24:37 +04:00
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
2008-10-22 17:55:15 +04:00
ALL_LINGUAS=`cd "$srcdir/po" > /dev/null && ls *.po | sed 's+\.po$++'`
2006-09-21 19:24:37 +04:00
2007-11-29 20:44:01 +03:00
dnl Extra link-time flags for Cygwin.
dnl Copied from libxml2 configure.in, but I removed mingw changes
dnl for now since I'm not supporting mingw at present. - RWMJ
CYGWIN_EXTRA_LDFLAGS=
CYGWIN_EXTRA_LIBADD=
CYGWIN_EXTRA_PYTHON_LIBADD=
2008-01-05 19:06:36 +03:00
MINGW_EXTRA_LDFLAGS=
2007-11-29 20:44:01 +03:00
case "$host" in
*-*-cygwin*)
CYGWIN_EXTRA_LDFLAGS="-no-undefined"
CYGWIN_EXTRA_LIBADD="${INTLLIBS}"
if test "x$PYTHON_VERSION" != "x"; then
CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
fi
;;
2008-01-05 19:06:36 +03:00
*-*-mingw*)
MINGW_EXTRA_LDFLAGS="-no-undefined"
;;
2007-11-29 20:44:01 +03:00
esac
2008-05-22 19:34:02 +04:00
AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
AC_SUBST([CYGWIN_EXTRA_LIBADD])
AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
AC_SUBST([MINGW_EXTRA_LDFLAGS])
2007-11-29 20:44:01 +03:00
2008-10-15 22:39:34 +04:00
dnl Look for windres to build a Windows icon resource.
AC_CHECK_TOOL([WINDRES], [windres], [no])
AM_CONDITIONAL([WITH_WIN_ICON], [test "$WINDRES" != "no"])
2008-11-21 15:16:08 +03:00
dnl Driver-Modules library
AC_ARG_WITH([driver-modules],
[ --with-driver-modules build drivers as loadable modules],
[],
[with_driver_modules=no])
DRIVER_MODULES_CFLAGS=
DRIVER_MODULES_LIBS=
if test "x$with_driver_modules" = "xyes" ; then
old_cflags="$CFLAGS"
old_libs="$LIBS"
fail=0
AC_CHECK_HEADER([dlfcn.h],[],[fail=1])
AC_CHECK_LIB([dl], [dlopen],[],[fail=1])
test $fail = 1 &&
AC_MSG_ERROR([You must have dlfcn.h / dlopen() support to build driver modules])
CFLAGS="$old_cflags"
LIBS="$old_libs"
fi
if test "$with_driver_modules" = "yes"; then
DRIVER_MODULES_CFLAGS="-export-dynamic"
DRIVER_MODULES_LIBS="-ldl"
AC_DEFINE_UNQUOTED([WITH_DRIVER_MODULES], 1, [whether to build drivers as modules])
fi
AM_CONDITIONAL([WITH_DRIVER_MODULES], [test "$with_driver_modules" != "no"])
AC_SUBST([DRIVER_MODULES_CFLAGS])
AC_SUBST([DRIVER_MODULES_LIBS])
2008-02-28 20:07:37 +03:00
# Set LV_LIBTOOL_OBJDIR to "." or $lt_cv_objdir, depending on whether
# we're building shared libraries. This is the name of the directory
# in which .o files will be created.
test "$enable_shared" = no && lt_cv_objdir=.
LV_LIBTOOL_OBJDIR=${lt_cv_objdir-.}
2008-05-22 19:34:02 +04:00
AC_SUBST([LV_LIBTOOL_OBJDIR])
2008-02-28 20:07:37 +03:00
2008-11-21 15:27:11 +03:00
dnl HAL or DeviceKit library for host device enumeration
HAL_REQUIRED=0.0
HAL_CFLAGS=
HAL_LIBS=
AC_ARG_WITH([hal],
[ --with-hal use HAL for host device enumeration],
[],
[with_hal=check])
if test "$with_libvirtd" = "no" ; then
with_hal=no
fi
if test "x$with_hal" = "xyes" -o "x$with_hal" = "xcheck"; then
PKG_CHECK_MODULES(HAL, hal >= $HAL_REQUIRED,
[with_hal=yes], [
if test "x$with_hal" = "xcheck" ; then
with_hal=no
else
AC_MSG_ERROR(
[You must install hal-devel >= $HAL_REQUIRED to compile libvirt])
fi
])
if test "x$with_hal" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_HAL], 1,
[use HAL for host device enumeration])
old_CFLAGS=$CFLAGS
old_LDFLAGS=$LDFLAGS
CFLAGS="$CFLAGS $HAL_CFLAGS"
LDFLAGS="$LDFLAGS $HAL_LIBS"
AC_CHECK_FUNCS([libhal_get_all_devices],,[with_hal=no])
2008-12-05 18:05:48 +03:00
AC_CHECK_FUNCS([dbus_watch_get_unix_fd])
2008-11-21 15:27:11 +03:00
CFLAGS="$old_CFLAGS"
LDFLAGS="$old_LDFLAGS"
fi
fi
AM_CONDITIONAL([HAVE_HAL], [test "x$with_hal" = "xyes"])
AC_SUBST([HAL_CFLAGS])
AC_SUBST([HAL_LIBS])
DEVKIT_REQUIRED=0.0
DEVKIT_CFLAGS=
DEVKIT_LIBS=
AC_ARG_WITH([devkit],
[ --with-devkit use DeviceKit for host device enumeration],
[],
[with_devkit=no])
if test "$with_libvirtd" = "no" ; then
with_devkit=no
fi
dnl Extra check needed while devkit pkg-config info missing glib2 dependency
PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 0.0,,[
if test "x$with_devkit" = "xcheck"; then
with_devkit=no
elif test "x$with_devkit" = "xyes"; then
AC_MSG_ERROR([required package DeviceKit requires package glib-2.0])
fi])
if test "x$with_devkit" = "xyes" -o "x$with_devkit" = "xcheck"; then
PKG_CHECK_MODULES(DEVKIT, devkit-gobject >= $DEVKIT_REQUIRED,
[with_devkit=yes], [
if test "x$with_devkit" = "xcheck" ; then
with_devkit=no
else
AC_MSG_ERROR(
[You must install DeviceKit-devel >= $DEVKIT_REQUIRED to compile libvirt])
fi
])
if test "x$with_devkit" = "xyes" ; then
AC_DEFINE_UNQUOTED([HAVE_DEVKIT], 1,
[use DeviceKit for host device enumeration])
dnl Add glib2 flags explicitly while devkit pkg-config info missing glib2 dependency
DEVKIT_CFLAGS="$GLIB2_CFLAGS $DEVKIT_CFLAGS"
DEVKIT_LIBS="$GLIB2_LIBS $DEVKIT_LIBS"
dnl Add more flags apparently required for devkit to work properly
DEVKIT_CFLAGS="$DEVKIT_CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
old_CFLAGS=$CFLAGS
old_LDFLAGS=$LDFLAGS
CFLAGS="$CFLAGS $DEVKIT_CFLAGS"
LDFLAGS="$LDFLAGS $DEVKIT_LIBS"
AC_CHECK_FUNCS([devkit_client_connect],,[with_devkit=no])
CFLAGS="$old_CFLAGS"
LDFLAGS="$old_LDFLAGS"
fi
fi
AM_CONDITIONAL([HAVE_DEVKIT], [test "x$with_devkit" = "xyes"])
AC_SUBST([DEVKIT_CFLAGS])
AC_SUBST([DEVKIT_LIBS])
with_nodedev=no;
if test "$with_devkit" = "yes" -o "$with_hal" = "yes";
then
with_nodedev=yes
AC_DEFINE_UNQUOTED([WITH_NODE_DEVICES], 1, [with node device driver])
fi
AM_CONDITIONAL([WITH_NODE_DEVICES], [test "$with_nodedev" = "yes"])
2009-01-05 17:08:26 +03:00
AM_CONDITIONAL([WITH_LINUX], [test `uname -s` = "Linux"])
2009-07-16 01:25:01 +04:00
AC_ARG_WITH([qemu-user],
[ --with-qemu-user username to run QEMU system instance as],
[QEMU_USER=${withval}],
[QEMU_USER=root])
AC_ARG_WITH([qemu-group],
[ --with-qemu-group groupname to run QEMU system instance as],
[QEMU_GROUP=${withval}],
[QEMU_GROUP=root])
AC_DEFINE_UNQUOTED([QEMU_USER], ["$QEMU_USER"], [QEMU user account])
AC_DEFINE_UNQUOTED([QEMU_GROUP], ["$QEMU_GROUP"], [QEMU group account])
2008-11-25 18:36:09 +03:00
# Only COPYING.LIB is under version control, yet COPYING
# is included as part of the distribution tarball.
# Copy one to the other, but only if this is a srcdir-build.
# You are unlikely to be doing distribution-related things in a non-srcdir build
test "x$srcdir" = x. && ! test -f COPYING &&
cp -f COPYING.LIB COPYING
2005-12-09 13:37:37 +03:00
2005-12-08 18:08:46 +03:00
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
2009-01-27 18:29:53 +03:00
docs/schemas/Makefile \
2007-12-07 17:35:18 +03:00
gnulib/lib/Makefile \
2007-12-10 21:26:56 +03:00
gnulib/tests/Makefile \
2008-10-10 15:33:10 +04:00
libvirt.pc libvirt.spec mingw32-libvirt.spec \
2008-05-29 23:27:04 +04:00
po/Makefile.in \
2006-06-26 19:02:18 +04:00
include/libvirt/Makefile include/libvirt/libvirt.h \
2006-05-09 19:35:46 +04:00
python/Makefile python/tests/Makefile \
2009-09-15 18:49:29 +04:00
daemon/Makefile \
2009-04-19 19:12:33 +04:00
tools/Makefile \
2006-08-25 01:46:28 +04:00
tests/Makefile proxy/Makefile \
2006-09-12 05:16:22 +04:00
tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \
2007-01-19 23:30:05 +03:00
tests/xmconfigdata/Makefile \
2007-03-27 18:45:17 +04:00
tests/xencapsdata/Makefile \
2008-11-24 10:11:26 +03:00
tests/confdata/Makefile \
2009-02-26 19:14:50 +03:00
examples/domain-events/events-c/Makefile \
2009-09-16 16:07:48 +04:00
examples/domsuspend/Makefile \
examples/dominfo/Makefile \
examples/python/Makefile \
2009-02-26 19:14:50 +03:00
examples/hellolibvirt/Makefile)
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Configuration summary])
AC_MSG_NOTICE([=====================])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Drivers])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ Xen: $with_xen])
2007-12-05 22:11:01 +03:00
AC_MSG_NOTICE([ Proxy: $with_xen_proxy])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([ QEMU: $with_qemu])
2008-11-19 19:58:23 +03:00
AC_MSG_NOTICE([ UML: $with_uml])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([ OpenVZ: $with_openvz])
2009-04-17 20:09:07 +04:00
AC_MSG_NOTICE([ VBox: $with_vbox])
2008-03-21 18:03:37 +03:00
AC_MSG_NOTICE([ LXC: $with_lxc])
2009-07-24 18:17:06 +04:00
AC_MSG_NOTICE([ PHYP: $with_phyp])
2009-05-25 15:56:00 +04:00
AC_MSG_NOTICE([ ONE: $with_one])
2009-07-24 00:21:08 +04:00
AC_MSG_NOTICE([ ESX: $with_esx])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([ Test: $with_test])
AC_MSG_NOTICE([ Remote: $with_remote])
2008-10-10 17:57:13 +04:00
AC_MSG_NOTICE([ Network: $with_network])
2007-12-06 19:34:48 +03:00
AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
2009-05-20 18:26:49 +04:00
AC_MSG_NOTICE([ netcf: $with_netcf])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([])
2008-02-20 18:42:30 +03:00
AC_MSG_NOTICE([Storage Drivers])
AC_MSG_NOTICE([])
2008-09-05 16:03:45 +04:00
AC_MSG_NOTICE([ Dir: $with_storage_dir])
2008-02-20 18:42:30 +03:00
AC_MSG_NOTICE([ FS: $with_storage_fs])
AC_MSG_NOTICE([ NetFS: $with_storage_fs])
2008-02-20 18:45:33 +03:00
AC_MSG_NOTICE([ LVM: $with_storage_lvm])
2008-02-20 18:49:25 +03:00
AC_MSG_NOTICE([ iSCSI: $with_storage_iscsi])
2009-04-01 20:03:22 +04:00
AC_MSG_NOTICE([ SCSI: $with_storage_scsi])
2009-09-08 17:47:45 +04:00
AC_MSG_NOTICE([ mpath: $with_storage_mpath])
2008-02-20 18:52:17 +03:00
AC_MSG_NOTICE([ Disk: $with_storage_disk])
2008-02-20 18:42:30 +03:00
AC_MSG_NOTICE([])
2009-03-03 13:06:49 +03:00
AC_MSG_NOTICE([Security Drivers])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ SELinux: $with_secdriver_selinux])
2009-10-09 13:42:09 +04:00
AC_MSG_NOTICE([AppArmor: $with_secdriver_apparmor])
2009-03-03 13:06:49 +03:00
AC_MSG_NOTICE([])
2008-11-21 15:16:08 +03:00
AC_MSG_NOTICE([Driver Loadable Modules])
AC_MSG_NOTICE([])
if test "$with_driver_modules" != "no" ; then
AC_MSG_NOTICE([ dlopen: $DRIVER_MODULES_CFLAGS $DRIVER_MODULES_LIBS])
else
AC_MSG_NOTICE([ dlopen: no])
fi
2009-08-05 12:43:37 +04:00
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Libraries])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
2009-07-24 00:21:08 +04:00
if test "$with_esx" = "yes" ; then
AC_MSG_NOTICE([ libcurl: $LIBCURL_CFLAGS $LIBCURL_LIBS])
else
AC_MSG_NOTICE([ libcurl: no])
fi
2009-09-04 14:08:47 +04:00
if test "$with_libssh2" != "no" ; then
2009-10-09 13:42:09 +04:00
AC_MSG_NOTICE([ libssh2: $LIBSSH2_CFLAGS $LIBSSH2_LIBS])
2009-07-24 18:17:06 +04:00
else
2009-10-09 13:42:09 +04:00
AC_MSG_NOTICE([ libssh2: no])
2009-07-24 18:17:06 +04:00
fi
2007-09-19 21:42:40 +04:00
AC_MSG_NOTICE([ gnutls: $GNUTLS_CFLAGS $GNUTLS_LIBS])
2007-12-05 18:24:15 +03:00
if test "$with_sasl" != "no" ; then
AC_MSG_NOTICE([ sasl: $SASL_CFLAGS $SASL_LIBS])
else
AC_MSG_NOTICE([ sasl: no])
fi
2007-09-19 05:56:55 +04:00
if test "$with_avahi" = "yes" ; then
AC_MSG_NOTICE([ avahi: $AVAHI_CFLAGS $AVAHI_LIBS])
else
AC_MSG_NOTICE([ avahi: no])
fi
2007-12-05 21:21:27 +03:00
if test "$with_polkit" = "yes" ; then
2009-08-06 16:54:08 +04:00
if test "$with_polkit0" = "yes" ; then
AC_MSG_NOTICE([ polkit: $POLKIT_CFLAGS $POLKIT_LIBS (version 0)])
else
AC_MSG_NOTICE([ polkit: $PKCHECK_PATH (version 1)])
fi
2007-12-05 21:21:27 +03:00
else
AC_MSG_NOTICE([ polkit: no])
fi
2008-02-20 18:38:29 +03:00
if test "$with_selinux" = "yes" ; then
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ selinux: $SELINUX_CFLAGS $SELINUX_LIBS])
2008-02-20 18:38:29 +03:00
else
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ selinux: no])
2008-02-20 18:38:29 +03:00
fi
2009-10-08 18:34:22 +04:00
if test "$with_apparmor" = "yes" ; then
2009-10-09 13:42:09 +04:00
AC_MSG_NOTICE([apparmor: $APPARMOR_CFLAGS $APPARMOR_LIBS])
2009-10-08 18:34:22 +04:00
else
2009-10-09 13:42:09 +04:00
AC_MSG_NOTICE([apparmor: no])
2009-10-08 18:34:22 +04:00
fi
2008-05-22 19:29:50 +04:00
if test "$with_numactl" = "yes" ; then
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ numactl: $NUMACTL_CFLAGS $NUMACTL_LIBS])
2008-05-22 19:29:50 +04:00
else
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ numactl: no])
2008-05-22 19:29:50 +04:00
fi
2009-06-29 15:33:13 +04:00
if test "$with_capng" = "yes" ; then
AC_MSG_NOTICE([ capng: $CAPNG_CFLAGS $CAPNG_LIBS])
else
AC_MSG_NOTICE([ capng: no])
fi
2008-11-05 02:37:23 +03:00
if test "$with_xen" = "yes" ; then
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ xen: $XEN_CFLAGS $XEN_LIBS])
2008-11-05 02:37:23 +03:00
else
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ xen: no])
2008-11-05 02:37:23 +03:00
fi
2008-11-21 15:27:11 +03:00
if test "$with_hal" = "yes" ; then
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ hal: $HAL_CFLAGS $HAL_LIBS])
2008-11-21 15:27:11 +03:00
else
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ hal: no])
2008-11-21 15:27:11 +03:00
fi
if test "$with_devkit" = "yes" ; then
AC_MSG_NOTICE([ devkit: $DEVKIT_CFLAGS $DEVKIT_LIBS])
else
AC_MSG_NOTICE([ devkit: no])
fi
2009-05-20 18:26:49 +04:00
if test "$with_netcf" = "yes" ; then
AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $NETCF_LIBS])
else
AC_MSG_NOTICE([ netcf: no])
fi
2009-06-24 21:32:56 +04:00
if test "$with_one" = "yes" ; then
AC_MSG_NOTICE([ xmlrpc: $XMLRPC_CFLAGS $XMLRPC_LIBS])
else
AC_MSG_NOTICE([ xmlrpc: no])
fi
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([])
2008-05-29 19:13:07 +04:00
AC_MSG_NOTICE([Test suite])
AC_MSG_NOTICE([])
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ Coverage: $enable_coverage])
2008-05-29 19:13:07 +04:00
AC_MSG_NOTICE([ Alloc OOM: $enable_oom])
AC_MSG_NOTICE([])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([Miscellaneous])
AC_MSG_NOTICE([])
2009-01-20 15:25:40 +03:00
AC_MSG_NOTICE([ Debug: $enable_debug])
2008-01-19 21:36:01 +03:00
AC_MSG_NOTICE([ Warnings: $enable_compile_warnings])
2007-12-06 14:42:26 +03:00
AC_MSG_NOTICE([ Readline: $lv_use_readline])
2009-10-02 19:19:47 +04:00
AC_MSG_NOTICE([ Python: $with_python])
2007-09-19 03:36:30 +04:00
AC_MSG_NOTICE([])
2009-07-16 01:25:01 +04:00
AC_MSG_NOTICE([Privileges])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ QEMU: $QEMU_USER:$QEMU_GROUP])
2009-07-24 18:17:06 +04:00
AC_MSG_NOTICE([])