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

3
dnl Copyright (C) 2005-2015 Red Hat, Inc.
E
Eric Blake 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public
dnl License as published by the Free Software Foundation; either
dnl version 2.1 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
dnl Lesser General Public License for more details.
dnl
dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library.  If not, see
dnl <http://www.gnu.org/licenses/>.
18

A
Andrea Bolognani 已提交
19
AC_INIT([libvirt], [3.0.0], [libvir-list@redhat.com], [], [http://libvirt.org])
20 21
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
E
Eric Blake 已提交
22
AC_CONFIG_HEADERS([config.h])
23
AH_BOTTOM([#include <config-post.h>])
24
AC_CONFIG_MACRO_DIR([m4])
E
Eric Blake 已提交
25 26
dnl Make automake keep quiet about wildcards & other GNUmake-isms; also keep
dnl quiet about the fact that we intentionally cater to automake 1.9
27
AM_INIT_AUTOMAKE([-Wno-portability -Wno-obsolete tar-pax no-dist-gzip dist-xz subdir-objects])
28 29 30 31
dnl older automake's default of ARFLAGS=cru is noisy on newer binutils;
dnl we don't really need the 'u' even in older toolchains.  Then there is
dnl older libtool, which spelled it AR_FLAGS
m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"])
32

33 34 35 36 37
# Maintainer note - comment this line out if you plan to rerun
# GNULIB_POSIXCHECK testing to see if libvirt should be using more modules.
# Leave it uncommented for normal releases, for faster ./configure.
gl_ASSERT_NO_GNULIB_POSIXCHECK

E
Eric Blake 已提交
38 39 40 41 42
# Default to using the silent-rules feature when possible.  Formatting
# chosen to bypass 'grep' checks that cause older automake to warn.
# Users (include rpm) can still change the default at configure time.
m4_ifndef([AM_SILENT_RULES],
 [m4_define([AM_SILENT_RULES],[])])AM_SILENT_RULES([yes])
43

D
Daniel Veillard 已提交
44 45
AC_CANONICAL_HOST

46
# First extract pieces from the version number string
47 48 49
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}'`
50 51
LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX
LIBVIRT_VERSION_NUMBER=`expr $LIBVIRT_MAJOR_VERSION \* 1000000 + $LIBVIRT_MINOR_VERSION \* 1000 + $LIBVIRT_MICRO_VERSION`
D
Daniel Veillard 已提交
52

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
# In libtool terminology we need to figure out:
#
# CURRENT
#     The most recent interface number that this library implements.
#
# REVISION
#     The implementation number of the CURRENT interface.
#
# AGE
#     The difference between the newest and oldest interfaces that this
#     library implements.
#
# In other words, the library implements all the interface numbers
# in the range from number `CURRENT - AGE' to `CURRENT'.
#
# Libtool assigns the soname version from `CURRENT - AGE', and we
# don't want that to ever change in libvirt. ie it must always be
# zero, to produce libvirt.so.0.
#
# We would, however, like the libvirt version number reflected
# in the so version'd symlinks, and this is based on AGE.REVISION
# eg  libvirt.so.0.AGE.REVISION
#
# Assuming we do ever want to break soname version, this can
# toggled. But seriously, don't ever touch this.
LIBVIRT_SONUM=0

# The following examples show what libtool will do
#
# Input: 0.9.14 ->   libvirt.so.0.9.14
# Input: 1.0.0  ->   libvirt.so.0.1000.0
# Input: 2.5.8  ->   libvirt.so.0.2005.8
#
AGE=`expr $LIBVIRT_MAJOR_VERSION '*' 1000 + $LIBVIRT_MINOR_VERSION`
REVISION=$LIBVIRT_MICRO_VERSION
CURRENT=`expr $LIBVIRT_SONUM + $AGE`
LIBVIRT_VERSION_INFO=$CURRENT:$REVISION:$AGE

91 92 93
AC_SUBST([LIBVIRT_MAJOR_VERSION])
AC_SUBST([LIBVIRT_MINOR_VERSION])
AC_SUBST([LIBVIRT_MICRO_VERSION])
94
AC_SUBST([LIBVIRT_SONUM])
95 96 97
AC_SUBST([LIBVIRT_VERSION])
AC_SUBST([LIBVIRT_VERSION_INFO])
AC_SUBST([LIBVIRT_VERSION_NUMBER])
D
Daniel Veillard 已提交
98

99 100
LIBVIRT_ARG_WITH_ALT([PACKAGER], [Extra packager name], [no])
LIBVIRT_ARG_WITH_ALT([PACKAGER_VERSION], [Extra packager version], [no])
101 102 103 104 105 106 107 108 109 110 111
if test "x$with_packager" != "xno"
then
  AC_DEFINE_UNQUOTED([PACKAGER], ["$with_packager"],
                     [Extra package name])
fi
if test "x$with_packager_version" != "xno"
then
  AC_DEFINE_UNQUOTED([PACKAGER_VERSION], ["$with_packager_version"],
                     [Extra package version])
fi

112 113
dnl Where we look for daemons and admin binaries during configure
LIBVIRT_SBIN_PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
114

115
dnl Checks for C compiler.
116 117 118
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
119

120 121 122 123 124 125
dnl Setting AB_VERSION makes the 'autobuild' lines of configure output
dnl slightly more useful
if test -d $srcdir/.git && git --version >/dev/null 2>&1 ; then
  AB_VERSION=`cd $srcdir && git describe --match 'v[[0-9]]*' 2>/dev/null`
fi

126 127 128
gl_EARLY
gl_INIT

129
AC_TYPE_UID_T
130

131 132 133
dnl Support building Win32 DLLs (must appear *before* AM_PROG_LIBTOOL)
AC_LIBTOOL_WIN32_DLL

134 135
AC_HEADER_MAJOR

136 137 138 139 140
m4_ifndef([LT_INIT], [
  AM_PROG_LIBTOOL
], [
  LT_INIT([shared disable-static])
])
141
AM_PROG_CC_C_O
142
AM_PROG_LD
143

144 145 146 147 148 149 150 151
AC_MSG_CHECKING([for how to mark DSO non-deletable at runtime])
LIBVIRT_NODELETE=
`$LD --help 2>&1 | grep -- "-z nodelete" >/dev/null` && \
    LIBVIRT_NODELETE="-Wl,-z -Wl,nodelete"
AC_MSG_RESULT([$LIBVIRT_NODELETE])
AC_SUBST([LIBVIRT_NODELETE])

AC_MSG_CHECKING([for how to set DSO symbol versions])
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
case "$host" in
  *-*-mingw* | *-*-msvc* )
    # mingw's ld has the --version-script parameter, but it requires a .def file
    # instead to work properly, therefore clear --version-script here and use
    # -Wl, to pass the .def file to the linker
    # cygwin's ld has the --version-script parameter too, but for some reason
    # it's working there as expected
    VERSION_SCRIPT_FLAGS="-Wl,"
    ;;
  * )
    VERSION_SCRIPT_FLAGS=-Wl,--version-script=
      `$LD --help 2>&1 | grep -- --version-script >/dev/null` || \
        VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
    ;;
esac
167
AC_MSG_RESULT([$VERSION_SCRIPT_FLAGS])
168
AC_SUBST([VERSION_SCRIPT_FLAGS])
169

170 171 172 173 174 175 176 177 178 179
dnl Specify if we rely on ifconfig instead of iproute2 (e.g. in case
dnl we're working on BSD)
want_ifconfig=no

dnl Make some notes about which OS we're compiling for, as the lxc and qemu
dnl drivers require linux headers, and storage_mpath, dtrace, and nwfilter
dnl are also linux specific.  The "network" and storage_fs drivers are known
dnl to not work on MacOS X presently, so we also make a note if compiling
dnl for that

E
Eric Blake 已提交
180
with_linux=no with_osx=no with_freebsd=no with_win=no with_cygwin=no
181 182 183 184
case $host in
  *-*-linux*) with_linux=yes ;;
  *-*-darwin*) with_osx=yes ;;
  *-*-freebsd*) with_freebsd=yes ;;
