configure.ac 77.9 KB
Newer Older
D
Daniel Veillard 已提交
1
dnl Process this file with autoconf to produce a configure script.
2

3
AC_INIT([libvirt], [0.8.4], [libvir-list@redhat.com], [], [http://libvirt.org])
4 5
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
E
Eric Blake 已提交
6
AC_CONFIG_HEADERS([config.h])
7
AC_CONFIG_MACRO_DIR([m4])
8 9
dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability])
10 11 12 13 14

# Use the silent-rules feature when possible.
m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
AM_SILENT_RULES([yes])

D
Daniel Veillard 已提交
15 16
AC_CANONICAL_HOST

17 18 19
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}'`
20 21 22
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`
D
Daniel Veillard 已提交
23

24 25 26 27 28 29
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])
D
Daniel Veillard 已提交
30

31
dnl Required minimum versions of all libs we depend on
D
Daniel Veillard 已提交
32
LIBXML_REQUIRED="2.6.0"
33
GNUTLS_REQUIRED="1.0.25"
34
AVAHI_REQUIRED="0.6.0"
35
POLKIT_REQUIRED="0.6"
36
PARTED_REQUIRED="1.8.0"
D
Daniel Veillard 已提交
37
NETCF_REQUIRED="0.1.4"
38 39 40 41 42 43
UDEV_REQUIRED=145
PCIACCESS_REQUIRED=0.10.0
XMLRPC_REQUIRED=1.14.0
HAL_REQUIRED=0.5.0
DEVMAPPER_REQUIRED=1.0.0
LIBCURL_REQUIRED="7.18.0"
44
LIBPCAP_REQUIRED="1.0.0"
45
LIBNL_REQUIRED="1.1"
46

47
dnl Checks for C compiler.
48 49 50
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
51

52 53 54 55
gl_EARLY
gl_INIT

AM_PROG_CC_STDC
56
AC_TYPE_UID_T
57

58 59
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
60
test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
61

62 63 64
dnl Support building Win32 DLLs (must appear *before* AM_PROG_LIBTOOL)
AC_LIBTOOL_WIN32_DLL

65
AM_PROG_LIBTOOL
66
AM_PROG_CC_C_O
67
AM_PROG_LD
68

69
VERSION_SCRIPT_FLAGS=-Wl,--version-script=
70
`$LD --help 2>&1 | grep -- --version-script >/dev/null` || \
71 72
    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"

73
LIBVIRT_COMPILE_WARNINGS([maximum])
74

J
Jiri Denemark 已提交
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
AC_MSG_CHECKING([for CPUID instruction])
AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
  [[
    #include <stdint.h>
  ]],
  [[
    uint32_t eax, ebx, ecx, edx;
    asm volatile (
        "cpuid"
        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
        : "a" (eax));
  ]]),
  [have_cpuid=yes],
  [have_cpuid=no])
if test "x$have_cpuid" = xyes; then
  AC_DEFINE_UNQUOTED([HAVE_CPUID], 1, [whether CPUID instruction is supported])
fi
AC_MSG_RESULT([$have_cpuid])


95
dnl Availability of various common functions (non-fatal if missing).
E
Eric Blake 已提交
96
AC_CHECK_FUNCS_ONCE([cfmakeraw regexec sched_getaffinity getuid getgid \
97
 posix_fallocate mmap])
98

99
dnl Availability of various not common threadsafe functions
100
AC_CHECK_FUNCS_ONCE([strerror_r getmntent_r getgrnam_r getpwuid_r])
101 102 103 104 105 106 107 108

dnl Availability of pthread functions (if missing, win32 threading is
dnl assumed).  Because of $LIB_PTHREAD, we cannot use AC_CHECK_FUNCS_ONCE.
dnl LIB_PTHREAD was set during gl_INIT by gnulib.
old_LIBS=$LIBS
LIBS="$LIBS $LIB_PTHREAD"
AC_CHECK_FUNCS([pthread_sigmask pthread_mutexattr_init])
LIBS=$old_libs
109

110
dnl Availability of various common headers (non-fatal if missing).
E
Eric Blake 已提交
111
AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/syslimits.h \
E
Eric Blake 已提交
112
  sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h])
113

D
Daniel P. Berrange 已提交
114 115
AC_CHECK_LIB([intl],[gettext],[])

116
dnl Do we have rpcgen?
117
AC_PATH_PROG([RPCGEN], [rpcgen], [no])
118
AM_CONDITIONAL([HAVE_RPCGEN], [test "x$ac_cv_path_RPCGEN" != "xno"])
119
dnl Is this GLIBC's buggy rpcgen?
120
AM_CONDITIONAL([HAVE_GLIBC_RPCGEN],
121 122
	       [test "x$ac_cv_path_RPCGEN" != "xno" &&
	        $ac_cv_path_RPCGEN -t </dev/null >/dev/null 2>&1])
123

124
dnl Miscellaneous external programs.
125
AC_PATH_PROG([XMLLINT], [xmllint], [/usr/bin/xmllint])
126
AC_PATH_PROG([XMLCATALOG], [xmlcatalog], [/usr/bin/xmlcatalog])
127
AC_PATH_PROG([XSLTPROC], [xsltproc], [/usr/bin/xsltproc])
128
AC_PATH_PROG([AUGPARSE], [augparse], [/usr/bin/augparse])
R
Richard W.M. Jones 已提交
129 130
AC_PROG_MKDIR_P

131 132 133 134
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.
135
AC_PATH_PROG([DNSMASQ], [dnsmasq], [dnsmasq],
136
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
137
AC_PATH_PROG([BRCTL], [brctl], [brctl],
138
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
139 140
AC_PATH_PROG([UDEVADM], [udevadm], [],
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
141 142
AC_PATH_PROG([UDEVSETTLE], [udevsettle], [],
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
143 144
AC_PATH_PROG([MODPROBE], [modprobe], [],
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
145 146 147 148 149

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)])
150 151 152 153
if test -n "$UDEVADM"; then
  AC_DEFINE_UNQUOTED([UDEVADM],["$UDEVADM"],
        [Location or name of the udevadm program])
fi
154 155 156 157
if test -n "$UDEVSETTLE"; then
  AC_DEFINE_UNQUOTED([UDEVSETTLE],["$UDEVSETTLE"],
        [Location or name of the udevsettle program])
fi
158 159 160 161
if test -n "$MODPROBE"; then
  AC_DEFINE_UNQUOTED([MODPROBE],["$MODPROBE"],
        [Location or name of the modprobe program])
fi
162

163
dnl Specific dir for HTML output ?
164 165
AC_ARG_WITH([html-dir], [AC_HELP_STRING([--with-html-dir=path],
            [path to base html directory, default $datadir/doc/html])],
166 167
            [HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])

168 169
AC_ARG_WITH([html-subdir], [AC_HELP_STRING([--with-html-subdir=path],
            [directory used under html-dir, default $PACKAGE-$VERSION/html])],
170 171
            [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
            [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
172
AC_SUBST([HTML_DIR])
173

174 175 176 177
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

178
if test "$prefix" = "/usr" && test "$localstatedir" = '${prefix}/var' ; then
179 180
    localstatedir='/var'
fi
181
if test "$prefix" = "/usr" && test "$sysconfdir" = '${prefix}/etc' ; then
182 183 184
    sysconfdir='/etc'
fi

185 186 187 188 189 190 191 192 193 194 195 196 197
dnl Make some notes about which OS we're compiling for, as the lxc and qemu
dnl drivers require linux headers, while storage_mpath and nwfilter are also
dnl linux specific.  The "network" and storage_fs drivers are known to not
dnl work on MacOS X presently, so we also make a note if compiling for that

with_linux=no with_osx=no
case $host in
  *-*-linux*) with_linux=yes ;;
  *-*-darwin*) with_osx=yes ;;
esac

if test $with_linux = no; then
    if test "x$with_lxc" != xyes
198 199 200
    then
        with_lxc=no
    fi
201
    if test "x$with_qemu" != xyes
202 203 204
    then
        with_qemu=no
    fi
205 206 207
fi

AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"])
208

209
dnl Allow to build without Xen, QEMU/KVM, test or remote driver
210
AC_ARG_WITH([xen],
211
  AC_HELP_STRING([--with-xen], [add XEN support @<:@default=check@:>@]),[],[with_xen=check])
212
AC_ARG_WITH([xen-inotify],
213
  AC_HELP_STRING([--with-xen-inotify], [add XEN inotify support @<:@default=check@:>@]),[],[with_xen_inotify=check])
214
AC_ARG_WITH([qemu],
215
  AC_HELP_STRING([--with-qemu], [add QEMU/KVM support @<:@default=yes@:>@]),[],[with_qemu=yes])
216
AC_ARG_WITH([uml],
217
  AC_HELP_STRING([--with-uml], [add UML support @<:@default=check@:>@]),[],[with_uml=check])
218
AC_ARG_WITH([openvz],
219
  AC_HELP_STRING([--with-openvz], [add OpenVZ support @<:@default=yes@:>@]),[],[with_openvz=yes])
220
AC_ARG_WITH([libssh2],
221
  AC_HELP_STRING([--with-libssh2=@<:@PFX@:>@], [libssh2 location @<:@default=/usr/local/lib@:>@]),[],[with_libssh2=yes])
222
AC_ARG_WITH([phyp],
223
  AC_HELP_STRING([--with-phyp], [add PHYP support @<:@default=check@:>@]),[],[with_phyp=check])
224 225
AC_ARG_WITH([xenapi],
  AC_HELP_STRING([--with-xenapi], [add XenAPI support @<:@default=check@:>@]),[],[with_xenapi=check])
226
AC_ARG_WITH([vbox],
227 228 229
  AC_HELP_STRING([--with-vbox=@<:@PFX@:>@],
                 [VirtualBox XPCOMC location @<:@default=check@:>@]),[],
                 [with_vbox=check])
230
AC_ARG_WITH([lxc],
231
  AC_HELP_STRING([--with-lxc], [add Linux Container support @<:@default=check@:>@]),[],[with_lxc=check])
D
Daniel Veillard 已提交
232
AC_ARG_WITH([one],
233
  AC_HELP_STRING([--with-one], [add ONE support @<:@default=check@:>@]),[],[with_one=check])
234
AC_ARG_WITH([esx],
235
  AC_HELP_STRING([--with-esx], [add ESX support @<:@default=check@:>@]),[],[with_esx=check])
236
AC_ARG_WITH([test],
237
  AC_HELP_STRING([--with-test], [add test driver support @<:@default=yes@:>@]),[],[with_test=yes])
238
AC_ARG_WITH([remote],
239
  AC_HELP_STRING([--with-remote], [add remote driver support @<:@default=yes@:>@]),[],[with_remote=yes])
240
AC_ARG_WITH([libvirtd],
241
  AC_HELP_STRING([--with-libvirtd], [add libvirtd support @<:@default=yes@:>@]),[],[with_libvirtd=yes])
242

243
dnl
244 245
dnl in case someone want to build static binaries
dnl STATIC_BINARIES="-static"
246
dnl
247
STATIC_BINARIES=
248
AC_SUBST([STATIC_BINARIES])
249

250
dnl --enable-debug=(yes|no)
251
AC_ARG_ENABLE([debug],
252 253
              [AC_HELP_STRING([--enable-debug=@<:@no|yes@:>@],
                             [enable debugging output @<:@default=yes@:>@])],[],[enable_debug=yes])
254
AM_CONDITIONAL([ENABLE_DEBUG], test x"$enable_debug" = x"yes")
255
if test x"$enable_debug" = x"yes"; then
256
   AC_DEFINE([ENABLE_DEBUG], [], [whether debugging is enabled])
257 258
fi

259

260
AC_MSG_CHECKING([where to write libvirtd PID file])
261
AC_ARG_WITH([remote-pid-file], [AC_HELP_STRING([--with-remote-pid-file=@<:@pidfile|none@:>@], [PID file for libvirtd])])
262 263 264 265 266 267 268
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
269
AC_SUBST([REMOTE_PID_FILE])
270 271
AC_MSG_RESULT($REMOTE_PID_FILE)

272 273 274 275
dnl
dnl init script flavor
dnl
AC_MSG_CHECKING([for init script flavor])
276
AC_ARG_WITH([init-script],
277 278
            [AC_HELP_STRING([--with-init-script=@<:@redhat|auto|none@:>@],
		     [Style of init script to install @<:@default=auto@:>@])])
279
if test "x$with_init_script" = "x" || test "x$with_init_script" = "xauto"; then
280
    if test "$cross_compiling" = yes || test ! -f /etc/redhat-release; then
281
        with_init_script=none
282 283
    else
        with_init_script=redhat
284 285
    fi
fi
286 287
AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_RED_HAT], test x$with_init_script = xredhat)
AC_MSG_RESULT($with_init_script)
288

289 290
dnl RHEL-5 has a peculiar version of Xen, which requires some special casing
AC_ARG_WITH([rhel5-api],
291 292
	[AC_HELP_STRING([--with-rhel5-api=@<:@ARG@:>@],
		[build for the RHEL-5 API @<:@default=no@:>@])])
293 294 295 296
if test x"$with_rhel5_api" = x"yes"; then
   AC_DEFINE([WITH_RHEL5_API], [1], [whether building for the RHEL-5 API])
fi

297 298
AC_PATH_PROG([IPTABLES_PATH], [iptables], /sbin/iptables, [/usr/sbin:$PATH])
AC_DEFINE_UNQUOTED([IPTABLES_PATH], "$IPTABLES_PATH", [path to iptables binary])
299

G
Gerhard Stenzel 已提交
300 301 302
AC_PATH_PROG([EBTABLES_PATH], [ebtables], /sbin/ebtables, [/usr/sbin:$PATH])
AC_DEFINE_UNQUOTED([EBTABLES_PATH], "$EBTABLES_PATH", [path to ebtables binary])

S
Stefan Berger 已提交
303

304
if test "$with_openvz" = "yes"; then
305
    AC_DEFINE_UNQUOTED([WITH_OPENVZ], 1, [whether OpenVZ driver is enabled])
306
fi
307 308
AM_CONDITIONAL([WITH_OPENVZ], [test "$with_openvz" = "yes"])

309

310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328
dnl
dnl check for XDR
dnl

if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then
    dnl Where are the XDR functions?
    dnl If portablexdr is installed, prefer that.
    dnl Otherwise try -lrpc (Cygwin) -lxdr (some MinGW), -lnsl (Solaris)
    dnl or none (most Unix)
    AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
        AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl],[],
            [AC_MSG_ERROR([Cannot find a XDR library])])
        ])

    dnl check for cygwin's variation in xdr function names
    AC_CHECK_FUNCS([xdr_u_int64_t],[],[],[#include <rpc/xdr.h>])
fi


329 330 331 332 333 334 335 336 337 338 339
dnl
dnl check for VirtualBox XPCOMC location
dnl

vbox_xpcomc_dir=

if test "x$with_vbox" = "xyes" || test "x$with_vbox" = "xcheck"; then
    AC_MSG_CHECKING([for VirtualBox XPCOMC location])

    for vbox in \
        /usr/lib/virtualbox/VBoxXPCOMC.so \
340
        /usr/lib64/virtualbox/VBoxXPCOMC.so \
341 342 343 344 345 346 347 348 349
        /usr/lib/VirtualBox/VBoxXPCOMC.so \
        /opt/virtualbox/VBoxXPCOMC.so \
        /opt/VirtualBox/VBoxXPCOMC.so \
        /opt/virtualbox/i386/VBoxXPCOMC.so \
        /opt/VirtualBox/i386/VBoxXPCOMC.so \
        /opt/virtualbox/amd64/VBoxXPCOMC.so \
        /opt/VirtualBox/amd64/VBoxXPCOMC.so \
        /usr/local/lib/virtualbox/VBoxXPCOMC.so \
        /usr/local/lib/VirtualBox/VBoxXPCOMC.so \
350
        /Applications/VirtualBox.app/Contents/MacOS/VBoxXPCOMC.dylib \
351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384
        ; do
        if test -f "$vbox"; then
            vbox_xpcomc_dir=`AS_DIRNAME(["$vbox"])`
            break
        fi
    done

    if test -n "$vbox_xpcomc_dir"; then
        AC_MSG_RESULT([$vbox_xpcomc_dir])
        with_vbox=yes
    else
        if test "x$with_vbox" = "xcheck"; then
            AC_MSG_RESULT([not found, disabling VirtualBox driver])
            with_vbox=no
        else
            AC_MSG_RESULT([not found])
            AC_MSG_ERROR([VirtualBox XPCOMC is required for the VirtualBox driver])
        fi
    fi
else
    if test "x$with_vbox" != "xno"; then
        if test -f ${with_vbox}/VBoxXPCOMC.so || \
           test -f ${with_vbox}/VBoxXPCOMC.dylib; then
            vbox_xpcomc_dir=$with_vbox
            with_vbox=yes
        else
            AC_MSG_ERROR([$with_vbox does not contain VirtualBox XPCOMC])
        fi
    fi
fi

AC_DEFINE_UNQUOTED([VBOX_XPCOMC_DIR], ["$vbox_xpcomc_dir"],
                   [Location of directory containing VirtualBox XPCOMC library])

385
if test "x$with_vbox" = "xyes"; then
386 387 388 389 390 391
    AC_SEARCH_LIBS([dlopen], [dl], [], [AC_MSG_ERROR([Unable to find dlopen()])])
    case $ac_cv_search_dlopen in
      no*) DLOPEN_LIBS= ;;
      *) DLOPEN_LIBS=$ac_cv_search_dlopen ;;
    esac
    AC_SUBST([DLOPEN_LIBS])
392 393 394 395
    AC_DEFINE_UNQUOTED([WITH_VBOX], 1, [whether VirtualBox driver is enabled])
fi
AM_CONDITIONAL([WITH_VBOX], [test "$with_vbox" = "yes"])

396 397 398
if test "$with_libvirtd" = "no" ; then
  with_qemu=no
fi
D
Daniel P. Berrange 已提交
399
if test "$with_qemu" = "yes" ; then
400
    AC_DEFINE_UNQUOTED([WITH_QEMU], 1, [whether QEMU driver is enabled])
401
fi
402
AM_CONDITIONAL([WITH_QEMU], [test "$with_qemu" = "yes"])
403

D
Daniel Veillard 已提交
404 405 406 407 408
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"])

D
Daniel P. Berrange 已提交
409
if test "$with_test" = "yes" ; then
410
    AC_DEFINE_UNQUOTED([WITH_TEST], 1, [whether Test driver is enabled])
411
fi
412
AM_CONDITIONAL([WITH_TEST], [test "$with_test" = "yes"])
413

D
Daniel P. Berrange 已提交
414
if test "$with_remote" = "yes" ; then
415
    AC_DEFINE_UNQUOTED([WITH_REMOTE], 1, [whether Remote driver is enabled])
416
fi
417
AM_CONDITIONAL([WITH_REMOTE], [test "$with_remote" = "yes"])
418

419
if test "$with_libvirtd" = "yes" ; then
420
    AC_DEFINE_UNQUOTED([WITH_LIBVIRTD], 1, [whether libvirtd daemon is enabled])
421
fi
422
AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"])
423

424 425 426 427 428 429 430

old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
LIBXENSERVER_LIBS=""
LIBXENSERVER_CFLAGS=""
dnl search for the XenServer library
if test "$with_xenapi" != "no" ; then
431
    if test "$with_xenapi" != "yes" && test "$with_xenapi" != "check" ; then
432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463
        LIBXENSERVER_CFLAGS="-I$with_xenapi/include"
        LIBXENSERVER_LIBS="-L$with_xenapi"
    fi
    fail=0
    CFLAGS="$CFLAGS $LIBXENSERVER_CFLAGS"
    LIBS="$LIBS $LIBXENSERVER_LIBS"
    AC_CHECK_LIB([xenserver], [xen_vm_start], [
        with_xenapi=yes
        LIBXENSERVER_LIBS="$LIBXENSERVER_LIBS -lxenserver"
    ],[
        if test "$with_xenapi" = "yes"; then
            fail=1
        fi
            with_xenapi=no
    ])
fi

LIBS="$old_LIBS"
CFLAGS="$old_CFLAGS"

if test $fail = 1; then
    AC_MSG_ERROR([You must install the XenServer Library to compile XenAPI driver with -lxenserver])
fi

if test "$with_xenapi" = "yes"; then
    AC_DEFINE_UNQUOTED([WITH_XENAPI], 1, [whether XenAPI driver is enabled])
fi

AC_SUBST([LIBXENSERVER_CFLAGS])
AC_SUBST([LIBXENSERVER_LIBS])


464 465
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
466 467 468 469
XEN_LIBS=""
XEN_CFLAGS=""
dnl search for the Xen store library
if test "$with_xen" != "no" ; then
470
    if test "$with_xen" != "yes" && test "$with_xen" != "check" ; then
471 472
        XEN_CFLAGS="-I$with_xen/include"
        XEN_LIBS="-L$with_xen/lib64 -L$with_xen/lib"
473
    fi
474 475 476 477 478 479 480
    fail=0
    CFLAGS="$CFLAGS $XEN_CFLAGS"
    LIBS="$LIBS $XEN_LIBS"
    AC_CHECK_LIB([xenstore], [xs_read], [
           with_xen=yes
           XEN_LIBS="$XEN_LIBS -lxenstore"
       ],[
481
           if test "$with_xen" = "yes"; then
482 483
               fail=1
           fi
484
           with_xen=no
485
       ])
486
fi
487

488
if test "$with_xen" != "no" ; then
489
    AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[
490 491 492 493
       if test "$with_xen" = "yes"; then
           fail=1
       fi
       with_xen=no
494 495 496 497
    ],
[#include <stdio.h>
#include <stdint.h>
])
498
fi
499

500
if test "$with_xen" != "no" ; then
501
    dnl Search for the location of <xen/{linux,sys}/privcmd.h>.
502 503 504 505 506 507 508 509 510 511 512 513
    found=
    AC_CHECK_HEADERS([xen/sys/privcmd.h xen/linux/privcmd.h], [found=yes; break;], [],
       [#include <stdio.h>
        #include <stdint.h>
        #include <xen/xen.h>
       ])
    if test "x$found" != "xyes"; then
        if test "$with_xen" = "yes"; then
            fail=1
        fi
        with_xen=no
    fi
514
fi
515 516 517 518 519 520 521 522

LIBS="$old_LIBS"
CFLAGS="$old_CFLAGS"

if test $fail = 1; then
    AC_MSG_ERROR([You must install the Xen development package to compile Xen driver with -lxenstore])
fi

523 524 525
if test "$with_xen" = "yes"; then
    AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled])
fi
526

527 528 529
AM_CONDITIONAL([WITH_XEN], [test "$with_xen" = "yes"])
AC_SUBST([XEN_CFLAGS])
AC_SUBST([XEN_LIBS])
530

531 532 533 534 535 536 537
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
538 539 540 541 542 543 544 545 546 547
    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])
548 549 550 551 552 553
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"])

554 555
dnl
dnl check for kvm headers
556
dnl
557 558
AC_CHECK_HEADERS([linux/kvm.h])

559 560 561
dnl
dnl check for sufficient headers for LXC
dnl
562 563 564
if test "$with_libvirtd" = "no" ; then
  with_lxc=no
fi
565
if test "$with_lxc" = "yes" || test "$with_lxc" = "check"; then
E
Eric Blake 已提交
566 567 568 569 570 571 572
    AC_TRY_LINK([#define _GNU_SOURCE
        #include <sched.h>
    ], [
        unshare (1);
    ], [
        with_lxc=yes
    ], [
573 574
        if test "$with_lxc" = "check"; then
            with_lxc=no
E
Eric Blake 已提交
575
            AC_MSG_NOTICE([Function unshare() not present in <sched.h> header but required for LXC driver, disabling it])
576
        else
E
Eric Blake 已提交
577
            AC_MSG_ERROR([Function unshare() not present in <sched.h> header, but required for LXC driver])
578 579 580
        fi
    ])
fi
581 582 583 584 585 586 587 588 589
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
590
if test "$with_qemu" = "yes" || test "$with_lxc" = "yes" ; then
591
  AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
592
                   AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt with QEMU or LXC support]))
593 594
fi

595

D
Daniel P. Berrange 已提交
596 597 598
dnl Need to test if pkg-config exists
PKG_PROG_PKG_CONFIG

D
Daniel Veillard 已提交
599 600 601
dnl OpenNebula driver Compilation setting
dnl

602 603 604
if test "$with_libvirtd" = "no" ; then
  with_one=no
fi
605 606
XMLRPC_CFLAGS=
XMLRPC_LIBS=
607
if test "x$with_one" = "xyes" || test "x$with_one" = "xcheck"; then
608 609 610 611 612 613 614 615 616 617 618 619 620
    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
D
Daniel Veillard 已提交
621
fi
622 623 624 625 626
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])

D
Daniel Veillard 已提交
627

628 629 630 631 632 633 634
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
LIBXML_CONFIG="xml2-config"
LIBXML_CFLAGS=""
LIBXML_LIBS=""
LIBXML_FOUND="no"
635

636
AC_ARG_WITH([libxml], AC_HELP_STRING([--with-libxml=@<:@PFX@:>@], [libxml2 location]))
637
if test "x$with_libxml" = "xno" ; then
638
    AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_REQUIRED)
639
    AC_MSG_ERROR([libxml2 >= $LIBXML_REQUIRED is required for libvirt])
640
elif test "x$with_libxml" = "x" && test "x$PKG_CONFIG" != "x" ; then
641
    PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED, [LIBXML_FOUND=yes], [LIBXML_FOUND=no])
642
fi
643 644
if test "$LIBXML_FOUND" = "no" ; then
    if test "x$with_libxml" != "x" ; then
645 646
	LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
    fi
647
    AC_MSG_CHECKING(libxml2 $LIBXML_CONFIG >= $LIBXML_REQUIRED )
648
    if ! $LIBXML_CONFIG --version > /dev/null 2>&1 ; then
649
	AC_MSG_ERROR([Could not find libxml2 anywhere (see config.log for details).])
650 651
    fi
    vers=`$LIBXML_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