185
  *-*-mingw* | *-*-msvc* ) with_win=yes ;;
E
Eric Blake 已提交
186
  *-*-cygwin*) with_cygwin=yes ;;
187 188 189 190 191 192 193 194 195 196 197
esac

if test $with_linux = no; then
    if test "x$with_lxc" != xyes
    then
        with_lxc=no
    fi
    with_dtrace=no
fi

if test $with_freebsd = yes; then
E
Eric Blake 已提交
198 199 200
    want_ifconfig=yes
    with_firewalld=no
fi
201

E
Eric Blake 已提交
202 203
if test $with_cygwin = yes; then
    with_vbox=no
204 205 206 207 208
fi

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

209 210 211 212 213
# We don't support the daemon yet
if test "$with_win" = "yes" ; then
  with_libvirtd=no
fi

E
Eric Blake 已提交
214 215 216 217 218 219 220
# The daemon requires remote support.  Likewise, if we are not using
# RPC, we don't need several libraries.
if test "$with_remote" = "no" ; then
  with_libvirtd=no
  with_gnutls=no
  with_ssh2=no
  with_sasl=no
221
  with_libssh=no
E
Eric Blake 已提交
222 223
fi
# Stateful drivers are useful only when building the daemon.
224 225
if test "$with_libvirtd" = "no" ; then
  with_qemu=no
E
Eric Blake 已提交
226 227 228 229 230
  with_xen=no
  with_lxc=no
  with_libxl=no
  with_uml=no
  with_vbox=no
231 232 233 234
fi

# Check for compiler and library settings.

235
LIBVIRT_COMPILE_WARNINGS
D
Daniel P. Berrange 已提交
236
LIBVIRT_COMPILE_PIE
D
Daniel P. Berrange 已提交
237
LIBVIRT_LINKER_RELRO
238
LIBVIRT_LINKER_NO_INDIRECT
239

240 241 242 243 244 245 246 247
LIBVIRT_ARG_APPARMOR
LIBVIRT_ARG_ATTR
LIBVIRT_ARG_AUDIT
LIBVIRT_ARG_AVAHI
LIBVIRT_ARG_BLKID
LIBVIRT_ARG_CAPNG
LIBVIRT_ARG_CURL
LIBVIRT_ARG_DBUS
248
LIBVIRT_ARG_FIREWALLD
249 250 251 252
LIBVIRT_ARG_FUSE
LIBVIRT_ARG_GLUSTER
LIBVIRT_ARG_GNUTLS
LIBVIRT_ARG_HAL
253
LIBVIRT_ARG_LIBPCAP
254
LIBVIRT_ARG_LIBSSH
255 256
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
257 258 259 260 261
LIBVIRT_ARG_NETCF
LIBVIRT_ARG_NSS
LIBVIRT_ARG_NUMACTL
LIBVIRT_ARG_OPENWSMAN
LIBVIRT_ARG_PCIACCESS
262 263
LIBVIRT_ARG_PM_UTILS
LIBVIRT_ARG_POLKIT
264 265 266 267 268 269
LIBVIRT_ARG_READLINE
LIBVIRT_ARG_SANLOCK
LIBVIRT_ARG_SASL
LIBVIRT_ARG_SELINUX
LIBVIRT_ARG_SSH2
LIBVIRT_ARG_UDEV
270
LIBVIRT_ARG_VIRTUALPORT
271 272 273
LIBVIRT_ARG_WIRESHARK
LIBVIRT_ARG_YAJL

274
LIBVIRT_CHECK_APPARMOR
275
LIBVIRT_CHECK_ATOMIC
276
LIBVIRT_CHECK_ATTR
277
LIBVIRT_CHECK_AUDIT
278
LIBVIRT_CHECK_AVAHI
279
LIBVIRT_CHECK_BLKID
280
LIBVIRT_CHECK_CAPNG
281
LIBVIRT_CHECK_CURL
282
LIBVIRT_CHECK_DBUS
283 284 285
LIBVIRT_CHECK_DEVMAPPER
LIBVIRT_CHECK_DLOPEN
LIBVIRT_CHECK_FIREWALLD
286
LIBVIRT_CHECK_FUSE
287
LIBVIRT_CHECK_GLUSTER
P
Pavel Hrdina 已提交
288
LIBVIRT_CHECK_GNUTLS
289
LIBVIRT_CHECK_HAL
290 291 292
LIBVIRT_CHECK_LIBNL
LIBVIRT_CHECK_LIBPARTED
LIBVIRT_CHECK_LIBPCAP
293
LIBVIRT_CHECK_LIBSSH
294 295
LIBVIRT_CHECK_LIBXML
LIBVIRT_CHECK_MACVTAP
296
LIBVIRT_CHECK_NETCF
P
Pavel Hrdina 已提交
297
LIBVIRT_CHECK_NSS
298
LIBVIRT_CHECK_NUMACTL
299
LIBVIRT_CHECK_NWFILTER
300
LIBVIRT_CHECK_OPENWSMAN
301
LIBVIRT_CHECK_PCIACCESS
302 303 304
LIBVIRT_CHECK_PM_UTILS
LIBVIRT_CHECK_POLKIT
LIBVIRT_CHECK_PTHREAD
305
LIBVIRT_CHECK_READLINE
306
LIBVIRT_CHECK_SANLOCK
307
LIBVIRT_CHECK_SASL
308
LIBVIRT_CHECK_SELINUX
309
LIBVIRT_CHECK_SSH2
310
LIBVIRT_CHECK_UDEV
311
LIBVIRT_CHECK_VIRTUALPORT
312
LIBVIRT_CHECK_WIRESHARK
313
LIBVIRT_CHECK_XDR
314 315
LIBVIRT_CHECK_YAJL

316
AC_CHECK_SIZEOF([long])
J
Jiri Denemark 已提交
317

318 319
dnl Availability of various common functions (non-fatal if missing),
dnl and various less common threadsafe functions
320
AC_CHECK_FUNCS_ONCE([cfmakeraw fallocate geteuid getgid getgrnam_r \
321
  getmntent_r getpwuid_r getrlimit getuid kill mmap newlocale posix_fallocate \
322
  posix_memalign prlimit regexec sched_getaffinity setgroups setns \
323
  setrlimit symlink sysctlbyname getifaddrs sched_setscheduler unshare])
324

325
dnl Availability of various common headers (non-fatal if missing).
M
Michal Privoznik 已提交
326
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
327
  sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
328
  sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
M
Michal Privoznik 已提交
329
  libtasn1.h sys/ucred.h sys/mount.h sys/acl.h])
E
Eric Blake 已提交
330 331
dnl Check whether endian provides handy macros.
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
332
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])
E
Eric Blake 已提交
333

M
Michal Privoznik 已提交
334 335
ACL_CFLAGS=""
ACL_LIBS=""
336
if test "x$ac_cv_header_sys_acl_h:x$with_linux" = "xyes:xyes" ; then
M
Michal Privoznik 已提交
337 338 339 340 341
    ACL_LIBS="-lacl"
fi
AC_SUBST([ACL_CFLAGS])
AC_SUBST([ACL_LIBS])

342 343 344 345 346 347
AC_CHECK_TYPE([struct ifreq],
  [AC_DEFINE([HAVE_STRUCT_IFREQ],[1],
    [Defined if struct ifreq exists in net/if.h])],
  [], [[#include <sys/socket.h>
        #include <net/if.h>
  ]])
348

349 350 351 352 353 354
AC_CHECK_TYPE([struct sockpeercred],
  [AC_DEFINE([HAVE_STRUCT_SOCKPEERCRED], [1],
    [Defined if struct sockpeercred is available])],
  [], [[#include <sys/socket.h>
  ]])

355
AC_CHECK_DECLS([ETH_FLAG_TXVLAN, ETH_FLAG_NTUPLE, ETH_FLAG_RXHASH, ETH_FLAG_LRO,
356
                ETHTOOL_GGSO, ETHTOOL_GGRO, ETHTOOL_GFLAGS, ETHTOOL_GFEATURES],
357 358 359
  [], [], [[#include <linux/ethtool.h>
  ]])

E
Eric Blake 已提交
360 361 362 363
dnl Our only use of libtasn1.h is in the testsuite, and can be skipped
dnl if the header is not present.  Assume -ltasn1 is present if the
dnl header could be found.
AM_CONDITIONAL([HAVE_LIBTASN1], [test "x$ac_cv_header_libtasn1_h" = "xyes"])
364

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

367 368 369 370 371 372 373

dnl
dnl Check for external programs
dnl

LIBVIRT_CHECK_EXTERNAL_PROGRAMS

374

375
dnl Specific dir for HTML output ?
376 377 378 379 380 381 382 383 384
LIBVIRT_ARG_WITH_ALT([HTML_DIR], [path to base html directory],
                     ['$(datadir)/doc'])
LIBVIRT_ARG_WITH_ALT([HTML_SUBDIR], [directory used under html-dir],
                     ['$(PACKAGE)-$(VERSION)/html'])
if test "x$with_html_subdir" != "x" ; then
  HTML_DIR="$with_html_dir/$with_html_subdir"
else
  HTML_DIR="$with_html_dir"
fi
385
AC_SUBST([HTML_DIR])
386

387 388 389 390
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

391
if test "$prefix" = "/usr" && test "$localstatedir" = '${prefix}/var' ; then
392 393
    localstatedir='/var'
fi
394
if test "$prefix" = "/usr" && test "$sysconfdir" = '${prefix}/etc' ; then
395 396 397
    sysconfdir='/etc'
fi

398 399 400 401
dnl
dnl Virtualization drivers check
dnl

402
LIBVIRT_DRIVER_ARG_XEN
403
LIBVIRT_DRIVER_ARG_QEMU
404
LIBVIRT_DRIVER_ARG_OPENVZ
405
LIBVIRT_DRIVER_ARG_VMWARE
406
LIBVIRT_DRIVER_ARG_PHYP
407
LIBVIRT_DRIVER_ARG_XENAPI
408
LIBVIRT_DRIVER_ARG_LIBXL
409
LIBVIRT_DRIVER_ARG_VBOX
410
LIBVIRT_DRIVER_ARG_LXC
411 412 413
LIBVIRT_DRIVER_ARG_VZ
LIBVIRT_DRIVER_ARG_BHYVE
LIBVIRT_DRIVER_ARG_UML
414
LIBVIRT_DRIVER_ARG_ESX
415
LIBVIRT_DRIVER_ARG_HYPERV
416
LIBVIRT_DRIVER_ARG_TEST
417
LIBVIRT_DRIVER_ARG_REMOTE
418
LIBVIRT_DRIVER_ARG_LIBVIRTD
419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
LIBVIRT_DRIVER_ARG_NETWORK
LIBVIRT_DRIVER_ARG_INTERFACE

LIBVIRT_DRIVER_CHECK_XEN
LIBVIRT_DRIVER_CHECK_QEMU
LIBVIRT_DRIVER_CHECK_OPENVZ
LIBVIRT_DRIVER_CHECK_VMWARE
LIBVIRT_DRIVER_CHECK_PHYP
LIBVIRT_DRIVER_CHECK_XENAPI
LIBVIRT_DRIVER_CHECK_LIBXL
LIBVIRT_DRIVER_CHECK_VBOX
LIBVIRT_DRIVER_CHECK_LXC
LIBVIRT_DRIVER_CHECK_VZ
LIBVIRT_DRIVER_CHECK_BHYVE
LIBVIRT_DRIVER_CHECK_UML
LIBVIRT_DRIVER_CHECK_ESX
LIBVIRT_DRIVER_CHECK_HYPERV
LIBVIRT_DRIVER_CHECK_TEST
LIBVIRT_DRIVER_CHECK_REMOTE
LIBVIRT_DRIVER_CHECK_LIBVIRTD
LIBVIRT_DRIVER_CHECK_NETWORK
LIBVIRT_DRIVER_CHECK_INTERFACE