652
    minvers=`echo $LIBXML_REQUIRED | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
653 654 655 656
    if test "$vers" -ge "$minvers" ; then
        LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
        LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
	LIBXML_FOUND="yes"
657
        AC_MSG_RESULT(yes)
658
    else
659 660
        AC_MSG_ERROR(
          [You need at least libxml2 $LIBXML_REQUIRED for this version of libvirt])
661 662 663
    fi
fi

664 665
AC_SUBST([LIBXML_CFLAGS])
AC_SUBST([LIBXML_LIBS])
666

667 668
dnl xmlURI structure has query_raw?
old_cflags="$CFLAGS"
669
old_libs="$LIBS"
670
CFLAGS="$CFLAGS $LIBXML_CFLAGS"
671
LIBS="$LIBS $LIBXML_LIBS"
672 673
AC_CHECK_MEMBER([struct _xmlURI.query_raw],
		[AC_DEFINE([HAVE_XMLURI_QUERY_RAW], [], [Have query_raw field in libxml2 xmlURI structure])],,
674 675
		[#include <libxml/uri.h>])
CFLAGS="$old_cflags"
676
LIBS="$old_libs"
677 678

dnl GnuTLS library
679 680
GNUTLS_CFLAGS=
GNUTLS_LIBS=
681
GNUTLS_FOUND=no
M
Matthias Bolte 已提交
682
if test -x "$PKG_CONFIG" ; then
683 684 685 686
  PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED,
     [GNUTLS_FOUND=yes], [GNUTLS_FOUND=no])
fi
if test "$GNUTLS_FOUND" = "no"; then
687
  fail=0
688
  old_libs="$LIBS"
689 690 691 692 693 694
  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])

D
Daniel P. Berrange 已提交
695 696 697
  dnl Not all versions of gnutls include -lgcrypt, and so we add
  dnl it explicitly for the calls to gcry_control/check_version
  GNUTLS_LIBS="$LIBS -lgcrypt"
698
  LIBS="$old_libs"
M
Matthias Bolte 已提交
699 700
else
  GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
701 702
fi

703 704
AC_SUBST([GNUTLS_CFLAGS])
AC_SUBST([GNUTLS_LIBS])
705

706 707 708
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.
709
old_cflags="$CFLAGS"
710
old_libs="$LIBS"
711
CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
712
LIBS="$LIBS $GNUTLS_LIBS"
713 714
AC_CHECK_TYPE([gnutls_session],
	AC_DEFINE([GNUTLS_1_0_COMPAT],[],
715 716
		[enable GnuTLS 1.0 compatibility macros]),,
	[#include <gnutls/gnutls.h>])
717
CFLAGS="$old_cflags"
718
LIBS="$old_libs"
719

720

721
dnl Cyrus SASL
722
AC_ARG_WITH([sasl],
723
  AC_HELP_STRING([--with-sasl], [use cyrus SASL for authentication @<:@default=check@:>@]),
724
  [],
725
  [with_sasl=check])
726 727 728

SASL_CFLAGS=
SASL_LIBS=
729
if test "x$with_sasl" != "xno"; then
730
  if test "x$with_sasl" != "xyes" && test "x$with_sasl" != "xcheck"; then
731 732 733
    SASL_CFLAGS="-I$with_sasl"
    SASL_LIBS="-L$with_sasl"
  fi
734
  fail=0
735 736 737 738
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  CFLAGS="$CFLAGS $SASL_CFLAGS"
  LIBS="$LIBS $SASL_LIBS"
739
  AC_CHECK_HEADER([sasl/sasl.h],[],[
M
Matthias Bolte 已提交
740
    if test "x$with_sasl" = "xcheck" ; then
741 742
        with_sasl=no
    else
743
        fail=1
744 745
    fi])
  if test "x$with_sasl" != "xno" ; then
746 747 748 749 750 751 752 753 754
    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
755
          with_sasl=no
756
        else
757
          fail=1
758 759 760
        fi
      ])
    ])
761
  fi
762 763
  test $fail = 1 &&
    AC_MSG_ERROR([You must install the Cyrus SASL development package in order to compile libvirt])
764 765
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
766
  if test "x$with_sasl" = "xyes" ; then
767
    AC_DEFINE_UNQUOTED([HAVE_SASL], 1,
768 769
      [whether Cyrus SASL is available for authentication])
  fi
770
fi
771 772 773
AM_CONDITIONAL([HAVE_SASL], [test "x$with_sasl" = "xyes"])
AC_SUBST([SASL_CFLAGS])
AC_SUBST([SASL_LIBS])
774 775


776 777
dnl YAJL JSON library http://lloyd.github.com/yajl/
AC_ARG_WITH([yajl],
778
  AC_HELP_STRING([--with-yajl], [use YAJL for JSON parsing/formatting @<:@default=check@:>@]),
779 780 781 782 783 784
  [],
  [with_yajl=check])

YAJL_CFLAGS=
YAJL_LIBS=
if test "x$with_yajl" != "xno"; then
785
  if test "x$with_yajl" != "xyes" && test "x$with_yajl" != "xcheck"; then
786 787 788 789 790
    YAJL_CFLAGS="-I$with_yajl/include"
    YAJL_LIBS="-L$with_yajl/lib"
  fi
  fail=0
  old_cppflags="$CPPFLAGS"
791
  old_libs="$LIBS"
792
  CPPFLAGS="$CPPFLAGS $YAJL_CFLAGS"
793
  LIBS="$LIBS $YAJL_LIBS"
794
  AC_CHECK_HEADER([yajl/yajl_common.h],[],[
795
    if test "x$with_yajl" = "xcheck" ; then
796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814
        with_yajl=no
    else
        fail=1
    fi])
  if test "x$with_yajl" != "xno" ; then
    AC_CHECK_LIB([yajl], [yajl_parse],[
      YAJL_LIBS="$YAJL_LIBS -lyajl"
      with_yajl=yes
    ],[
      if test "x$with_yajl" = "xcheck" ; then
        with_yajl=no
      else
        fail=1
      fi
    ])
  fi
  test $fail = 1 &&
    AC_MSG_ERROR([You must install the YAJL development package in order to compile libvirt])
  CPPFLAGS="$old_cppflags"
815
  LIBS="$old_libs"
816 817 818 819 820 821 822 823 824 825
  if test "x$with_yajl" = "xyes" ; then
    AC_DEFINE_UNQUOTED([HAVE_YAJL], 1,
      [whether YAJL is available for JSON parsing/formatting])
  fi
fi
AM_CONDITIONAL([HAVE_YAJL], [test "x$with_yajl" = "xyes"])
AC_SUBST([YAJL_CFLAGS])
AC_SUBST([YAJL_LIBS])


826 827 828
dnl PolicyKit library
POLKIT_CFLAGS=
POLKIT_LIBS=
829
PKCHECK_PATH=
830
AC_ARG_WITH([polkit],
831
  AC_HELP_STRING([--with-polkit], [use PolicyKit for UNIX socket access checks @<:@default=check@:>@]),
832 833 834
  [],
  [with_polkit=check])

835 836
with_polkit0=no
with_polkit1=no
837
if test "x$with_polkit" = "xyes" || test "x$with_polkit" = "xcheck"; then
838 839 840 841
  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])
842
    AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865
        [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
866
      old_LIBS=$LIBS
867
      CFLAGS="$CFLAGS $POLKIT_CFLAGS"
868
      LIBS="$LIBS $POLKIT_LIBS"
869 870
      AC_CHECK_FUNCS([polkit_context_is_caller_authorized])
      CFLAGS="$old_CFLAGS"
871
      LIBS="$old_LIBS"
872 873 874 875 876 877

      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"
878
    fi
879
  fi
880
fi
881
AM_CONDITIONAL([HAVE_POLKIT], [test "x$with_polkit" = "xyes"])
882 883
AM_CONDITIONAL([HAVE_POLKIT0], [test "x$with_polkit0" = "xyes"])
AM_CONDITIONAL([HAVE_POLKIT1], [test "x$with_polkit1" = "xyes"])
884 885
AC_SUBST([POLKIT_CFLAGS])
AC_SUBST([POLKIT_LIBS])
886

887
dnl Avahi library
888
AC_ARG_WITH([avahi],
889
  AC_HELP_STRING([--with-avahi], [use avahi to advertise remote daemon @<:@default=check@:>@]),
890 891 892 893 894
  [],
  [with_avahi=check])

AVAHI_CFLAGS=
AVAHI_LIBS=
895
if test "x$with_avahi" = "xyes" || test "x$with_avahi" = "xcheck"; then
896 897 898 899 900 901 902 903 904 905
  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
906
    AC_DEFINE_UNQUOTED([HAVE_AVAHI], 1,
907 908
      [whether Avahi is used to broadcast server presense])
  fi
909
fi
910 911 912
AM_CONDITIONAL([HAVE_AVAHI], [test "x$with_avahi" = "xyes"])
AC_SUBST([AVAHI_CFLAGS])
AC_SUBST([AVAHI_LIBS])
913

914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959
dnl Audit library
AC_ARG_WITH([audit],
  AC_HELP_STRING([--with-audit], [use audit library @<:@default=check@:>@]),
  [],
  [with_audit=check])

AUDIT_CFLAGS=
AUDIT_LIBS=
if test "$with_audit" != "no" ; then
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  if test "$with_audit" != "check" && "$with_audit" != "yes" ; then
    AUDIT_CFLAGS="-I$with_audit/include"
    AUDIT_LIBS="-L$with_audit/lib"
  fi
  CFLAGS="$CFLAGS $AUDIT_CFLAGS"
  LIBS="$LIBS $AUDIT_LIBS"
  fail=0
  AC_CHECK_HEADER([libaudit.h], [], [fail=1])
  AC_CHECK_LIB([audit], [audit_is_enabled], [], [fail=1])

  if test $fail = 1 ; then
    if test "$with_audit" = "yes" ; then
      AC_MSG_ERROR([You must install the Audit library in order to compile and run libvirt])
    else
      with_audit=no
      AUDIT_CFLAGS=
      AUDIT_LIBS=
    fi
  else
    with_audit=yes
  fi

  if test "$with_audit" = "yes" ; then
    AUDIT_LIBS="$AUDIT_LIBS -laudit"
    AC_DEFINE_UNQUOTED([HAVE_AUDIT], 1, [whether libaudit is available])
  fi

  CFLAGS="$old_cflags"
  LIBS="$old_libs"
fi
AM_CONDITIONAL([HAVE_AUDIT], [test "$with_audit" = "yes"])
AC_SUBST([AUDIT_CFLAGS])
AC_SUBST([AUDIT_LIBS])


960
dnl SELinux
961
AC_ARG_WITH([selinux],
962
  AC_HELP_STRING([--with-selinux], [use SELinux to manage security @<:@default=check@:>@]),
963 964 965 966 967 968 969 970 971 972
  [],
  [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])
973
    AC_CHECK_LIB([selinux], [fgetfilecon],[],[with_selinux=no])
974 975 976 977
    if test "$with_selinux" != "no"; then
      with_selinux="yes"
    fi
  else
978 979 980 981
    fail=0
    AC_CHECK_HEADER([selinux/selinux.h],[],[fail=1])
    AC_CHECK_LIB([selinux], [fgetfilecon],[],[fail=1])
    test $fail = 1 &&
S
Spencer Shimko 已提交
982
      AC_MSG_ERROR([You must install the libselinux development package in order to compile libvirt with basic SELinux support])
983 984 985 986 987 988
  fi
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
fi
if test "$with_selinux" = "yes"; then
  SELINUX_LIBS="-lselinux"
S
Spencer Shimko 已提交
989
  AC_DEFINE_UNQUOTED([HAVE_SELINUX], 1, [whether basic SELinux functionality is available])
990
fi
991 992 993
AM_CONDITIONAL([HAVE_SELINUX], [test "$with_selinux" != "no"])
AC_SUBST([SELINUX_CFLAGS])
AC_SUBST([SELINUX_LIBS])
994

995 996

AC_ARG_WITH([secdriver-selinux],
997
  AC_HELP_STRING([--with-secdriver-selinux], [use SELinux security driver @<:@default=check@:>@]),
998 999 1000 1001 1002 1003
  [],
  [with_secdriver_selinux=check])

if test "$with_selinux" != "yes" ; then
  if test "$with_secdriver_selinux" = "check" ; then
    with_secdriver_selinux=no
S
Spencer Shimko 已提交
1004 1005
  elif test "$with_secdriver_selinux" = "yes"; then
        AC_MSG_ERROR([You must install the libselinux development package and enable SELinux with the --with-selinux=yes in order to compile libvirt --with-secdriver-selinux=yes])
1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022
  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
S
Spencer Shimko 已提交
1023
      AC_MSG_ERROR([You must install libselinux development package >= 2.0.82 in order to compile libvirt --with-secdriver-selinux=yes])
1024 1025 1026 1027 1028 1029 1030 1031 1032
    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"])


J
Jamie Strandboge 已提交
1033 1034
dnl AppArmor
AC_ARG_WITH([apparmor],
1035
  AC_HELP_STRING([--with-apparmor], [use AppArmor to manage security @<:@default=check@:>@]),
J
Jamie Strandboge 已提交
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073
  [],
  [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],
1074
  AC_HELP_STRING([--with-secdriver-apparmor], [use AppArmor security driver @<:@default=check@:>@]),
J
Jamie Strandboge 已提交
1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109
  [],
  [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"])


1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132
dnl DTrace static probes
AC_ARG_WITH([dtrace],
  AC_HELP_STRING([--with-dtrace], [use dtrace for static probing @<:@default=check@:>@]),
  [],
  [with_dtrace=check])

if test "$with_dtrace" != "no" ; then
  AC_PATH_PROG([DTRACE], [dtrace], [], [/bin:/usr/bin])
  if test -z "$DTRACE" ; then
    if test "$with_dtrace" = "check"; then
      with_dtrace=no
    else
      AC_MSG_ERROR([You must install the 'dtrace' binary to enable libvirt static probes])
    fi
  else
    with_dtrace=yes
  fi
  if test "$with_dtrace" = "yes"; then
    AC_DEFINE_UNQUOTED([WITH_DTRACE], 1, [whether DTrace static probes are available])
  fi
fi
AM_CONDITIONAL([WITH_DTRACE], [test "$with_dtrace" != "no"])

1133

1134
dnl NUMA lib
1135
AC_ARG_WITH([numactl],
1136
  AC_HELP_STRING([--with-numactl], [use numactl for host topology info @<:@default=check@:>@]),
1137 1138 1139 1140 1141
  [],
  [with_numactl=check])

NUMACTL_CFLAGS=
NUMACTL_LIBS=
1142
if test "$with_qemu" = "yes" && test "$with_numactl" != "no"; then
1143 1144 1145 1146
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  if test "$with_numactl" = "check"; then
    AC_CHECK_HEADER([numa.h],[],[with_numactl=no])
1147
    AC_CHECK_LIB([numa], [numa_available],[],[with_numactl=no])
1148 1149 1150 1151
    if test "$with_numactl" != "no"; then
      with_numactl="yes"
    fi
  else
1152 1153 1154 1155 1156
    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])
1157 1158 1159 1160 1161 1162
  fi
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
fi
if test "$with_numactl" = "yes"; then
  NUMACTL_LIBS="-lnuma"
1163
  AC_DEFINE_UNQUOTED([HAVE_NUMACTL], 1, [whether numactl is available for topology info])
1164
fi
1165 1166 1167
AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
AC_SUBST([NUMACTL_CFLAGS])
AC_SUBST([NUMACTL_LIBS])
1168

1169

1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202
dnl pcap lib
LIBPCAP_CONFIG="pcap-config"
LIBPCAP_CFLAGS=""
LIBPCAP_LIBS=""
LIBPCAP_FOUND="no"

AC_ARG_WITH([libpcap], AC_HELP_STRING([--with-libpcap=@<:@PFX@:>@], [libpcap location]))
if test "$with_qemu" = "yes"; then
    if test "x$with_libpcap" != "xno" ; then
        if test "x$with_libpcap" != "x" ; then
            LIBPCAP_CONFIG=$with_libpcap/bin/$LIBPCAP_CONFIG
        fi
        AC_MSG_CHECKING(libpcap $LIBPCAP_CONFIG >= $LIBPCAP_REQUIRED )
        if ! $LIBPCAP_CONFIG --libs > /dev/null 2>&1 ; then
	    AC_MSG_RESULT(no)
	else
            LIBPCAP_LIBS="`$LIBPCAP_CONFIG --libs`"
            LIBPCAP_CFLAGS="`$LIBPCAP_CONFIG --cflags`"
            LIBPCAP_FOUND="yes"
            AC_MSG_RESULT(yes)
        fi
    fi
fi

if test "x$LIBPCAP_FOUND" = "xyes"; then
  AC_DEFINE_UNQUOTED([HAVE_LIBPCAP], 1, [whether libpcap can be used])
fi

AC_SUBST([LIBPCAP_CFLAGS])
AC_SUBST([LIBPCAP_LIBS])



1203 1204 1205 1206
dnl
dnl Checks for the UML driver
dnl

1207 1208 1209
if test "$with_libvirtd" = "no" ; then
  with_uml=no
fi
1210
if test "$with_uml" = "yes" || test "$with_uml" = "check"; then
1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
    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
1222 1223 1224 1225 1226
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"])

1227 1228 1229 1230 1231 1232


dnl
dnl libssh checks
dnl

1233
if test "$with_libssh2" != "yes" && test "$with_libssh2" != "no"; then
1234 1235 1236 1237
		libssh2_path="$with_libssh2"
elif test "$with_libssh2" = "yes"; then
		libssh2_path="/usr/local/lib/"
elif test "$with_libssh2" = "no"; then
1238 1239 1240 1241
		with_phyp="no";
fi

if test "$with_phyp" = "check"; then
1242
    AC_CHECK_LIB([ssh2],[libssh2_session_startup],[
1243
        LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path"
1244 1245
        AC_SUBST([LIBSSH2_LIBS])
    ],[
1246
        with_phyp="no"
1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260
        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
1261

1262 1263
    if test "$with_phyp" != "no"; then
        saved_libs="$LIBS"
M
Matthias Bolte 已提交
1264
        LIBS="$LIBS -L$libssh2_path -lssh2"
1265 1266 1267 1268 1269 1270 1271 1272 1273 1274
        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
1275
elif test "$with_phyp" = "yes"; then
1276 1277 1278
  AC_CHECK_LIB([ssh2],[libssh2_session_startup],[
        LIBSSH2_LIBS="$LIBSSH2_LIBS -lssh2 -L$libssh2_path"
        AC_SUBST([LIBSSH2_LIBS])],[
1279
        AC_MSG_ERROR([You must install the libssh2 to compile Phyp driver.])
1280 1281
				])

1282 1283 1284
  AC_CHECK_HEADERS([libssh2.h],[
        LIBSSH2_CFLAGS="-I/usr/local/include"
        AC_SUBST([LIBSSH2_CFLAGS])],[
1285
        AC_MSG_ERROR([Cannot find libssh2 headers. Is libssh2 installed ?])
1286
				],[])
1287 1288 1289 1290 1291 1292 1293 1294 1295 1296

  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"

1297 1298 1299 1300
  AC_DEFINE_UNQUOTED([WITH_PHYP], 1,
        [whether IBM HMC / IVM driver is enabled])
fi
AM_CONDITIONAL([WITH_PHYP],[test "$with_phyp" = "yes"])
D
Daniel P. Berrange 已提交
1301 1302 1303

dnl libcap-ng
AC_ARG_WITH([capng],
1304
  AC_HELP_STRING([--with-capng], [use libcap-ng to reduce libvirtd privileges @<:@default=check@:>@]),
D
Daniel P. Berrange 已提交
1305 1306 1307 1308 1309 1310 1311 1312 1313
  [],
  [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=
1314
if test "$with_qemu" = "yes" && test "$with_capng" != "no"; then
D
Daniel P. Berrange 已提交
1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342
  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])



K
Karel Zak 已提交
1343
dnl virsh libraries
1344
AC_CHECK_HEADERS([readline/readline.h])
1345 1346

# Check for readline.
1347
AC_CHECK_LIB([readline], [readline],
1348 1349 1350 1351 1352 1353 1354 1355 1356
	[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=
1357
    AC_SEARCH_LIBS([tgetent], [ncurses curses termcap termlib])
1358 1359 1360 1361 1362 1363
    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.
1364
	AC_CHECK_LIB([readline], [rl_initialize],
1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378
		[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
1379
else
1380
    READLINE_CFLAGS=
1381
fi
1382 1383
AC_SUBST([READLINE_CFLAGS])
AC_SUBST([VIRSH_LIBS])
K
Karel Zak 已提交
1384

1385
dnl check if the network driver should be compiled
1386

1387
AC_ARG_WITH([network],
1388
  AC_HELP_STRING([--with-network], [with virtual network driver @<:@default=yes@:>@]),[],[with_network=yes])
1389 1390 1391 1392 1393

dnl there's no use compiling the network driver without the libvirt
dnl daemon, nor compiling it for MacOS X, where it breaks the compile

if test "$with_libvirtd" = "no" || test "$with_osx" = "yes"; then
1394 1395
  with_network=no
fi
1396

1397 1398 1399 1400 1401
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"])

1402 1403 1404 1405 1406 1407
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"])
1408

D
Daniel Veillard 已提交
1409 1410
dnl netcf library
AC_ARG_WITH([netcf],
1411
  AC_HELP_STRING([--with-netcf], [libnetcf support to configure physical host network interfaces @<:@default=check@:>@]),
D
Daniel Veillard 已提交
1412 1413 1414 1415
[], [with_netcf=check])

NETCF_CFLAGS=
NETCF_LIBS=
1416
if test "$with_netcf" = "yes" || test "$with_netcf" = "check"; then
D
Daniel Veillard 已提交
1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433
  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])
1434

D
Daniel P. Berrange 已提交
1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445

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"])


1446
AC_ARG_WITH([storage-fs],
1447
  AC_HELP_STRING([--with-storage-fs], [with FileSystem backend for the storage driver @<:@default=check@:>@]),[],[with_storage_fs=check])
1448
AC_ARG_WITH([storage-lvm],
1449
  AC_HELP_STRING([--with-storage-lvm], [with LVM backend for the storage driver @<:@default=check@:>@]),[],[with_storage_lvm=check])
1450
AC_ARG_WITH([storage-iscsi],
1451
  AC_HELP_STRING([--with-storage-iscsi], [with iSCSI backend for the storage driver @<:@default=check@:>@]),[],[with_storage_iscsi=check])
1452
AC_ARG_WITH([storage-scsi],
1453
  AC_HELP_STRING([--with-storage-scsi], [with SCSI backend for the storage driver @<:@default=check@:>@]),[],[with_storage_scsi=check])
D
Dave Allan 已提交
1454
AC_ARG_WITH([storage-mpath],
1455
  AC_HELP_STRING([--with-storage-mpath], [with mpath backend for the storage driver @<:@default=check@:>@]),[],[with_storage_mpath=check])
1456
AC_ARG_WITH([storage-disk],
1457
  AC_HELP_STRING([--with-storage-disk], [with GPartd Disk backend for the storage driver @<:@default=check@:>@]),[],[with_storage_disk=check])
1458

D
Daniel P. Berrange 已提交
1459 1460 1461 1462 1463 1464
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
1465
  with_storage_scsi=no
D
Dave Allan 已提交
1466
  with_storage_mpath=no
D
Daniel P. Berrange 已提交
1467 1468 1469 1470 1471 1472 1473
  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"])

1474 1475 1476 1477 1478
dnl storage-fs does not work on MacOS X

if test "$with_osx" = "yes"; then
  with_storage_fs=no
fi
D
Daniel P. Berrange 已提交
1479

1480
if test "$with_storage_fs" = "yes" || test "$with_storage_fs" = "check"; then
1481 1482
  AC_PATH_PROG([MOUNT], [mount], [], [$PATH:/sbin:/usr/sbin])
  AC_PATH_PROG([UMOUNT], [umount], [], [$PATH:/sbin:/usr/sbin])
1483
  if test "$with_storage_fs" = "yes" ; then
1484
    if test -z "$MOUNT" ; then AC_MSG_ERROR([We need mount for FS storage driver]) ; fi
1485
    if test -z "$UMOUNT" ; then AC_MSG_ERROR([We need umount for FS storage driver]) ; fi
1486 1487 1488 1489 1490 1491 1492 1493
  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
1494
    AC_DEFINE_UNQUOTED([WITH_STORAGE_FS], 1, [whether FS backend for storage driver is enabled])
1495 1496 1497 1498 1499 1500
    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
1501
AM_CONDITIONAL([WITH_STORAGE_FS], [test "$with_storage_fs" = "yes"])
1502 1503 1504 1505 1506
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
1507

1508
if test "$with_storage_lvm" = "yes" || test "$with_storage_lvm" = "check"; then
1509 1510 1511 1512 1513 1514 1515
  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])
1516
  AC_PATH_PROG([VGSCAN], [vgscan], [], [$PATH:/sbin:/usr/sbin])
1517 1518 1519
  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])
1520 1521

  if test "$with_storage_lvm" = "yes" ; then
1522 1523 1524 1525 1526 1527 1528
    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
1529
    if test -z "$VGSCAN" ; then AC_MSG_ERROR([We need vgscan for LVM storage driver]) ; fi
1530 1531 1532
    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
1533 1534 1535 1536 1537 1538 1539
  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
1540 1541
    if test -z "$VGCHANGE" ; then with_storage_lvm=no ; fi
    if test -z "$VGSCAN" ; then with_storage_lvm=no ; fi
1542 1543 1544 1545 1546 1547 1548 1549
    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
1550
    AC_DEFINE_UNQUOTED([WITH_STORAGE_LVM], 1, [whether LVM backend for storage driver is enabled])
1551 1552 1553 1554 1555 1556 1557
    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])
1558
    AC_DEFINE_UNQUOTED([VGSCAN],["$VGSCAN"],[Location of vgscan program])
1559 1560 1561 1562 1563
    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
1564
AM_CONDITIONAL([WITH_STORAGE_LVM], [test "$with_storage_lvm" = "yes"])
1565 1566


1567

1568
if test "$with_storage_iscsi" = "yes" || test "$with_storage_iscsi" = "check"; then
1569
  AC_PATH_PROG([ISCSIADM], [iscsiadm], [], [$PATH:/sbin:/usr/sbin])
1570
  if test "$with_storage_iscsi" = "yes" ; then
1571
    if test -z "$ISCSIADM" ; then AC_MSG_ERROR([We need iscsiadm for iSCSI storage driver]) ; fi
1572 1573 1574 1575 1576 1577 1578
  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
1579
    AC_DEFINE_UNQUOTED([WITH_STORAGE_ISCSI], 1, [whether iSCSI backend for storage driver is enabled])
1580 1581 1582
    AC_DEFINE_UNQUOTED([ISCSIADM],["$ISCSIADM"],[Location of iscsiadm program])
  fi
fi
1583
AM_CONDITIONAL([WITH_STORAGE_ISCSI], [test "$with_storage_iscsi" = "yes"])
1584

1585 1586 1587 1588 1589 1590
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
D
Daniel P. Berrange 已提交
1591
AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
1592

1593
if test "$with_storage_mpath" = "check" && test "$with_linux" = "yes"; then
D
Dave Allan 已提交
1594 1595 1596 1597 1598 1599 1600 1601 1602 1603
   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_CFLAGS=
   DEVMAPPER_LIBS=
1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619
   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

D
Dave Allan 已提交
1620 1621 1622
fi
AC_SUBST([DEVMAPPER_CFLAGS])
AC_SUBST([DEVMAPPER_LIBS])
1623 1624 1625

LIBPARTED_CFLAGS=
LIBPARTED_LIBS=
1626
if test "$with_storage_disk" = "yes" || test "$with_storage_disk" = "check"; then
1627
  AC_PATH_PROG([PARTED], [parted], [], [$PATH:/sbin:/usr/sbin])
1628 1629 1630 1631 1632 1633
  if test -z "$PARTED" ; then
    with_storage_disk=no
    PARTED_FOUND=no
  else
    PARTED_FOUND=yes
  fi
1634

1635
  if test "$with_storage_disk" != "no" && test "x$PKG_CONFIG" != "x" ; then
1636 1637 1638 1639 1640 1641 1642
    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
1643 1644 1645
    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])
1646 1647 1648 1649 1650 1651 1652
    LIBPARTED_LIBS="-luuid -lparted"
    LIBS="$save_LIBS"
    CFLAGS="$save_CFLAGS"
  fi

  if test "$PARTED_FOUND" = "no" ; then
    if test "$with_storage_disk" = "yes" ; then
1653
      AC_MSG_ERROR([We need parted for disk storage driver])
1654 1655 1656 1657 1658 1659 1660 1661
    else
      with_storage_disk=no
    fi
  else
    with_storage_disk=yes
  fi

  if test "$with_storage_disk" = "yes"; then
1662
    AC_DEFINE_UNQUOTED([WITH_STORAGE_DISK], 1, [whether Disk backend for storage driver is enabled])
1663 1664 1665
    AC_DEFINE_UNQUOTED([PARTED],["$PARTED"], [Location or name of the parted program])
  fi
fi
1666 1667 1668
AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" = "yes"])
AC_SUBST([LIBPARTED_CFLAGS])
AC_SUBST([LIBPARTED_LIBS])
1669

1670
dnl
1671
dnl check for libcurl (ESX/XenAPI)
1672 1673 1674 1675 1676
dnl

LIBCURL_CFLAGS=""
LIBCURL_LIBS=""

1677
if test "$with_esx" = "yes" || test "$with_esx" = "check" || test "$with_xenapi" = "yes" || test "$with_xenapi" = "check"; then
1678
    PKG_CHECK_MODULES(LIBCURL, libcurl >= $LIBCURL_REQUIRED, [
1679 1680 1681 1682 1683 1684 1685
        if test "$with_esx" = "check"; then
            with_esx=yes
        fi

        if test "$with_xenapi" = "check"; then
            with_xenapi=yes
        fi
1686 1687 1688
    ], [
        if test "$with_esx" = "check"; then
            with_esx=no
1689 1690
            AC_MSG_NOTICE([libcurl is required for the ESX driver, disabling it])
        elif test "$with_esx" = "yes"; then
1691 1692
            AC_MSG_ERROR([libcurl >= $LIBCURL_REQUIRED is required for the ESX driver])
        fi
1693 1694 1695 1696 1697 1698 1699

        if test "$with_xenapi" = "check"; then
            with_xenapi=no
            AC_MSG_NOTICE([libcurl is required for the XenAPI driver, disabling it])
        elif test "$with_xenapi" = "yes"; then
            AC_MSG_ERROR([libcurl >= $LIBCURL_REQUIRED is required for the XenAPI driver])
        fi
1700
    ])
1701
fi
1702 1703


1704 1705 1706 1707
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"])
1708

1709 1710 1711 1712 1713
if test "$with_xenapi" = "yes" ; then
    AC_DEFINE_UNQUOTED([WITH_XENAPI], 1, [whether XenAPI driver is enabled])
fi
AM_CONDITIONAL([WITH_XENAPI], [test "$with_xenapi" = "yes"])

1714 1715 1716 1717 1718 1719
# XXX as of libcurl-devel-7.20.1-3.fc13.x86_64, curl ships a version
# of <curl/curl.h> that #defines several wrapper macros around underlying
# functions to add type safety for gcc only.  However, these macros
# spuriously trip gcc's -Wlogical-op warning.  Avoid the warning by
# disabling the wrappers; even if it removes some type-check safety.
LIBCURL_CFLAGS="-DCURL_DISABLE_TYPECHECK $LIBCURL_CFLAGS"
1720

1721 1722
AC_SUBST([LIBCURL_CFLAGS])
AC_SUBST([LIBCURL_LIBS])
1723

1724 1725 1726 1727
dnl
dnl check for python
dnl

1728
AC_ARG_WITH([python],
1729
  AC_HELP_STRING([--with-python], [Build python bindings @<:@default=yes@:>@]),[],[with_python=yes])
1730

1731 1732 1733 1734 1735 1736
if test "$enable_shared:$with_python" = no:yes; then
  AC_MSG_WARN([Disabling shared libraries is incompatible with building Python extensions.])
  AC_MSG_WARN([Ignoring --with-python.])
  with_python=no
fi

1737 1738 1739 1740 1741
PYTHON_VERSION=
PYTHON_INCLUDES=
if test "$with_python" != "no" ; then
    if test -x "$with_python/bin/python"
    then
1742
        AC_MSG_NOTICE(Found python in $with_python/bin/python)
1743
        PYTHON="$with_python/bin/python"
1744
        with_python=yes
1745
    else
1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757
        if test -x "$with_python"
        then
            AC_MSG_NOTICE(Found python in $with_python)
            PYTHON="$with_python"
            with_python=yes
        else
            if test -x "$PYTHON"
            then
                AC_MSG_NOTICE(Found python in environment PYTHON=$PYTHON)
                with_python=yes
            fi
        fi
1758
    fi
1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791

    if test "$with_python" == "yes" ; then
        AM_PATH_PYTHON(,, [:])

        if test "$PYTHON" != : ; then
            PYTHON_CONFIG="$PYTHON-config"

            if test -x "$PYTHON_CONFIG"
            then
                PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
            else
                if test -r $PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION/Python.h
                then
                    PYTHON_INCLUDES=-I$PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION
                else
                    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
                    then
                        PYTHON_INCLUDES=-I$prefix/include/python$PYTHON_VERSION
                    else
                        if test -r /usr/include/python$PYTHON_VERSION/Python.h
                        then
                            PYTHON_INCLUDES=-I/usr/include/python$PYTHON_VERSION
                        else
                            AC_MSG_NOTICE([Could not find python$PYTHON_VERSION/Python.h, disabling bindings])
                            with_python=no
                        fi
                    fi
                fi
            fi
        else
            AC_MSG_NOTICE([Could not find python interpreter, disabling bindings])
            with_python=no
        fi
1792
    else
1793 1794
        AC_MSG_NOTICE([Could not find python in $with_python, disabling bindings])
        with_python=no
1795 1796
    fi
fi
1797
AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
1798 1799
AC_SUBST([PYTHON_VERSION])
AC_SUBST([PYTHON_INCLUDES])
1800 1801


1802

1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822
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)

1823
AM_CONDITIONAL([ENABLE_XEN_TESTS], [test "$RUNNING_XEN" != "no" && test "$RUNNING_XEND" != "no"])
1824

1825
AC_ARG_ENABLE([test-coverage],
1826
  AC_HELP_STRING([--enable-test-coverage], [turn on code coverage instrumentation @<:@default=no@:>@]),
1827 1828 1829 1830 1831
[case "${enableval}" in
   yes|no) ;;
   *)      AC_MSG_ERROR([bad value ${enableval} for test-coverage option]) ;;
 esac],
              [enableval=no])
D
Daniel P. Berrange 已提交
1832
enable_coverage=$enableval
1833

D
Daniel P. Berrange 已提交
1834
if test "${enable_coverage}" = yes; then
1835
  COMPILER_FLAGS=
1836 1837 1838 1839 1840 1841 1842
  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

D
Daniel P. Berrange 已提交
1843
AC_ARG_ENABLE([test-oom],
1844
  AC_HELP_STRING([--enable-test-oom], [memory allocation failure checking @<:@default=no@:>@]),
D
Daniel P. Berrange 已提交
1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861
[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

1862 1863

AC_ARG_ENABLE([test-locking],
1864
  AC_HELP_STRING([--enable-test-locking], [thread locking tests using CIL @<:@default=no@:>@]),
1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877
[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"])

1878
dnl Enable building the proxy?
1879

1880
AC_ARG_WITH([xen-proxy],
1881
  AC_HELP_STRING([--with-xen-proxy], [add XEN setuid proxy support @<:@default=auto@:>@]),[],[with_xen_proxy=auto])
1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895

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])

1896
AM_CONDITIONAL([WITH_PROXY],[test "$with_xen_proxy" = "yes"])
1897
if test "$with_xen_proxy" = "yes"; then
1898
  AC_DEFINE([WITH_PROXY], 1, [Whether Xen proxy is enabled])
1899
fi
1900

1901
dnl Enable building libvirtd?
1902
AM_CONDITIONAL([WITH_LIBVIRTD],[test "x$with_libvirtd" = "xyes"])
1903

1904
dnl Check for gettext
1905 1906
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
1907 1908 1909 1910 1911
dnl Since we're using such an old version of gettext, we must also define
dnl this symbol, in order to make the autopoint-supplied Makefile.in.in
dnl work properly.
AC_SUBST([MKINSTALLDIRS], ["\$(top_builddir)/$ac_aux_dir/mkinstalldirs"])

1912
ALL_LINGUAS=`cd "$srcdir/po" > /dev/null && ls *.po | sed 's+\.po$++'`
1913

1914 1915 1916 1917 1918 1919
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=
1920
MINGW_EXTRA_LDFLAGS=
1921
WIN32_EXTRA_CFLAGS=
1922
LIBVIRT_SYMBOL_FILE=libvirt.syms
E
Eric Blake 已提交
1923
LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'
1924 1925 1926 1927 1928 1929 1930 1931
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
    ;;
1932 1933 1934
  *-*-mingw*)
    MINGW_EXTRA_LDFLAGS="-no-undefined"
    ;;
1935
esac
1936 1937 1938 1939 1940 1941 1942
case "$host" in
  *-*-mingw* | *-*-cygwin* | *-*-msvc* )
    # If the host is Windows, and shared libraries are disabled, we
    # need to add -DLIBVIRT_STATIC to the CFLAGS for proper linking
    if test "x$enable_shared" = "xno"; then
      WIN32_EXTRA_CFLAGS="-DLIBVIRT_STATIC"
    fi
1943 1944 1945
esac
case "$host" in
  *-*-mingw* | *-*-msvc* )
1946 1947 1948
    # Also set the symbol file to .def, so src/Makefile generates libvirt.def
    # from libvirt.syms and passes libvirt.def instead of libvirt.syms to the linker
    LIBVIRT_SYMBOL_FILE=libvirt.def
1949
    LIBVIRT_QEMU_SYMBOL_FILE=libvirt_qemu.def
1950
    # mingw's ld has the --version-script parameter, but it requires a .def file
M
Matthias Bolte 已提交
1951 1952
    # instead to work properly, therefore clear --version-script here and use
    # -Wl, to pass the .def file to the linker
1953 1954
    # cygwin's ld has the --version-script parameter too, but for some reason
    # it's working there as expected
M
Matthias Bolte 已提交
1955
    VERSION_SCRIPT_FLAGS="-Wl,"
1956 1957
    ;;
esac
1958 1959 1960 1961
AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
AC_SUBST([CYGWIN_EXTRA_LIBADD])
AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
AC_SUBST([MINGW_EXTRA_LDFLAGS])
1962
AC_SUBST([WIN32_EXTRA_CFLAGS])
1963
AC_SUBST([LIBVIRT_SYMBOL_FILE])
C
Chris Lalancette 已提交
1964
AC_SUBST([LIBVIRT_QEMU_SYMBOL_FILE])
M
Matthias Bolte 已提交
1965
AC_SUBST([VERSION_SCRIPT_FLAGS])
1966

1967

1968 1969 1970 1971 1972 1973 1974
dnl Look for windres to build a Windows icon resource.
case "$host" in
  *-*-mingw* | *-*-cygwin* | *-*-msvc* )
    AC_CHECK_TOOL([WINDRES], [windres], [])
    ;;
esac
AM_CONDITIONAL([WITH_WIN_ICON], [test "$WINDRES" != ""])
1975 1976 1977 1978


dnl Driver-Modules library
AC_ARG_WITH([driver-modules],
1979
  AC_HELP_STRING([--with-driver-modules], [build drivers as loadable modules @<:@default=no@:>@]),
1980 1981 1982
  [],
  [with_driver_modules=no])

1983 1984
DRIVER_MODULE_CFLAGS=
DRIVER_MODULE_LIBS=
1985 1986 1987 1988 1989
if test "x$with_driver_modules" = "xyes" ; then
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  fail=0
  AC_CHECK_HEADER([dlfcn.h],[],[fail=1])
1990
  AC_SEARCH_LIBS([dlopen], [dl], [], [fail=1])
1991 1992 1993 1994 1995 1996 1997
  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
1998
  DRIVER_MODULE_CFLAGS="-export-dynamic"
1999 2000 2001 2002
  case $ac_cv_search_dlopen in
    no*) DRIVER_MODULE_LIBS= ;;
    *) DRIVER_MODULE_LIBS=$ac_cv_search_dlopen ;;
  esac
2003 2004 2005
  AC_DEFINE_UNQUOTED([WITH_DRIVER_MODULES], 1, [whether to build drivers as modules])
fi
AM_CONDITIONAL([WITH_DRIVER_MODULES], [test "$with_driver_modules" != "no"])
2006 2007
AC_SUBST([DRIVER_MODULE_CFLAGS])
AC_SUBST([DRIVER_MODULE_LIBS])
2008 2009


2010 2011 2012 2013 2014
# 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-.}
2015
AC_SUBST([LV_LIBTOOL_OBJDIR])
2016

D
Daniel P. Berrange 已提交
2017
dnl HAL library check for host device enumeration
2018 2019 2020
HAL_CFLAGS=
HAL_LIBS=
AC_ARG_WITH([hal],
2021
  AC_HELP_STRING([--with-hal], [use HAL for host device enumeration @<:@default=check@:>@]),
2022 2023 2024 2025 2026 2027
  [],
  [with_hal=check])

if test "$with_libvirtd" = "no" ; then
  with_hal=no
fi
2028
if test "x$with_hal" = "xyes" || test "x$with_hal" = "xcheck"; then
2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039
  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
    old_CFLAGS=$CFLAGS
2040
    old_LIBS=$LIBS
2041
    CFLAGS="$CFLAGS $HAL_CFLAGS"
2042
    LIBS="$LIBS $HAL_LIBS"
2043
    AC_CHECK_FUNCS([libhal_get_all_devices],,[with_hal=no])
2044
    AC_CHECK_FUNCS([dbus_watch_get_unix_fd])
2045
    CFLAGS="$old_CFLAGS"
2046
    LIBS="$old_LIBS"
2047
  fi
2048 2049 2050 2051
  if test "x$with_hal" = "xyes" ; then
    AC_DEFINE_UNQUOTED([HAVE_HAL], 1,
      [use HAL for host device enumeration])
  fi
2052 2053 2054 2055 2056 2057
fi
AM_CONDITIONAL([HAVE_HAL], [test "x$with_hal" = "xyes"])
AC_SUBST([HAL_CFLAGS])
AC_SUBST([HAL_LIBS])


D
Daniel P. Berrange 已提交
2058
dnl udev/libpciaccess library check for alternate host device enumeration
2059 2060
UDEV_CFLAGS=
UDEV_LIBS=
D
Daniel P. Berrange 已提交
2061 2062
PCIACCESS_CFLAGS=
PCIACCESS_LIBS=
2063
AC_ARG_WITH([udev],
2064
  AC_HELP_STRING([--with-udev], [use libudev for host device enumeration @<:@default=check@:>@]),
2065 2066 2067 2068 2069 2070
  [],
  [with_udev=check])

if test "$with_libvirtd" = "no" ; then
  with_udev=no
fi
2071
if test "x$with_udev" = "xyes" || test "x$with_udev" = "xcheck"; then
2072
  PKG_CHECK_MODULES(UDEV, libudev >= $UDEV_REQUIRED,
D
Daniel P. Berrange 已提交
2073
    [], [
2074 2075 2076 2077 2078 2079 2080
    if test "x$with_udev" = "xcheck" ; then
       with_udev=no
    else
       AC_MSG_ERROR(
         [You must install libudev-devel >= $UDEV_REQUIRED to compile libvirt])
    fi
  ])
D
Daniel P. Berrange 已提交
2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092
  if test "x$with_udev" != "xno"; then
    PKG_CHECK_MODULES(PCIACCESS, pciaccess >= $PCIACCESS_REQUIRED,
      [with_udev=yes],
      [
        if test "x$with_udev" = "xcheck" ; then
          with_udev=no
        else
          AC_MSG_ERROR(
           [You must install libpciaccess-devel >= $PCIACCESS_REQUIRED to compile libvirt])
        fi
      ])
  fi
2093 2094 2095 2096 2097 2098 2099 2100
  if test "x$with_udev" = "xyes" ; then
    AC_DEFINE_UNQUOTED([HAVE_UDEV], 1,
      [use UDEV for host device enumeration])
  fi
fi
AM_CONDITIONAL([HAVE_UDEV], [test "x$with_udev" = "xyes"])
AC_SUBST([UDEV_CFLAGS])
AC_SUBST([UDEV_LIBS])
2101 2102
AC_SUBST([PCIACCESS_CFLAGS])
AC_SUBST([PCIACCESS_LIBS])
2103

2104
with_nodedev=no;
2105
if test "$with_hal" = "yes" || test "$with_udev" = "yes";
2106 2107 2108 2109 2110 2111
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"])

2112 2113
dnl nwfilter should only be compiled for linux, and only if the
dnl libvirt daemon is also being compiled
2114

2115 2116 2117 2118 2119 2120 2121 2122 2123
with_nwfilter=yes
if test "$with_libvirtd" = "no" || test "$with_linux" != "yes"; then
  with_nwfilter=no
fi
if test "$with_nwfilter" = "yes" ; then
  AC_DEFINE([WITH_NWFILTER], 1, [whether local network filter management driver is available])
fi
AM_CONDITIONAL([WITH_NWFILTER], [test "$with_nwfilter" = "yes"])

2124
AC_ARG_WITH([qemu-user],
2125
  AC_HELP_STRING([--with-qemu-user], [username to run QEMU system instance as @<:@default=root@:>@]),
2126 2127 2128
  [QEMU_USER=${withval}],
  [QEMU_USER=root])
AC_ARG_WITH([qemu-group],
2129
  AC_HELP_STRING([--with-qemu-group], [groupname to run QEMU system instance as @<:@default=root@:>@]),
2130 2131 2132 2133 2134
  [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])

2135 2136 2137 2138 2139 2140

AC_ARG_WITH([macvtap],
  AC_HELP_STRING([--with-macvtap],[enable macvtap device @<:@default=check@:>@]),
  [with_macvtap=${withval}],
  [with_macvtap=check])

2141
AC_MSG_CHECKING([whether to compile with macvtap support])
2142
if test "$with_macvtap" != "no" ; then
S
Stefan Berger 已提交
2143 2144
    AC_TRY_COMPILE([ #include <sys/socket.h>
                     #include <linux/rtnetlink.h> ],
2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158
                   [ int x = MACVLAN_MODE_BRIDGE; ],
                   [ with_macvtap=yes ],
                   [ if test "$with_macvtap" = "yes" ; then
                         AC_MSG_ERROR([Installed linux headers don't show support for macvtap device.])
                     fi
                     with_macvtap=no ])
    if test "$with_macvtap" = "yes" ; then
        val=1
    else
        val=0
    fi
    AC_DEFINE_UNQUOTED([WITH_MACVTAP], $val, [whether macvtap support is enabled])
fi
AM_CONDITIONAL([WITH_MACVTAP], [test "$with_macvtap" = "yes"])
2159
AC_MSG_RESULT([$with_macvtap])
2160

2161 2162 2163 2164 2165
AC_ARG_WITH([virtualport],
  AC_HELP_STRING([--with-virtualport],[enable virtual port support @<:@default=check@:>@]),
  [with_virtualport=${withval}],
  [with_virtualport=check])

2166 2167 2168 2169
dnl Warn the user and error out if they requested virtualport support with configure
dnl options, but the required macvtap support isn't available

if test "$with_virtualport" = "yes"; then
2170 2171 2172
    if test "$with_macvtap" = "no"; then
        AC_MSG_ERROR([--with-virtualport requires --with-macvtap])
    fi
2173 2174 2175 2176 2177 2178 2179 2180
fi

dnl virtualport checks

if test "$with_macvtap" != "yes"; then
    with_virtualport=no
fi
if test "$with_virtualport" != "no"; then
2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197
    AC_MSG_CHECKING([whether to compile with virtual port support])
    AC_TRY_COMPILE([ #include <sys/socket.h>
                     #include <linux/rtnetlink.h> ],
                     [ int x = IFLA_PORT_MAX; ],
                     [ with_virtualport=yes ],
                     [ if test "$with_virtualport" = "yes" ; then
                         AC_MSG_ERROR([Installed linux headers don't show support for virtual port support.])
                       fi
                       with_virtualport=no ])
    if test "$with_virtualport" = "yes"; then
        val=1
    else
        val=0
    fi
    AC_DEFINE_UNQUOTED([WITH_VIRTUALPORT], $val,
                       [whether vsi vepa support is enabled])
    AC_MSG_RESULT([$with_virtualport])
2198 2199 2200
fi
AM_CONDITIONAL([WITH_VIRTUALPORT], [test "$with_virtualport" = "yes"])

2201

2202 2203 2204 2205 2206
dnl netlink library

LIBNL_CFLAGS=""
LIBNL_LIBS=""

2207
if test "$with_macvtap" = "yes"; then
2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219
    PKG_CHECK_MODULES([LIBNL], [libnl-1 >= $LIBNL_REQUIRED], [
    ], [
        AC_MSG_ERROR([libnl >= $LIBNL_REQUIRED is required for macvtap support])
    ])
fi

AC_SUBST([LIBNL_CFLAGS])
AC_SUBST([LIBNL_LIBS])




2220 2221 2222 2223 2224 2225
# 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
2226

2227 2228 2229 2230 2231 2232
# Detect when running under the clang static analyzer's scan-build driver
# or Coverity-prevent's cov-build.  Define STATIC_ANALYSIS accordingly.
test -n "$CCC_ANALYZER_ANALYSIS$COVERITY_BUILD_COMMAND" && t=1 || t=0
AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t],
  [Define to 1 when performing static analysis.])

2233
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
2234
	  docs/schemas/Makefile \
2235
	  gnulib/lib/Makefile \
J
Jim Meyering 已提交
2236
	  gnulib/tests/Makefile \
R
Richard W.M. Jones 已提交
2237
          libvirt.pc libvirt.spec mingw32-libvirt.spec \
2238
          po/Makefile.in \
2239
	  include/libvirt/Makefile include/libvirt/libvirt.h \
K
Karel Zak 已提交
2240
	  python/Makefile python/tests/Makefile \
2241
          daemon/Makefile \
2242
          tools/Makefile \
2243
          tests/Makefile proxy/Makefile \
2244 2245
          tests/xml2sexprdata/Makefile \
          tests/sexpr2xmldata/Makefile \
2246
          tests/xmconfigdata/Makefile \
2247
          tests/xencapsdata/Makefile \
2248
          tests/confdata/Makefile \
2249
          examples/apparmor/Makefile \
D
Daniel Veillard 已提交
2250
          examples/domain-events/events-c/Makefile \
2251 2252
          examples/domsuspend/Makefile \
          examples/dominfo/Makefile \
2253
          examples/openauth/Makefile \
2254
          examples/python/Makefile \
S
Stefan Berger 已提交
2255
          examples/hellolibvirt/Makefile \
2256
          examples/systemtap/Makefile \
S
Stefan Berger 已提交
2257
          examples/xml/nwfilter/Makefile)
D
Daniel P. Berrange 已提交
2258 2259 2260 2261 2262 2263 2264 2265

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])
2266
AC_MSG_NOTICE([   Proxy: $with_xen_proxy])
D
Daniel P. Berrange 已提交
2267
AC_MSG_NOTICE([    QEMU: $with_qemu])
2268
AC_MSG_NOTICE([     UML: $with_uml])
D
Daniel P. Berrange 已提交
2269
AC_MSG_NOTICE([  OpenVZ: $with_openvz])
2270
AC_MSG_NOTICE([    VBox: $with_vbox])
2271
AC_MSG_NOTICE([  XenAPI: $with_xenapi])
D
Daniel Veillard 已提交
2272
AC_MSG_NOTICE([     LXC: $with_lxc])
2273
AC_MSG_NOTICE([    PHYP: $with_phyp])
D
Daniel Veillard 已提交
2274
AC_MSG_NOTICE([     ONE: $with_one])
2275
AC_MSG_NOTICE([     ESX: $with_esx])
D
Daniel P. Berrange 已提交
2276 2277
AC_MSG_NOTICE([    Test: $with_test])
AC_MSG_NOTICE([  Remote: $with_remote])
2278
AC_MSG_NOTICE([ Network: $with_network])
2279
AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
D
Daniel Veillard 已提交
2280
AC_MSG_NOTICE([   netcf: $with_netcf])
2281
AC_MSG_NOTICE([ macvtap: $with_macvtap])
2282
AC_MSG_NOTICE([virtport: $with_virtualport])
D
Daniel P. Berrange 已提交
2283
AC_MSG_NOTICE([])
2284 2285
AC_MSG_NOTICE([Storage Drivers])
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
2286
AC_MSG_NOTICE([     Dir: $with_storage_dir])
2287 2288
AC_MSG_NOTICE([      FS: $with_storage_fs])
AC_MSG_NOTICE([   NetFS: $with_storage_fs])
2289
AC_MSG_NOTICE([     LVM: $with_storage_lvm])
2290
AC_MSG_NOTICE([   iSCSI: $with_storage_iscsi])
2291
AC_MSG_NOTICE([    SCSI: $with_storage_scsi])
D
Dave Allan 已提交
2292
AC_MSG_NOTICE([   mpath: $with_storage_mpath])
2293
AC_MSG_NOTICE([    Disk: $with_storage_disk])
2294
AC_MSG_NOTICE([])
2295 2296 2297
AC_MSG_NOTICE([Security Drivers])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ SELinux: $with_secdriver_selinux])
2298
AC_MSG_NOTICE([AppArmor: $with_secdriver_apparmor])
2299
AC_MSG_NOTICE([])
2300 2301 2302
AC_MSG_NOTICE([Driver Loadable Modules])
AC_MSG_NOTICE([])
if test "$with_driver_modules" != "no" ; then
2303
AC_MSG_NOTICE([  dlopen: $DRIVER_MODULE_CFLAGS $DRIVER_MODULE_LIBS])
2304 2305 2306
else
AC_MSG_NOTICE([  dlopen: no])
fi
2307 2308 2309 2310
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Libraries])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([  libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
2311 2312 2313 2314 2315
if test "$with_esx" = "yes" ; then
AC_MSG_NOTICE([ libcurl: $LIBCURL_CFLAGS $LIBCURL_LIBS])
else
AC_MSG_NOTICE([ libcurl: no])
fi
2316
if test "$with_libssh2" != "no" ; then
2317
AC_MSG_NOTICE([ libssh2: $LIBSSH2_CFLAGS $LIBSSH2_LIBS])
2318
else
2319
AC_MSG_NOTICE([ libssh2: no])
2320
fi
2321
AC_MSG_NOTICE([  gnutls: $GNUTLS_CFLAGS $GNUTLS_LIBS])
2322 2323 2324 2325 2326
if test "$with_sasl" != "no" ; then
AC_MSG_NOTICE([    sasl: $SASL_CFLAGS $SASL_LIBS])
else
AC_MSG_NOTICE([    sasl: no])
fi
2327 2328 2329 2330 2331
if test "$with_yajl" != "no" ; then
AC_MSG_NOTICE([    yajl: $YAJL_CFLAGS $YAJL_LIBS])
else
AC_MSG_NOTICE([    yajl: no])
fi
2332 2333 2334 2335 2336
if test "$with_avahi" = "yes" ; then
AC_MSG_NOTICE([   avahi: $AVAHI_CFLAGS $AVAHI_LIBS])
else
AC_MSG_NOTICE([   avahi: no])
fi
2337
if test "$with_polkit" = "yes" ; then
2338 2339 2340 2341 2342
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
2343 2344 2345
else
AC_MSG_NOTICE([  polkit: no])
fi
2346 2347 2348 2349 2350
if test "$with_audit" = "yes" ; then
AC_MSG_NOTICE([   audit: $AUDIT_CFLAGS $AUDIT_LIBS])
else
AC_MSG_NOTICE([   audit: no])
fi
2351
if test "$with_selinux" = "yes" ; then
2352
AC_MSG_NOTICE([ selinux: $SELINUX_CFLAGS $SELINUX_LIBS])
2353
else
2354
AC_MSG_NOTICE([ selinux: no])
2355
fi
J
Jamie Strandboge 已提交
2356
if test "$with_apparmor" = "yes" ; then
2357
AC_MSG_NOTICE([apparmor: $APPARMOR_CFLAGS $APPARMOR_LIBS])
J
Jamie Strandboge 已提交
2358
else
2359
AC_MSG_NOTICE([apparmor: no])
J
Jamie Strandboge 已提交
2360
fi
2361
if test "$with_numactl" = "yes" ; then
2362
AC_MSG_NOTICE([ numactl: $NUMACTL_CFLAGS $NUMACTL_LIBS])
2363
else
2364
AC_MSG_NOTICE([ numactl: no])
2365
fi
D
Daniel P. Berrange 已提交
2366 2367 2368 2369 2370
if test "$with_capng" = "yes" ; then
AC_MSG_NOTICE([   capng: $CAPNG_CFLAGS $CAPNG_LIBS])
else
AC_MSG_NOTICE([   capng: no])
fi
2371
if test "$with_xen" = "yes" ; then
2372
AC_MSG_NOTICE([     xen: $XEN_CFLAGS $XEN_LIBS])
2373
else
2374
AC_MSG_NOTICE([     xen: no])
2375
fi
2376 2377 2378 2379 2380
if test "$with_xenapi" = "yes" ; then
AC_MSG_NOTICE([  xenapi: $LIBXENSERVER_CFLAGS $LIBXENSERVER_LIBS])
else
AC_MSG_NOTICE([  xenapi: no])
fi
2381
if test "$with_hal" = "yes" ; then
2382
AC_MSG_NOTICE([     hal: $HAL_CFLAGS $HAL_LIBS])
2383
else
2384
AC_MSG_NOTICE([     hal: no])
2385
fi
2386
if test "$with_udev" = "yes" ; then
2387
AC_MSG_NOTICE([    udev: $UDEV_CFLAGS $UDEV_LIBS $PCIACCESS_CFLAGS $PCIACCESS_LIBS])
2388 2389 2390
else
AC_MSG_NOTICE([    udev: no])
fi
D
Daniel Veillard 已提交
2391 2392 2393 2394 2395
if test "$with_netcf" = "yes" ; then
AC_MSG_NOTICE([   netcf: $NETCF_CFLAGS $NETCF_LIBS])
else
AC_MSG_NOTICE([   netcf: no])
fi
2396 2397 2398 2399 2400
if test "$with_one" = "yes" ; then
AC_MSG_NOTICE([  xmlrpc: $XMLRPC_CFLAGS $XMLRPC_LIBS])
else
AC_MSG_NOTICE([  xmlrpc: no])
fi
2401 2402 2403 2404 2405
if test "$with_qemu" = "yes" ; then
AC_MSG_NOTICE([    pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS])
else
AC_MSG_NOTICE([    pcap: no])
fi
2406 2407 2408 2409 2410
if test "$with_macvtap" = "yes" ; then
AC_MSG_NOTICE([      nl: $LIBNL_CFLAGS $LIBNL_LIBS])
else
AC_MSG_NOTICE([      nl: no])
fi
D
Daniel P. Berrange 已提交
2411
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
2412 2413
AC_MSG_NOTICE([Test suite])
AC_MSG_NOTICE([])
2414
AC_MSG_NOTICE([   Coverage: $enable_coverage])
D
Daniel P. Berrange 已提交
2415 2416
AC_MSG_NOTICE([  Alloc OOM: $enable_oom])
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
2417 2418
AC_MSG_NOTICE([Miscellaneous])
AC_MSG_NOTICE([])
2419
AC_MSG_NOTICE([     Debug: $enable_debug])
2420
AC_MSG_NOTICE([  Warnings: $enable_compile_warnings])
2421
AC_MSG_NOTICE([  Readline: $lv_use_readline])
2422
AC_MSG_NOTICE([    Python: $with_python])
2423
AC_MSG_NOTICE([    DTrace: $with_dtrace])
D
Daniel P. Berrange 已提交
2424
AC_MSG_NOTICE([])
2425 2426 2427
AC_MSG_NOTICE([Privileges])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([      QEMU: $QEMU_USER:$QEMU_GROUP])
2428
AC_MSG_NOTICE([])