AM_CONDITIONAL([WITH_XENCONFIG], [test "$with_libxl" = "yes" || test "$with_xen" = "yes"])

444

445
dnl
446 447
dnl in case someone want to build static binaries
dnl STATIC_BINARIES="-static"
448
dnl
449
STATIC_BINARIES=
450
AC_SUBST([STATIC_BINARIES])
451

452 453 454
dnl
dnl Miscellaneous checks
dnl
455

456 457 458 459
LIBVIRT_ARG_DEBUG
LIBVIRT_ARG_DTRACE
LIBVIRT_ARG_NUMAD
LIBVIRT_ARG_XML_CATALOG
460
LIBVIRT_ARG_INIT_SCRIPT
461 462 463 464 465 466
LIBVIRT_ARG_CHRDEV_LOCK_FILES
LIBVIRT_ARG_DEFAULT_EDITOR
LIBVIRT_ARG_LOADER_NVRAM
LIBVIRT_ARG_LOGIN_SHELL
LIBVIRT_ARG_HOST_VALIDATE
LIBVIRT_ARG_TLS_PRIORITY
467
LIBVIRT_ARG_SYSCTL_CONFIG
468 469 470 471 472 473 474 475 476 477 478 479 480


LIBVIRT_CHECK_DEBUG
LIBVIRT_CHECK_DTRACE
LIBVIRT_CHECK_NUMAD
LIBVIRT_CHECK_XML_CATALOG
LIBVIRT_CHECK_INIT_SCRIPT
LIBVIRT_CHECK_CHRDEV_LOCK_FILES
LIBVIRT_CHECK_DEFAULT_EDITOR
LIBVIRT_CHECK_LOADER_NVRAM
LIBVIRT_CHECK_LOGIN_SHELL
LIBVIRT_CHECK_HOST_VALIDATE
LIBVIRT_CHECK_TLS_PRIORITY
481
LIBVIRT_CHECK_SYSCTL_CONFIG
482

S
Stefan Berger 已提交
483

484

485

486 487
dnl
dnl check for kvm headers
488
dnl
489 490
AC_CHECK_HEADERS([linux/kvm.h])

491

492 493
AM_CONDITIONAL([WITH_SETUID_RPC_CLIENT], [test "$with_lxc$with_login_shell" != "nono"])

494 495 496 497

dnl
dnl check for kernel headers required by src/bridge.c
dnl
R
Roman Bogorodskiy 已提交
498
if test "$with_linux" = "yes"; then
499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519
    # Various kernel versions have headers that are not self-standing, but
    # yet are incompatible with the corresponding glibc headers.  In order
    # to guarantee compilation across a wide range of versions (from RHEL 5
    # to rawhide), we first have to probe whether glibc and kernel can be
    # used in tandem; and if not, provide workarounds that ensure that
    # ABI-compatible IPv6 types are present for use by the kernel headers.
    # These probes mirror the usage in virnetdevbridge.c
    AC_CACHE_CHECK(
      [whether <linux/*.h> and <netinet/*.h> headers are compatible],
      [lv_cv_netinet_linux_compatible],
      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
        #include <netinet/in.h>
        #include <linux/in6.h>
      ]])],
      [lv_cv_netinet_linux_compatible=yes],
      [lv_cv_netinet_linux_compatible=no])])
    if test "x$lv_cv_netinet_linux_compatible" != xyes; then
      AC_DEFINE([NETINET_LINUX_WORKAROUND], [1],
        [define to 1 if Linux kernel headers require a workaround to avoid
        compilation errors when mixed with glibc netinet headers])
    fi
R
Roman Bogorodskiy 已提交
520
    AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
521
      [AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt with QEMU or LXC support])],
522 523 524 525 526 527 528 529
      [[#include <netinet/in.h>
        #if NETINET_LINUX_WORKAROUND
        # define in6_addr in6_addr_
        # define sockaddr_in6 sockaddr_in6_
        # define ipv6_mreq ipv6_mreq_
        # define in6addr_any in6addr_any_
        # define in6addr_loopback in6addr_loopback_
        #endif
530
        #include <linux/in6.h>
531
      ]])
532 533
fi

534

D
Daniel P. Berrange 已提交
535 536 537
dnl Need to test if pkg-config exists
PKG_PROG_PKG_CONFIG

D
Daniel Veillard 已提交
538

539 540
dnl Security driver checks
LIBVIRT_SECDRIVER_ARG_SELINUX
541
LIBVIRT_SECDRIVER_ARG_APPARMOR
J
Jamie Strandboge 已提交
542

543 544
LIBVIRT_SECDRIVER_CHECK_SELINUX
LIBVIRT_SECDRIVER_CHECK_APPARMOR
J
Jamie Strandboge 已提交
545

D
Daniel P. Berrange 已提交
546

547
LIBVIRT_ARG_WITH([SECRETS], [local secrets management driver], [yes])
548

D
Daniel P. Berrange 已提交
549 550 551 552 553 554 555 556 557
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"])


558
LIBVIRT_STORAGE_ARG_DIR
559
LIBVIRT_STORAGE_ARG_FS
560
LIBVIRT_STORAGE_ARG_LVM
561
LIBVIRT_STORAGE_ARG_ISCSI
562
LIBVIRT_STORAGE_ARG_SCSI
563
LIBVIRT_STORAGE_ARG_MPATH
564
LIBVIRT_STORAGE_ARG_DISK
565 566 567 568
LIBVIRT_ARG_WITH([STORAGE_RBD], [RADOS Block Device backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_SHEEPDOG], [with Sheepdog backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_GLUSTER], [Gluster backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_ZFS], [ZFS backend for the storage driver], [check])
569

D
Daniel P. Berrange 已提交
570 571 572 573 574
if test "$with_libvirtd" = "no"; then
  with_storage_dir=no
  with_storage_fs=no
  with_storage_lvm=no
  with_storage_iscsi=no
575
  with_storage_scsi=no
D
Dave Allan 已提交
576
  with_storage_mpath=no
D
Daniel P. Berrange 已提交
577
  with_storage_disk=no
578
  with_storage_rbd=no
579
  with_storage_sheepdog=no
580
  with_storage_gluster=no
R
Roman Bogorodskiy 已提交
581
  with_storage_zfs=no
D
Daniel P. Berrange 已提交
582
fi
583 584

LIBVIRT_STORAGE_CHECK_DIR
D
Daniel P. Berrange 已提交
585

586 587 588 589 590
dnl storage-fs does not work on MacOS X

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

592
LIBVIRT_STORAGE_CHECK_FS
593
LIBVIRT_STORAGE_CHECK_LVM
594
LIBVIRT_STORAGE_CHECK_ISCSI
595
LIBVIRT_STORAGE_CHECK_SCSI
596
LIBVIRT_STORAGE_CHECK_MPATH
597

598

599 600 601 602 603 604
LIBRBD_LIBS=
if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
    AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])

    if test "$LIBRBD_FOUND" = "yes"; then
        with_storage_rbd=yes
605
        LIBRBD_LIBS="-lrbd -lrados"
606 607 608 609 610 611 612 613 614
        AC_DEFINE_UNQUOTED([WITH_STORAGE_RBD], [1],
         [whether RBD backend for storage driver is enabled])
    else
        with_storage_rbd=no
    fi
fi
AM_CONDITIONAL([WITH_STORAGE_RBD], [test "$with_storage_rbd" = "yes"])
AC_SUBST([LIBRBD_LIBS])

615 616
if test "$with_storage_sheepdog" = "yes" ||
   test "$with_storage_sheepdog" = "check"; then
617
  AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH])
618 619

  if test "$with_storage_sheepdog" = "yes"; then
620 621
    if test -z "$SHEEPDOGCLI"; then
      AC_MSG_ERROR([We need sheepdog client for Sheepdog storage driver])
622 623
    fi
  else
624
    if test -z "$SHEEPDOGCLI"; then
625 626 627 628 629 630 631 632 633 634 635
      with_storage_sheepdog=no
    fi

    if test "$with_storage_sheepdog" = "check"; then
      with_storage_sheepdog=yes
    fi
  fi

  if test "$with_storage_sheepdog" = "yes"; then
    AC_DEFINE_UNQUOTED([WITH_STORAGE_SHEEPDOG], 1,
      [whether Sheepdog backend for storage driver is enabled])
636
    AC_DEFINE_UNQUOTED([SHEEPDOGCLI],["$SHEEPDOGCLI"],[Location of sheepdog client program])
637 638 639 640 641
  fi
fi
AM_CONDITIONAL([WITH_STORAGE_SHEEPDOG],
  [test "$with_storage_sheepdog" = "yes"])

642 643 644 645 646 647 648 649 650 651 652 653
if test "$with_storage_gluster" = "check"; then
  with_storage_gluster=$with_glusterfs
fi
if test "$with_storage_gluster" = "yes"; then
  if test "$with_glusterfs" = no; then
    AC_MSG_ERROR([Need glusterfs (libgfapi) for gluster storage driver])
  fi
  AC_DEFINE_UNQUOTED([WITH_STORAGE_GLUSTER], [1],
    [whether Gluster backend for storage driver is enabled])
fi
AM_CONDITIONAL([WITH_STORAGE_GLUSTER], [test "$with_storage_gluster" = "yes"])

R
Roman Bogorodskiy 已提交
654 655
if test "$with_storage_zfs" = "yes" ||
   test "$with_storage_zfs" = "check"; then
656 657
  AC_PATH_PROG([ZFS], [zfs], [], [$LIBVIRT_SBIN_PATH])
  AC_PATH_PROG([ZPOOL], [zpool], [], [$LIBVIRT_SBIN_PATH])
R
Roman Bogorodskiy 已提交
658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682

  if test "$with_storage_zfs" = "yes"; then
    if test -z "$ZFS" || test -z "$ZPOOL"; then
      AC_MSG_ERROR([We need zfs and zpool for ZFS storage driver])
    fi
  else
    if test -z "$ZFS" || test -z "$ZPOOL"; then
      with_storage_zfs=no
    fi

    if test "$with_storage_zfs" = "check"; then
      with_storage_zfs=yes
    fi
  fi

  if test "$with_storage_zfs" = "yes"; then
    AC_DEFINE_UNQUOTED([WITH_STORAGE_ZFS], 1,
      [whether ZFS backend for storage driver is enabled])
    AC_DEFINE_UNQUOTED([ZFS], ["$ZFS"], [Location of zfs program])
    AC_DEFINE_UNQUOTED([ZPOOL], ["$ZPOOL"], [Location of zpool program])
  fi
fi
AM_CONDITIONAL([WITH_STORAGE_ZFS],
  [test "$with_storage_zfs" = "yes"])

683 684
if test "$with_storage_fs" = "yes" ||
   test "$with_storage_gluster" = "yes"; then
685
  AC_PATH_PROG([GLUSTER_CLI], [gluster], [], [$LIBVIRT_SBIN_PATH])
686 687 688 689
  if test "x$GLUSTER_CLI" != "x"; then
      AC_DEFINE_UNQUOTED([GLUSTER_CLI], ["$GLUSTER_CLI"],
        [Location or name of the gluster command line tool])
  fi
690
fi
691

692
LIBVIRT_STORAGE_CHECK_DISK
693

694 695 696 697 698 699 700 701 702 703 704 705 706
with_storage=no
for backend in dir fs lvm iscsi scsi mpath rbd disk; do
    if eval test \$with_storage_$backend = yes; then
        with_storage=yes
        break
    fi
done
if test $with_storage = yes; then
    AC_DEFINE([WITH_STORAGE], [1],
      [Define to 1 if at least one storage backend is in use])
fi
AM_CONDITIONAL([WITH_STORAGE], [test "$with_storage" = "yes"])

707 708 709 710 711 712 713
dnl
dnl check for kernel headers required by btrfs ioctl
dnl
if test "$with_linux" = "yes"; then
    AC_CHECK_HEADERS([linux/btrfs.h])
fi

D
Daniel P. Berrange 已提交
714
dnl Allow perl/python overrides
715
AC_PATH_PROGS([PYTHON], [python2 python])
716
AC_PATH_PROG([PERL], [perl])
717 718 719
if test -z "$PERL"; then
         AC_MSG_ERROR([Failed to find perl.])
fi
720

721 722 723 724 725
LIBVIRT_ARG_WITH_ALT([TEST_SUITE], [build test suite by default], [check])
case "$with_test_suite" in
    yes|no|check) ;;
    *) AC_MSG_ERROR([bad value ${withval} for tests option]) ;;
esac
726 727

AC_MSG_CHECKING([Whether to build test suite by default])
728
if test "$with_test_suite" = "check" ; then
729
  if test -d $srcdir/.git ; then
730
    with_test_suite=yes
731
  else
732
    with_test_suite=no
733 734
  fi
fi
735 736
AC_MSG_RESULT([$with_test_suite])
AM_CONDITIONAL([WITH_TESTS], [test "$with_test_suite" = "yes"])
737

738 739 740 741 742 743 744 745 746 747 748 749
LIBVIRT_ARG_ENABLE([EXPENSIVE_TESTS],
                   [set the default for enabling expensive tests ]
                     [(gnulib and long timeouts), use VIR_TEST_EXPENSIVE to ]
                     [override during make],
                   [check])
case "$enable_expensive_tests" in
  0|no) VIR_TEST_EXPENSIVE_DEFAULT=0 ;;
  1|yes) VIR_TEST_EXPENSIVE_DEFAULT=1 ;;
  check) ;;
  *) AC_MSG_ERROR([bad value ${enable_expensive_tests} for enable-expensive-tests option]) ;;
esac
if test "$enable_expensive_tests" = check; then
750 751 752 753 754 755 756 757 758
  if test -d $srcdir/.git ; then
    VIR_TEST_EXPENSIVE_DEFAULT=0
  else
    VIR_TEST_EXPENSIVE_DEFAULT=1
  fi
fi
AC_SUBST([VIR_TEST_EXPENSIVE_DEFAULT])
AM_CONDITIONAL([WITH_EXPENSIVE_TESTS], [test $VIR_TEST_EXPENSIVE_DEFAULT = 1])

759 760 761 762 763 764 765
LIBVIRT_ARG_ENABLE([TEST_COVERAGE], [turn on code coverage instrumentation], [no])
case "$enable_test_coverage" in
  yes|no) ;;
  *) AC_MSG_ERROR([bad value ${enable_test_coverga} for test-coverage option]) ;;
esac

if test "$enable_test_coverage" = yes; then
766 767 768 769 770 771 772 773
  save_WARN_CFLAGS=$WARN_CFLAGS
  WARN_CFLAGS=
  gl_WARN_ADD([-fprofile-arcs])
  gl_WARN_ADD([-ftest-coverage])
  COVERAGE_FLAGS=$WARN_CFLAGS
  AC_SUBST([COVERAGE_CFLAGS], [$COVERAGE_FLAGS])
  AC_SUBST([COVERAGE_LDFLAGS], [$COVERAGE_FLAGS])
  WARN_CFLAGS=$save_WARN_CFLAGS
774 775
fi

776 777 778 779 780
LIBVIRT_ARG_ENABLE([TEST_OOM], [memory allocation failure checking], [no])
case "$enable_test_oom" in
  yes|no) ;;
  *) AC_MSG_ERROR([bad value ${enable_test_oom} for test-oom option]) ;;
esac
D
Daniel P. Berrange 已提交
781

782
if test "$enable_test_oom" = yes; then
D
Daniel P. Berrange 已提交
783 784 785 786 787 788 789 790 791
  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

792 793 794 795 796
LIBVIRT_ARG_ENABLE([TEST_LOCKING], [thread locking tests using CIL], [no])
case "$enable_test_locking" in
  yes|no) ;;
  *) AC_MSG_ERROR([bad value ${enable_test_locking} for test-locking option]) ;;
esac
797

798
if test "$enable_test_locking" = "yes"; then
799
  LOCK_CHECKING_CFLAGS="-save-temps"
800 801
  AC_SUBST([LOCK_CHECKING_CFLAGS])
fi
802
AM_CONDITIONAL([WITH_CIL],[test "$enable_test_locking" = "yes"])
803

E
Eric Blake 已提交
804
dnl Check for gettext - don't go any newer than what RHEL 5 supports
805 806 807 808 809 810 811 812 813
dnl
dnl save and restore CPPFLAGS around gettext check as the internal iconv
dnl check might leave -I/usr/local/include in CPPFLAGS on FreeBSD resulting
dnl in the build picking up previously installed libvirt/libvirt.h instead
dnl of the correct one from the source tree.
dnl compute the difference between save_CPPFLAGS and CPPFLAGS and append it
dnl to INCLUDES in order to preserve changes made by gettext but in a place
dnl that does not break the build
save_CPPFLAGS="$CPPFLAGS"
E
Eric Blake 已提交
814
AM_GNU_GETTEXT_VERSION([0.17])
815
AM_GNU_GETTEXT([external])
816 817 818 819 820 821 822 823 824 825 826 827 828
GETTEXT_CPPFLAGS=
if test "x$save_CPPFLAGS" != "x$CPPFLAGS"; then
 set dummy $CPPFLAGS; shift
 for var
 do
   case " $var " in
     " $save_CPPFLAGS ") ;;
     *) GETTEXT_CPPFLAGS="$GETTEXT_CPPFLAGS $var" ;;
   esac
 done
fi
CPPFLAGS="$save_CPPFLAGS"
AC_SUBST([GETTEXT_CPPFLAGS])
829

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

832 833
dnl Cygwin, MinGW and MSVC checks
LIBVIRT_WIN_CHECK_COMMON
834
LIBVIRT_WIN_CHECK_CYGWIN
835
LIBVIRT_WIN_CHECK_MINGW
836
LIBVIRT_WIN_CHECK_SYMBOLS
837
LIBVIRT_WIN_CHECK_WINDRES
838 839


840 841 842
dnl Driver-Modules library support
LIBVIRT_ARG_DRIVER_MODULES
LIBVIRT_CHECK_DRIVER_MODULES
843 844


845 846 847 848 849
# 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-.}
850
AC_SUBST([LV_LIBTOOL_OBJDIR])
851

852 853

with_nodedev=no;
854
if test "$with_hal" = "yes" || test "$with_udev" = "yes";
855 856 857 858 859 860
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"])

861 862
dnl GET_VLAN_VID_CMD is required for virNetDevGetVLanID
AC_CHECK_DECLS([GET_VLAN_VID_CMD], [], [], [[#include <linux/if_vlan.h>]])
863

864 865 866
# Check for Linux vs. BSD ifreq members
AC_CHECK_MEMBERS([struct ifreq.ifr_newname,
                  struct ifreq.ifr_ifindex,
867 868
                  struct ifreq.ifr_index,
                  struct ifreq.ifr_hwaddr],
869 870 871 872
                 [], [],
                 [#include <sys/socket.h>
                  #include <net/if.h>
                 ])
873

874
# Check for BSD approach for setting MAC addr
875 876 877 878 879 880 881
AC_LINK_IFELSE([AC_LANG_PROGRAM(
     [[
        #include <sys/types.h>
        #include <sys/socket.h>
        #include <net/if_dl.h>
     ]],
     [[
R
Roman Bogorodskiy 已提交
882
        link_addr(0, 0)]])],
883 884 885
     [AC_DEFINE([HAVE_DECL_LINK_ADDR],
                [1],
                [whether link_addr is available])])
886

887 888 889 890 891 892
# Check for BSD approach for bridge management
AC_CHECK_DECLS([BRDGSFD, BRDGADD, BRDGDEL],
               [AC_DEFINE([HAVE_BSD_BRIDGE_MGMT],
                          [1],
                          [whether BSD style bridge management is available])],
               [],
893 894
               [#include <stdint.h>
                #include <net/if.h>
895 896 897 898
                #include <net/ethernet.h>
                #include <net/if_bridgevar.h>
               ])

899 900 901 902 903 904 905 906 907 908
# Check for BSD CPU affinity availability
AC_CHECK_DECLS([cpuset_getaffinity],
               [AC_DEFINE([HAVE_BSD_CPU_AFFINITY],
                          [1],
                          [whether BSD CPU affinity management is available])],
               [],
               [#include <sys/param.h>
                #include <sys/cpuset.h>
               ])

909 910 911 912 913 914 915
# Check for BSD kvm (kernel memory interface)
if test $with_freebsd = yes; then
     AC_CHECK_LIB([kvm], [kvm_getprocs], [],
                  [AC_MSG_ERROR([BSD kernel memory interface library is required to build on FreeBSD])]
                 )
fi

916 917 918 919 920 921 922 923 924 925 926
# FreeBSD 10-STABLE requires _IFI_OQDROPS to be defined for if_data.ifi_oqdrops
# field be available
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -D_IFI_OQDROPS"

AC_CHECK_MEMBERS([struct if_data.ifi_oqdrops],
		 [],
		 [CFLAGS="$old_CFLAGS"],
		 [#include <net/if.h>
		 ])

927 928 929 930 931 932 933 934 935
AC_CHECK_DECLS([clock_serv_t, host_get_clock_service, clock_get_time],
               [AC_DEFINE([HAVE_MACH_CLOCK_ROUTINES],
                          [1],
                          [whether Mach clock routines are available])],
               [],
               [#include <mach/clock.h>
                #include <mach/mach.h>
               ])

936 937 938 939 940 941 942 943 944
# Check if we need to look for ifconfig
if test "$want_ifconfig" = "yes"; then
     AC_PATH_PROG([IFCONFIG_PATH], [ifconfig])
     if test -z "$IFCONFIG_PATH"; then
         AC_MSG_ERROR([Failed to find ifconfig.])
     fi
     AC_DEFINE_UNQUOTED([IFCONFIG_PATH], "$IFCONFIG_PATH", [path to ifconfig binary])
fi

945 946
# Detect when running under the clang static analyzer's scan-build driver
# or Coverity-prevent's cov-build.  Define STATIC_ANALYSIS accordingly.
947 948 949 950 951 952 953 954
AC_CACHE_CHECK([whether this build is done by a static analysis tool],
  [lv_cv_static_analysis], [
    lv_cv_static_analysis=no
    if test -n "${CCC_ANALYZER_ANALYSIS+set}" || \
       test -n "$COVERITY_BUILD_COMMAND$COVERITY_LD_PRELOAD"; then
      lv_cv_static_analysis=yes
    fi
  ])
E
Eric Blake 已提交
955
t=0
956
test "x$lv_cv_static_analysis" = xyes && t=1
957 958 959
AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t],
  [Define to 1 when performing static analysis.])

960 961 962 963 964
# Some GNULIB base64 symbols clash with a kerberos library
AC_DEFINE_UNQUOTED([isbase64],[libvirt_gl_isbase64],[Hack to avoid symbol clash])
AC_DEFINE_UNQUOTED([base64_encode],[libvirt_gl_base64_encode],[Hack to avoid symbol clash])
AC_DEFINE_UNQUOTED([base64_encode_alloc],[libvirt_gl_base64_encode_alloc],[Hack to avoid symbol clash])

965 966
AC_CONFIG_FILES([run],
                [chmod +x,-w run])
E
Eric Blake 已提交
967
AC_CONFIG_FILES([\
968
        Makefile src/Makefile include/libvirt/Makefile docs/Makefile \
E
Eric Blake 已提交
969 970
        gnulib/lib/Makefile \
        gnulib/tests/Makefile \
971 972 973
        libvirt.pc \
        libvirt-qemu.pc \
        libvirt-lxc.pc \
M
Martin Kletzander 已提交
974
        libvirt-admin.pc \
975 976 977
        src/libvirt.pc \
        src/libvirt-qemu.pc \
        src/libvirt-lxc.pc \
978
        libvirt.spec mingw-libvirt.spec \
E
Eric Blake 已提交
979
        po/Makefile.in \
980
        include/libvirt/libvirt-common.h \
E
Eric Blake 已提交
981
        daemon/Makefile \
982
        examples/Makefile \
E
Eric Blake 已提交
983
        tests/Makefile \
984
        tools/Makefile])
E
Eric Blake 已提交
985
AC_OUTPUT
D
Daniel P. Berrange 已提交
986 987 988 989 990 991 992

AC_MSG_NOTICE([])
AC_MSG_NOTICE([Configuration summary])
AC_MSG_NOTICE([=====================])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Drivers])
AC_MSG_NOTICE([])
993
LIBVIRT_DRIVER_RESULT_XEN
994
LIBVIRT_DRIVER_RESULT_QEMU
995
LIBVIRT_DRIVER_RESULT_UML
996
LIBVIRT_DRIVER_RESULT_OPENVZ
997
LIBVIRT_DRIVER_RESULT_VMWARE
998
LIBVIRT_DRIVER_RESULT_VBOX
999
LIBVIRT_DRIVER_RESULT_XENAPI
1000
LIBVIRT_DRIVER_RESULT_LIBXL
1001
LIBVIRT_DRIVER_RESULT_LXC
1002
LIBVIRT_DRIVER_RESULT_PHYP
1003
LIBVIRT_DRIVER_RESULT_ESX
1004
LIBVIRT_DRIVER_RESULT_HYPERV
1005
LIBVIRT_DRIVER_RESULT_VZ
R
Roman Bogorodskiy 已提交
1006
LIBVIRT_DRIVER_RESULT_BHYVE
1007
LIBVIRT_DRIVER_RESULT_TEST
1008
LIBVIRT_DRIVER_RESULT_REMOTE
1009
LIBVIRT_DRIVER_RESULT_NETWORK
1010
LIBVIRT_DRIVER_RESULT_LIBVIRTD
1011
LIBVIRT_DRIVER_RESULT_INTERFACE
D
Daniel P. Berrange 已提交
1012
AC_MSG_NOTICE([])
1013 1014
AC_MSG_NOTICE([Storage Drivers])
AC_MSG_NOTICE([])
1015
LIBVIRT_STORAGE_RESULT_DIR
1016
LIBVIRT_STORAGE_RESULT_FS
1017
LIBVIRT_STORAGE_RESULT_LVM
1018
LIBVIRT_STORAGE_RESULT_ISCSI
1019
LIBVIRT_STORAGE_RESULT_SCSI
1020
LIBVIRT_STORAGE_RESULT_MPATH
1021
LIBVIRT_STORAGE_RESULT_DISK
1022
AC_MSG_NOTICE([     RBD: $with_storage_rbd])
1023
AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog])
1024
AC_MSG_NOTICE([ Gluster: $with_storage_gluster])
R
Roman Bogorodskiy 已提交
1025
AC_MSG_NOTICE([     ZFS: $with_storage_zfs])
1026
AC_MSG_NOTICE([])
1027 1028
AC_MSG_NOTICE([Security Drivers])
AC_MSG_NOTICE([])
1029
LIBVIRT_SECDRIVER_RESULT_SELINUX
1030
LIBVIRT_SECDRIVER_RESULT_APPARMOR
1031
AC_MSG_NOTICE([])
1032 1033
AC_MSG_NOTICE([Driver Loadable Modules])
AC_MSG_NOTICE([])
1034
LIBVIRT_RESULT_DRIVER_MODULES
1035 1036 1037
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Libraries])
AC_MSG_NOTICE([])
1038
LIBVIRT_RESULT_APPARMOR
1039
LIBVIRT_RESULT_ATTR
1040
LIBVIRT_RESULT_AUDIT
1041
LIBVIRT_RESULT_AVAHI
1042
LIBVIRT_RESULT_BLKID
1043
LIBVIRT_RESULT_CAPNG
1044
LIBVIRT_RESULT_CURL
1045
LIBVIRT_RESULT_DBUS
1046
LIBVIRT_RESULT_DLOPEN
1047
LIBVIRT_RESULT_FIREWALLD
1048
LIBVIRT_RESULT_FUSE
1049
LIBVIRT_RESULT_GLUSTER
P
Pavel Hrdina 已提交
1050
LIBVIRT_RESULT_GNUTLS
1051
LIBVIRT_RESULT_HAL
1052
LIBVIRT_RESULT_LIBNL
1053
LIBVIRT_RESULT_LIBPCAP
1054
LIBVIRT_RESULT_LIBSSH
1055
LIBVIRT_RESULT_LIBXL
1056
LIBVIRT_RESULT_LIBXML
1057
LIBVIRT_RESULT_MACVTAP
1058
LIBVIRT_RESULT_NETCF
P
Pavel Hrdina 已提交
1059
LIBVIRT_RESULT_NSS
1060
LIBVIRT_RESULT_NUMACTL
1061
LIBVIRT_RESULT_OPENWSMAN
1062
LIBVIRT_RESULT_PCIACCESS
1063
LIBVIRT_RESULT_PM_UTILS
1064
LIBVIRT_RESULT_POLKIT
1065
LIBVIRT_RESULT_READLINE
1066
LIBVIRT_RESULT_SANLOCK
1067
LIBVIRT_RESULT_SASL
1068
LIBVIRT_RESULT_SELINUX
1069
LIBVIRT_RESULT_SSH2
1070
LIBVIRT_RESULT_UDEV
1071
LIBVIRT_RESULT_VIRTUALPORT
1072
LIBVIRT_RESULT_XDR
1073
LIBVIRT_RESULT_XEN
1074
LIBVIRT_RESULT_XENAPI
1075
LIBVIRT_RESULT_YAJL
1076 1077 1078 1079 1080 1081
if test "$with_storage_rbd" = "yes" ; then
AC_MSG_NOTICE([     rbd: $LIBRBD_LIBS])
else
AC_MSG_NOTICE([     rbd: no])
fi

1082 1083 1084 1085
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Windows])
AC_MSG_NOTICE([])
LIBVIRT_WIN_RESULT_COMMON
1086
LIBVIRT_WIN_RESULT_WINDRES
D
Daniel P. Berrange 已提交
1087
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
1088 1089
AC_MSG_NOTICE([Test suite])
AC_MSG_NOTICE([])
M
Martin Kletzander 已提交
1090 1091
AC_MSG_NOTICE([         Coverage: $enable_coverage])
AC_MSG_NOTICE([        Alloc OOM: $enable_oom])
D
Daniel P. Berrange 已提交
1092
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
1093 1094
AC_MSG_NOTICE([Miscellaneous])
AC_MSG_NOTICE([])
1095
LIBVIRT_RESULT_DEBUG
1096
AC_MSG_NOTICE([       Use -Werror: $enable_werror])
1097
AC_MSG_NOTICE([     Warning Flags: $WARN_CFLAGS])
1098
LIBVIRT_RESULT_DTRACE
1099
LIBVIRT_RESULT_NUMAD
1100
LIBVIRT_RESULT_XML_CATALOG
1101
LIBVIRT_RESULT_INIT_SCRIPT
1102
LIBVIRT_RESULT_CHRDEV_LOCK_FILES
1103
LIBVIRT_RESULT_DEFAULT_EDITOR
1104
LIBVIRT_RESULT_LOADER_NVRAM
1105 1106
LIBVIRT_RESULT_LOGIN_SHELL
LIBVIRT_RESULT_HOST_VALIDATE
1107
LIBVIRT_RESULT_TLS_PRIORITY
D
Daniel P. Berrange 已提交
1108
AC_MSG_NOTICE([])
1109 1110
AC_MSG_NOTICE([Developer Tools])
AC_MSG_NOTICE([])
1111
LIBVIRT_RESULT_WIRESHARK
1112
AC_MSG_NOTICE([])
1113 1114
AC_MSG_NOTICE([Privileges])
AC_MSG_NOTICE([])
1115
LIBVIRT_RESULT_QEMU_PRIVILEGES
1116
AC_MSG_NOTICE([])