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

3 4 5 6
AC_INIT([libvirt], [0.4.2])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_CONFIG_HEADER([config.h])
7 8
dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability])
D
Daniel Veillard 已提交
9 10
AC_CANONICAL_HOST

11 12 13
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}'`
14 15 16
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 已提交
17

18 19 20 21 22 23
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 已提交
24

25 26
dnl Required minimum versions of all libs we depend on
LIBXML_REQUIRED="2.5.0"
27
GNUTLS_REQUIRED="1.0.25"
28
AVAHI_REQUIRED="0.6.0"
29
POLKIT_REQUIRED="0.6"
30
PARTED_REQUIRED="1.8.0"
31

32
dnl Checks for C compiler.
33 34 35
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
36

37 38 39 40 41 42 43
dnl gl_INIT uses m4_foreach_w, yet that is not defined in autoconf-2.59.
dnl In order to accommodate developers with such old tools, here's a
dnl replacement definition.
m4_ifndef([m4_foreach_w],
  [m4_define([m4_foreach_w],
    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])

44 45 46 47 48 49
gl_EARLY
gl_INIT

AM_PROG_CC_STDC
AC_C_CONST

50 51
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
52
test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
53

54 55 56
dnl Support building Win32 DLLs (must appear *before* AM_PROG_LIBTOOL)
AC_LIBTOOL_WIN32_DLL

57 58
AM_PROG_LIBTOOL

59 60
AM_PROG_CC_C_O

61
LIBVIRT_COMPILE_WARNINGS([maximum])
62

R
Richard W.M. Jones 已提交
63 64 65 66
dnl Support large files / 64 bit seek offsets.
dnl Use --disable-largefile if you don't want this.
AC_SYS_LARGEFILE

67
dnl Availability of various common functions (non-fatal if missing).
68
AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity])
69 70

dnl Availability of various common headers (non-fatal if missing).
71
AC_CHECK_HEADERS([pwd.h paths.h sys/syslimits.h sys/utsname.h sys/wait.h winsock2.h sched.h])
72

73 74 75 76 77 78
dnl Where are the XDR functions?
dnl If portablexdr is installed, prefer that.
dnl Otherwise try -lrpc (Cygwin) -lxdr (some MinGW) or none (most Unix)
AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
	AC_SEARCH_LIBS([xdrmem_create],[rpc xdr])
	])
79

80
dnl Do we have rpcgen?
81 82
AC_PATH_PROG([RPCGEN], [rpcgen], [no])
AM_CONDITIONAL([RPCGEN], [test "x$ac_cv_path_RPCGEN" != "xno"])
83
dnl Is this GLIBC's buggy rpcgen?
84
AM_CONDITIONAL([GLIBC_RPCGEN],
85 86
	       [test "x$ac_cv_path_RPCGEN" != "xno" &&
	        $ac_cv_path_RPCGEN -t </dev/null >/dev/null 2>&1])
87

R
Richard W.M. Jones 已提交
88
dnl pthread?
89 90
AC_CHECK_HEADER([pthread.h],
	[AC_CHECK_LIB([pthread],[pthread_join],[
R
Richard W.M. Jones 已提交
91 92
		AC_DEFINE([HAVE_LIBPTHREAD],[],[Define if pthread (-lpthread)])
		AC_DEFINE([HAVE_PTHREAD_H],[],[Define if <pthread.h>])
93
	])])
R
Richard W.M. Jones 已提交
94

95
dnl Miscellaneous external programs.
96 97 98 99 100
AC_PATH_PROG([RM], [rm], [/bin/rm])
AC_PATH_PROG([MV], [mv], [/bin/mv])
AC_PATH_PROG([TAR], [tar], [/bin/tar])
AC_PATH_PROG([XMLLINT], [xmllint], [/usr/bin/xmllint])
AC_PATH_PROG([XSLTPROC], [xsltproc], [/usr/bin/xsltproc])
101

R
Richard W.M. Jones 已提交
102 103
AC_PROG_MKDIR_P

104 105 106 107
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.
108
AC_PATH_PROG([DNSMASQ], [dnsmasq], [dnsmasq],
109
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])
110
AC_PATH_PROG([BRCTL], [brctl], [brctl],
111 112 113 114 115 116 117
	[/sbin:/usr/sbin:/usr/local/sbin:$PATH])

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

118
dnl Specific dir for HTML output ?
119 120
AC_ARG_WITH([html-dir], [AC_HELP_STRING([--with-html-dir=path],
            [path to base html directory, default $datadir/doc/html])],
121 122
            [HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])

123 124
AC_ARG_WITH([html-subdir], [AC_HELP_STRING([--with-html-subdir=path],
            [directory used under html-dir, default $PACKAGE-$VERSION/html])],
125 126
            [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
            [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
127
AC_SUBST([HTML_DIR])
128

129 130 131 132
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

D
Daniel P. Berrange 已提交
133
if test "$prefix" = "/usr" -a "$localstatedir" = '${prefix}/var' ; then
134 135
    localstatedir='/var'
fi
D
Daniel P. Berrange 已提交
136
if test "$prefix" = "/usr" -a "$sysconfdir" = '${prefix}/etc' ; then
137 138 139 140
    sysconfdir='/etc'
fi


141
dnl Allow to build without Xen, QEMU/KVM, test or remote driver
142
AC_ARG_WITH([xen],
D
Daniel P. Berrange 已提交
143
[  --with-xen              add XEN support (on)],[],[with_xen=yes])
144
AC_ARG_WITH([qemu],
D
Daniel P. Berrange 已提交
145
[  --with-qemu             add QEMU/KVM support (on)],[],[with_qemu=yes])
146
AC_ARG_WITH([openvz],
D
Daniel P. Berrange 已提交
147
[  --with-openvz           add OpenVZ support (off)],[],[with_openvz=no])
148
AC_ARG_WITH([lxc],
D
Daniel Veillard 已提交
149
[  --with-lxc              add Linux Container support (off)],[],[with_lxc=no])
150
AC_ARG_WITH([test],
D
Daniel P. Berrange 已提交
151
[  --with-test             add test driver support (on)],[],[with_test=yes])
152
AC_ARG_WITH([remote],
D
Daniel P. Berrange 已提交
153
[  --with-remote           add remote driver support (on)],[],[with_remote=yes])
154
AC_ARG_WITH([libvirtd],
155
[  --with-libvirtd         add libvirtd support (on)],[],[with_libvirtd=yes])
156

157 158 159
dnl
dnl specific tests to setup DV devel environments with debug etc ...
dnl
160
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/libvirt" ]] ; then
161 162 163 164
    STATIC_BINARIES="-static"
else
    STATIC_BINARIES=
fi
165
AC_SUBST([STATIC_BINARIES])
166

167
dnl --enable-debug=(yes|no)
168 169 170
AC_ARG_ENABLE([debug],
              [AC_HELP_STRING([--enable-debug=no/yes],
                             [enable debugging output])],[],[enable_debug=yes])
171
if test x"$enable_debug" = x"yes"; then
172
   AC_DEFINE([ENABLE_DEBUG], [], [whether debugging is enabled])
173 174
fi

175

176
AC_MSG_CHECKING([where to write libvirtd PID file])
177
AC_ARG_WITH([remote-pid-file], [AC_HELP_STRING([--with-remote-pid-file=[pidfile|none]], [PID file for libvirtd])])
178 179 180 181 182 183 184
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
185
AC_SUBST([REMOTE_PID_FILE])
186 187
AC_MSG_RESULT($REMOTE_PID_FILE)

188 189 190 191
dnl
dnl init script flavor
dnl
AC_MSG_CHECKING([for init script flavor])
192 193 194
AC_ARG_WITH([init-script],
            [AC_HELP_STRING([--with-init-scripts=[redhat|auto|none]],
		     [Style of init scripts to install (defaults to auto)])])
195 196 197 198 199 200 201
if test "x$with_init_scripts" = "x" -o "x$with_init_scripts" = "xauto"; then
    if test -f /etc/redhat-release ; then
        with_init_scripts=redhat
    else
        with_init_scripts=none
    fi
fi
202
AM_CONDITIONAL([LIBVIRT_INIT_SCRIPTS_RED_HAT], test x$with_init_scripts = xredhat)
203 204
AC_MSG_RESULT($with_init_scripts)

205 206 207 208
dnl
dnl ensure that Fedora's system-config-firewall knows
dnl about libvirt's iptables rules
dnl
209 210 211
AC_ARG_ENABLE([iptables-lokkit],
              [AC_HELP_STRING([--enable-iptables-lokkit=no/yes/check],
	   [enable registering libvirt's iptables rules with Fedora's lokkit])],
212 213
                             [],[enable_iptables_lokkit=check])
if test x"$enable_iptables_lokkit" != x"no"; then
214
   AC_PATH_PROG([LOKKIT_PATH],[lokkit], [], [/usr/sbin:$PATH])
215 216 217 218 219 220 221
fi

if test x"$enable_iptables_lokkit" = x"yes" -a x"$LOKKIT_PATH" = x; then
   AC_MSG_ERROR([Cannot find lokkit and --enable-iptables-lokkit specified])
fi

if test x"$LOKKIT_PATH" != x; then
222 223
   AC_DEFINE([ENABLE_IPTABLES_LOKKIT], [], [whether support for Fedora's lokkit is enabled])
   AC_DEFINE_UNQUOTED([LOKKIT_PATH], "$LOKKIT_PATH", [path to lokkit binary])
224 225
fi

226 227
AC_PATH_PROG([IPTABLES_PATH], [iptables], /sbin/iptables, [/usr/sbin:$PATH])
AC_DEFINE_UNQUOTED([IPTABLES_PATH], "$IPTABLES_PATH", [path to iptables binary])
228

229 230 231 232
dnl
dnl Specify the xen-distribution directory to be able to compile on a
dnl non-xenified host
dnl
233 234
AC_ARG_WITH([xen-distdir], [AC_HELP_STRING([--with-xen-distdir=path],
            [distribution directory of Xen, default /usr])])
235 236 237 238 239 240
if test "x$with_xen_distdir" != "x"
then
CPPFLAGS="$CPPFLAGS -I$withval/install/usr/include"
LDFLAGS="$LDFLAGS -L$withval/install/usr/lib"
fi

241 242 243
LIBVIRT_FEATURES=
WITH_XEN=0

244 245 246
if test "$with_openvz" = "yes" ; then
    LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_OPENVZ"
fi
D
Daniel Veillard 已提交
247 248 249
if test "$with_lxc" = "yes" ; then
    LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_LXC"
fi
D
Daniel P. Berrange 已提交
250
if test "$with_qemu" = "yes" ; then
251 252 253
    LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_QEMU"
fi

D
Daniel P. Berrange 已提交
254
if test "$with_test" = "yes" ; then
255 256 257
    LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_TEST"
fi

D
Daniel P. Berrange 已提交
258
if test "$with_remote" = "yes" ; then
259 260 261
    LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_REMOTE"
fi

D
Daniel P. Berrange 已提交
262
if test "$with_xen" = "yes" ; then
263 264 265 266 267 268 269
    dnl search for the Xen store library
    AC_SEARCH_LIBS(xs_read, [xenstore],
                   [WITH_XEN=1],
                   [AC_MSG_RESULT([Xen store library not found])])
    if test "$WITH_XEN" != "0" ; then
        LIBVIRT_FEATURES="$LIBVIRT_FEATURES -DWITH_XEN"
    fi
270

271
    AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[
272 273 274 275 276 277 278
	AC_MSG_ERROR([Cannot find standard Xen headers. Is xen-devel installed?])
    ],
[#include <stdio.h>
#include <stdint.h>
])

    dnl Search for the location of <xen/{linux,sys}/privcmd.h>.
279 280
    AC_CHECK_HEADERS([xen/sys/privcmd.h],,[
	AC_CHECK_HEADERS([xen/linux/privcmd.h],,[
281 282 283 284 285 286 287 288 289 290 291
	    AC_MSG_ERROR([Cannot find header file <xen/linux/privcmd.h> or <xen/sys/privcmd.h>.  Is xen-devel installed?])
	],
[#include <stdio.h>
#include <stdint.h>
#include <xen/xen.h>
])
    ],
[#include <stdio.h>
#include <stdint.h>
#include <xen/xen.h>
])
292
fi
293

294 295 296
dnl
dnl check for kernel headers required by qemud/bridge.c
dnl
297
if test "$with_qemu" = "yes" ; then
298
  AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h linux/if_tun.h],,
299 300
                   AC_MSG_ERROR([You must install kernel-headers in order to compile libvirt]))
fi
301

302 303 304
dnl Need to test if pkg-config exists
PKG_PROG_PKG_CONFIG

305 306 307 308 309 310 311
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
LIBXML_CONFIG="xml2-config"
LIBXML_CFLAGS=""
LIBXML_LIBS=""
LIBXML_FOUND="no"
312

313
AC_ARG_WITH([libxml], [  --with-libxml=[PFX]       libxml2 location])
314
if test "x$with_libxml" = "xno" ; then
315
    AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_REQUIRED)
316
    AC_MSG_ERROR([libxml2 >= $LIBXML_REQUIRED is required for libvirt])
R
Richard W.M. Jones 已提交
317
elif test "x$with_libxml" = "x" -a "x$PKG_CONFIG" != "x" ; then
318
    PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED, [LIBXML_FOUND=yes], [LIBXML_FOUND=no])
319
fi
320 321
if test "$LIBXML_FOUND" = "no" ; then
    if test "x$with_libxml" != "x" ; then
322 323
	LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
    fi
324
    AC_MSG_CHECKING(libxml2 $LIBXML_CONFIG >= $LIBXML_REQUIRED )
325
    if ! $LIBXML_CONFIG --version > /dev/null 2>&1 ; then
326
	AC_MSG_ERROR([Could not find libxml2 anywhere (see config.log for details).])
327 328
    fi
    vers=`$LIBXML_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
329
    minvers=`echo $LIBXML_REQUIRED | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
330 331 332 333
    if test "$vers" -ge "$minvers" ; then
        LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
        LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
	LIBXML_FOUND="yes"
334
        AC_MSG_RESULT(yes)
335
    else
336 337
        AC_MSG_ERROR(
          [You need at least libxml2 $LIBXML_REQUIRED for this version of libvirt])
338 339 340
    fi
fi

341 342
AC_SUBST([LIBXML_CFLAGS])
AC_SUBST([LIBXML_LIBS])
343

344 345
dnl xmlURI structure has query_raw?
old_cflags="$CFLAGS"
346
old_ldflags="$LDFLAGS"
347
CFLAGS="$CFLAGS $LIBXML_CFLAGS"
348
LDFLAGS="$LDFLAGS $LIBXML_LIBS"
349 350
AC_CHECK_MEMBER([struct _xmlURI.query_raw],
		[AC_DEFINE([HAVE_XMLURI_QUERY_RAW], [], [Have query_raw field in libxml2 xmlURI structure])],,
351 352
		[#include <libxml/uri.h>])
CFLAGS="$old_cflags"
353
LDFLAGS="$old_ldflags"
354 355

dnl GnuTLS library
356 357
GNUTLS_CFLAGS=
GNUTLS_LIBS=
358 359 360 361 362 363
GNUTLS_FOUND=no
if test -z "$PKG_CONFIG" ; then
  PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED,
     [GNUTLS_FOUND=yes], [GNUTLS_FOUND=no])
fi
if test "$GNUTLS_FOUND" = "no"; then
364
  fail=0
365
  old_libs="$LIBS"
366 367 368 369 370 371
  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])

372 373 374 375
  GNUTLS_LIBS=$LIBS
  LIBS="$old_libs"
fi

376 377
AC_SUBST([GNUTLS_CFLAGS])
AC_SUBST([GNUTLS_LIBS])
378

379 380 381
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.
382 383 384 385
old_cflags="$CFLAGS"
old_ldflags="$LDFLAGS"
CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
LDFLAGS="$LDFLAGS $GNUTLS_LIBS"
386 387
AC_CHECK_TYPE([gnutls_session],
	AC_DEFINE([GNUTLS_1_0_COMPAT],[],
388 389
		[enable GnuTLS 1.0 compatibility macros]),,
	[#include <gnutls/gnutls.h>])
390 391
CFLAGS="$old_cflags"
LDFLAGS="$old_ldflags"
392

393

394
dnl Cyrus SASL
395
AC_ARG_WITH([sasl],
396 397
  [  --with-sasl         use cyrus SASL for authentication],
  [],
398
  [with_sasl=check])
399 400 401

SASL_CFLAGS=
SASL_LIBS=
402 403
if test "x$with_sasl" != "xno"; then
  if test "x$with_sasl" != "xyes" -a "x$with_sasl" != "xcheck"; then
404 405 406
    SASL_CFLAGS="-I$with_sasl"
    SASL_LIBS="-L$with_sasl"
  fi
407
  fail=0
408 409 410 411
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  CFLAGS="$CFLAGS $SASL_CFLAGS"
  LIBS="$LIBS $SASL_LIBS"
412 413 414 415
  AC_CHECK_HEADER([sasl/sasl.h],[],[
    if test "x$with_sasl" != "xcheck" ; then
        with_sasl=no
    else
416
        fail=1
417 418
    fi])
  if test "x$with_sasl" != "xno" ; then
419
    AC_CHECK_LIB([sasl2], [sasl_client_init],[with_sasl=yes],[
420 421 422
      if test "x$with_sasl" = "xcheck" ; then
          with_sasl=no
      else
423
          fail=1
424 425
      fi])
  fi
426 427
  test $fail = 1 &&
    AC_MSG_ERROR([You must install the Cyrus SASL development package in order to compile libvirt])
428 429 430
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
  SASL_LIBS="$SASL_LIBS -lsasl2"
431
  if test "x$with_sasl" = "xyes" ; then
432
    AC_DEFINE_UNQUOTED([HAVE_SASL], 1,
433 434
      [whether Cyrus SASL is available for authentication])
  fi
435
fi
436 437 438
AM_CONDITIONAL([HAVE_SASL], [test "x$with_sasl" = "xyes"])
AC_SUBST([SASL_CFLAGS])
AC_SUBST([SASL_LIBS])
439 440


441 442 443
dnl PolicyKit library
POLKIT_CFLAGS=
POLKIT_LIBS=
444
AC_ARG_WITH([polkit],
445 446 447 448
  [  --with-polkit         use PolicyKit for UNIX socket access checks],
  [],
  [with_polkit=check])

449 450 451 452 453 454 455 456 457 458 459
if test "x$with_polkit" = "xyes" -o "x$with_polkit" = "xcheck"; then
  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
460
    AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
461
      [use PolicyKit for UNIX socket access checks])
462 463 464 465 466

    old_CFLAGS=$CFLAGS
    old_LDFLAGS=$LDFLAGS
    CFLAGS="$CFLAGS $POLKIT_CFLAGS"
    LDFLAGS="$LDFLAGS $POLKIT_LIBS"
467
    AC_CHECK_FUNCS([polkit_context_is_caller_authorized])
468 469 470
    CFLAGS="$old_CFLAGS"
    LDFLAGS="$old_LDFLAGS"

471
    AC_PATH_PROG([POLKIT_AUTH], [polkit-auth])
472 473 474
    if test "x$POLKIT_AUTH" != "x"; then
      AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program])
    fi
475
  fi
476
fi
477 478 479
AM_CONDITIONAL([HAVE_POLKIT], [test "x$with_polkit" = "xyes"])
AC_SUBST([POLKIT_CFLAGS])
AC_SUBST([POLKIT_LIBS])
480

481
dnl Avahi library
482
AC_ARG_WITH([avahi],
483 484 485 486 487 488
  [  --with-avahi         use avahi to advertise remote daemon],
  [],
  [with_avahi=check])

AVAHI_CFLAGS=
AVAHI_LIBS=
489 490 491 492 493 494 495 496 497 498 499
if test "x$with_avahi" = "xyes" -o "x$with_avahi" = "xcheck"; then
  PKG_CHECK_MODULES(AVAHI, avahi-client >= $AVAHI_REQUIRED,
    [with_avahi=yes], [
    if test "x$with_avahi" = "xcheck" ; then
       with_avahi=no
    else
       AC_MSG_ERROR(
         [You must install Avahi >= $AVAHI_REQUIRED to compile libvirt])
    fi
  ])
  if test "x$with_avahi" = "xyes" ; then
500
    AC_DEFINE_UNQUOTED([HAVE_AVAHI], 1,
501 502
      [whether Avahi is used to broadcast server presense])
  fi
503
fi
504 505 506
AM_CONDITIONAL([HAVE_AVAHI], [test "x$with_avahi" = "xyes"])
AC_SUBST([AVAHI_CFLAGS])
AC_SUBST([AVAHI_LIBS])
507

508
dnl SELinux
509
AC_ARG_WITH([selinux],
510 511 512 513 514 515 516 517 518 519 520
  [  --with-selinux         use SELinux to manage security],
  [],
  [with_selinux=check])

SELINUX_CFLAGS=
SELINUX_LIBS=
if test "$with_selinux" != "no"; then
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  if test "$with_selinux" = "check"; then
    AC_CHECK_HEADER([selinux/selinux.h],[],[with_selinux=no])
521
    AC_CHECK_LIB([selinux], [fgetfilecon],[],[with_selinux=no])
522 523 524 525
    if test "$with_selinux" != "no"; then
      with_selinux="yes"
    fi
  else
526 527 528 529 530
    fail=0
    AC_CHECK_HEADER([selinux/selinux.h],[],[fail=1])
    AC_CHECK_LIB([selinux], [fgetfilecon],[],[fail=1])
    test $fail = 1 &&
      AC_MSG_ERROR([You must install the SELinux development package in order to compile libvirt])
531 532 533 534 535 536
  fi
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
fi
if test "$with_selinux" = "yes"; then
  SELINUX_LIBS="-lselinux"
537
  AC_DEFINE_UNQUOTED([HAVE_SELINUX], 1, [whether SELinux is available for security])
538
fi
539 540 541
AM_CONDITIONAL([HAVE_SELINUX], [test "$with_selinux" != "no"])
AC_SUBST([SELINUX_CFLAGS])
AC_SUBST([SELINUX_LIBS])
542

543
dnl NUMA lib
544
AC_ARG_WITH([numactl],
545 546 547 548 549 550 551 552 553 554 555
  [  --with-numactl         use numactl for host topology info],
  [],
  [with_numactl=check])

NUMACTL_CFLAGS=
NUMACTL_LIBS=
if test "$with_qemu" = "yes" -a "$with_numactl" != "no"; then
  old_cflags="$CFLAGS"
  old_libs="$LIBS"
  if test "$with_numactl" = "check"; then
    AC_CHECK_HEADER([numa.h],[],[with_numactl=no])
556
    AC_CHECK_LIB([numa], [numa_available],[],[with_numactl=no])
557 558 559 560
    if test "$with_numactl" != "no"; then
      with_numactl="yes"
    fi
  else
561 562 563 564 565
    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])
566 567 568 569 570 571
  fi
  CFLAGS="$old_cflags"
  LIBS="$old_libs"
fi
if test "$with_numactl" = "yes"; then
  NUMACTL_LIBS="-lnuma"
572
  AC_DEFINE_UNQUOTED([HAVE_NUMACTL], 1, [whether numactl is available for topology info])
573
fi
574 575 576
AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
AC_SUBST([NUMACTL_CFLAGS])
AC_SUBST([NUMACTL_LIBS])
577

K
Karel Zak 已提交
578
dnl virsh libraries
579
AC_CHECK_HEADERS([readline/readline.h])
580 581

# Check for readline.
582
AC_CHECK_LIB([readline], [readline],
583 584 585 586 587 588 589 590 591
	[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=
592
    AC_SEARCH_LIBS([tgetent], [ncurses curses termcap termlib])
593 594 595 596 597 598
    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.
599
	AC_CHECK_LIB([readline], [rl_initialize],
600 601 602 603 604 605 606 607 608 609 610 611 612 613
		[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
614
else
615
    READLINE_CFLAGS=
616
fi
617 618
AC_SUBST([READLINE_CFLAGS])
AC_SUBST([VIRSH_LIBS])
K
Karel Zak 已提交
619

620 621
AC_SUBST([WITH_XEN])
AC_SUBST([LIBVIRT_FEATURES])
622

623 624 625 626 627

dnl
dnl Storage driver checks
dnl

628
AC_ARG_WITH([storage-fs],
629
[  --with-storage-fs           with FileSystem backend for the storage driver (on)],[],[with_storage_fs=check])
630
AC_ARG_WITH([storage-lvm],
631
[  --with-storage-lvm          with LVM backend for the storage driver (on)],[],[with_storage_lvm=check])
632
AC_ARG_WITH([storage-iscsi],
633
[  --with-storage-iscsi        with iSCSI backend for the storage driver (on)],[],[with_storage_iscsi=check])
634
AC_ARG_WITH([storage-disk],
635
[  --with-storage-disk         with GPartd Disk backend for the storage driver (on)],[],[with_storage_disk=check])
636 637

if test "$with_storage_fs" = "yes" -o "$with_storage_fs" = "check"; then
638 639
  AC_PATH_PROG([MOUNT], [mount], [], [$PATH:/sbin:/usr/sbin])
  AC_PATH_PROG([UMOUNT], [umount], [], [$PATH:/sbin:/usr/sbin])
640
  if test "$with_storage_fs" = "yes" ; then
641
    if test -z "$MOUNT" ; then AC_MSG_ERROR([We need mount for FS storage driver]) ; fi
642
    if test -z "$UMOUNT" ; then AC_MSG_ERROR([We need umount for FS storage driver]) ; fi
643 644 645 646 647 648 649 650
  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
651
    AC_DEFINE_UNQUOTED([WITH_STORAGE_FS], 1, [whether FS backend for storage driver is enabled])
652 653 654 655 656 657
    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
658
AM_CONDITIONAL([WITH_STORAGE_FS], [test "$with_storage_fs" = "yes"])
659

660
AC_PATH_PROG([QEMU_IMG], [qemu-img], [], [$PATH:/sbin:/usr/sbin:/bin:/usr/bin])
661
if test -n "$QEMU_IMG" ; then
662
  AC_DEFINE_UNQUOTED([HAVE_QEMU_IMG], 1, [whether qemu-img is available for non-raw files])
663 664 665 666
  AC_DEFINE_UNQUOTED([QEMU_IMG],["$QEMU_IMG"],
      [Location or name of the qemu-img program])
fi

667
AC_PATH_PROG([QCOW_CREATE], [qcow-create], [], [$PATH:/sbin:/usr/sbin:/bin:/usr/bin])
668
if test -n "$QCOW_CREATE" ; then
669
  AC_DEFINE_UNQUOTED([HAVE_QCOW_CREATE], 1, [whether qcow-create is available for non-raw files])
670 671 672 673 674
  AC_DEFINE_UNQUOTED([QCOW_CREATE],["$QCOW_CREATE"],
      [Location or name of the qcow-create program])
fi


675
if test "$with_storage_lvm" = "yes" -o "$with_storage_lvm" = "check"; then
676 677 678 679 680 681 682 683 684 685
  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])
  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])
686 687

  if test "$with_storage_lvm" = "yes" ; then
688 689 690 691 692 693 694 695 696 697
    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
    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
698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713
  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
    if test -z "VGCHANGE" ; then with_storage_lvm=no ; fi
    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
714
    AC_DEFINE_UNQUOTED([WITH_STORAGE_LVM], 1, [whether LVM backend for storage driver is enabled])
715 716 717 718 719 720 721 722 723 724 725 726
    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])
    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
727
AM_CONDITIONAL([WITH_STORAGE_LVM], [test "$with_storage_lvm" = "yes"])
728 729


730 731

if test "$with_storage_iscsi" = "yes" -o "$with_storage_iscsi" = "check"; then
732
  AC_PATH_PROG([ISCSIADM], [iscsiadm], [], [$PATH:/sbin:/usr/sbin])
733
  if test "$with_storage_iscsi" = "yes" ; then
734
    if test -z "$ISCSIADM" ; then AC_MSG_ERROR([We need iscsiadm for iSCSI storage driver]) ; fi
735 736 737 738 739 740 741
  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
742
    AC_DEFINE_UNQUOTED([WITH_STORAGE_ISCSI], 1, [whether iSCSI backend for storage driver is enabled])
743 744 745
    AC_DEFINE_UNQUOTED([ISCSIADM],["$ISCSIADM"],[Location of iscsiadm program])
  fi
fi
746
AM_CONDITIONAL([WITH_STORAGE_ISCSI], [test "$with_storage_iscsi" = "yes"])
747 748


749 750 751 752

LIBPARTED_CFLAGS=
LIBPARTED_LIBS=
if test "$with_storage_disk" = "yes" -o "$with_storage_disk" = "check"; then
753
  AC_PATH_PROG([PARTED], [parted], [], [$PATH:/sbin:/usr/sbin])
754 755 756 757 758 759
  if test -z "$PARTED" ; then
    with_storage_disk=no
    PARTED_FOUND=no
  else
    PARTED_FOUND=yes
  fi
760 761 762 763 764 765 766 767 768

  if test "$with_storage_disk" != "no" -a "x$PKG_CONFIG" != "x" ; then
    PKG_CHECK_MODULES(LIBPARTED, libparted >= $PARTED_REQUIRED, [], [PARTED_FOUND=no])
  fi
  if test "$PARTED_FOUND" = "no"; then
    # RHEL-5 vintage parted is missing pkg-config files
    save_LIBS="$LIBS"
    save_CFLAGS="$CFLAGS"
    PARTED_FOUND=yes
769 770 771
    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])
772 773 774 775 776 777 778
    LIBPARTED_LIBS="-luuid -lparted"
    LIBS="$save_LIBS"
    CFLAGS="$save_CFLAGS"
  fi

  if test "$PARTED_FOUND" = "no" ; then
    if test "$with_storage_disk" = "yes" ; then
779
      AC_MSG_ERROR([We need parted for disk storage driver])
780 781 782 783 784 785 786 787
    else
      with_storage_disk=no
    fi
  else
    with_storage_disk=yes
  fi

  if test "$with_storage_disk" = "yes"; then
788
    AC_DEFINE_UNQUOTED([WITH_STORAGE_DISK], 1, [whether Disk backend for storage driver is enabled])
789 790 791
    AC_DEFINE_UNQUOTED([PARTED],["$PARTED"], [Location or name of the parted program])
  fi
fi
792 793 794
AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" = "yes"])
AC_SUBST([LIBPARTED_CFLAGS])
AC_SUBST([LIBPARTED_LIBS])
795 796


797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819
dnl
dnl check for python
dnl

PYTHON_VERSION=
PYTHON_INCLUDES=
PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
if test "$with_python" != "no" ; then
    if test -x "$with_python/bin/python"
    then
        echo Found python in $with_python/bin/python
        PYTHON="$with_python/bin/python"
    else
	if test -x "$with_python"
	then
	    echo Found python in $with_python
	    PYTHON="$with_python"
	else
	    if test -x "$PYTHON"
	    then
	        echo Found python in environment PYTHON=$PYTHON
820
		with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
821
	    else
822
		AC_PATH_PROG([PYTHON], [python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5])
823 824 825 826 827 828 829 830 831 832 833 834 835 836
	    fi
	fi
    fi
    if test "$PYTHON" != ""
    then
        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
	echo Found Python version $PYTHON_VERSION
    fi
    if test "$PYTHON_VERSION" != ""
    then
	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
	then
	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
837
	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
838 839 840
	else
	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
	    then
841 842
	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
	        PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
843 844 845 846
	    else
		if test -r /usr/include/python$PYTHON_VERSION/Python.h
		then
		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
847
	            PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
848 849 850 851 852 853 854 855 856 857 858 859 860 861
		else
		    echo could not find python$PYTHON_VERSION/Python.h
		fi
	    fi
	    if test ! -d "$PYTHON_SITE_PACKAGES"
	    then
		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
	    fi
	fi
    fi
    if test "$with_python" != ""
    then
        pythondir='$(PYTHON_SITE_PACKAGES)'
    else
862
        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
863 864 865 866
    fi
else
    PYTHON=
fi
867 868 869 870 871
AM_CONDITIONAL([WITH_PYTHON], test "$PYTHON_INCLUDES" != "")
AC_SUBST([pythondir])
AC_SUBST([PYTHON_VERSION])
AC_SUBST([PYTHON_INCLUDES])
AC_SUBST([PYTHON_SITE_PACKAGES])
872

873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
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)

893
AM_CONDITIONAL([ENABLE_XEN_TESTS], [test "$RUNNING_XEN" != "no" -a "$RUNNING_XEND" != "no"])
894

895
AC_ARG_ENABLE([test-coverage],
D
Daniel P. Berrange 已提交
896
[  --enable-test-coverage  turn on code coverage instrumentation],
897 898 899 900 901
[case "${enableval}" in
   yes|no) ;;
   *)      AC_MSG_ERROR([bad value ${enableval} for test-coverage option]) ;;
 esac],
              [enableval=no])
D
Daniel P. Berrange 已提交
902
enable_coverage=$enableval
903

D
Daniel P. Berrange 已提交
904
if test "${enable_coverage}" = yes; then
905 906 907 908 909 910 911
  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 已提交
912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930
AC_ARG_ENABLE([test-oom],
[  --enable-test-oom       memory allocation failure checking],
[case "${enableval}" in
   yes|no) ;;
   *)      AC_MSG_ERROR([bad value ${enableval} for test-oom option]) ;;
 esac],
              [enableval=no])
enable_oom=$enableval

if test "${enable_oom}" = yes; then
  have_trace=yes
  AC_CHECK_HEADER([execinfo.h],[],[have_trace=no])
  AC_CHECK_FUNC([backtrace],[],[have_trace=no])
  if test "$have_trace" = "yes"; then
    AC_DEFINE([TEST_OOM_TRACE], 1, [Whether backtrace() is available])
  fi
  AC_DEFINE([TEST_OOM], 1, [Whether malloc OOM checking is enabled])
fi

931
dnl Enable building the proxy?
932

933
AC_ARG_WITH([xen-proxy],
934 935 936 937 938 939 940 941 942 943 944 945 946 947 948
[  --with-xen-proxy              add XEN setuid proxy support (on)],[],[with_xen_proxy=auto])

AC_MSG_CHECKING([if Xen setuid proxy is needed])
if test "$with_xen_proxy" = "auto"; then
  if test "$with_polkit" = "yes"; then
    with_xen_proxy="no"
  else
    with_xen_proxy="yes"
  fi
fi
if test "$with_xen" != "yes"; then
  with_xen_proxy="no"
fi
AC_MSG_RESULT([$with_xen_proxy])

949
AM_CONDITIONAL([WITH_PROXY],[test "$with_xen_proxy" = "yes"])
950
if test "$with_xen_proxy" = "yes"; then
951
  AC_DEFINE([WITH_PROXY], 1, [Whether Xen proxy is enabled])
952
fi
953

954
dnl Enable building libvirtd?
955
AM_CONDITIONAL([WITH_LIBVIRTD],[test "x$with_libvirtd" = "xyes"])
956

957
dnl Check for gettext
958 959
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
960 961 962 963
if test -d po
then
    ALL_LINGUAS=`(cd po > /dev/null && ls *.po) | sed 's+\.po$++'`
else
964
    ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@latin sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
965
fi
966

967 968 969 970 971 972
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=
973
MINGW_EXTRA_LDFLAGS=
974 975 976 977 978 979 980 981
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
    ;;
982 983 984
  *-*-mingw*)
    MINGW_EXTRA_LDFLAGS="-no-undefined"
    ;;
985
esac
986 987 988 989
AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
AC_SUBST([CYGWIN_EXTRA_LIBADD])
AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
AC_SUBST([MINGW_EXTRA_LDFLAGS])
990

991 992 993 994 995
# 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-.}
996
AC_SUBST([LV_LIBTOOL_OBJDIR])
997

998 999
# very annoying
rm -f COPYING
1000
cp COPYING.LIB COPYING
1001

1002
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
1003
          docs/examples/Makefile docs/devhelp/Makefile \
1004
	  docs/examples/python/Makefile \
1005
	  gnulib/lib/Makefile \
J
Jim Meyering 已提交
1006
	  gnulib/tests/Makefile \
1007
          libvirt.pc libvirt.spec \
1008
          po/Makefile.in \
1009
	  include/libvirt/Makefile include/libvirt/libvirt.h \
K
Karel Zak 已提交
1010
	  python/Makefile python/tests/Makefile \
1011
          qemud/Makefile \
1012
          tests/Makefile proxy/Makefile \
1013 1014
          tests/xml2sexprdata/Makefile \
          tests/sexpr2xmldata/Makefile \
1015
          tests/xmconfigdata/Makefile \
1016
          tests/xencapsdata/Makefile \
D
Daniel Veillard 已提交
1017
          tests/virshdata/Makefile tests/confdata/Makefile)
D
Daniel P. Berrange 已提交
1018 1019 1020 1021 1022 1023 1024 1025

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])
1026
AC_MSG_NOTICE([   Proxy: $with_xen_proxy])
D
Daniel P. Berrange 已提交
1027 1028
AC_MSG_NOTICE([    QEMU: $with_qemu])
AC_MSG_NOTICE([  OpenVZ: $with_openvz])
D
Daniel Veillard 已提交
1029
AC_MSG_NOTICE([     LXC: $with_lxc])
D
Daniel P. Berrange 已提交
1030 1031
AC_MSG_NOTICE([    Test: $with_test])
AC_MSG_NOTICE([  Remote: $with_remote])
1032
AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
D
Daniel P. Berrange 已提交
1033
AC_MSG_NOTICE([])
1034 1035 1036 1037 1038
AC_MSG_NOTICE([Storage Drivers])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([     Dir: yes])
AC_MSG_NOTICE([      FS: $with_storage_fs])
AC_MSG_NOTICE([   NetFS: $with_storage_fs])
1039
AC_MSG_NOTICE([     LVM: $with_storage_lvm])
1040
AC_MSG_NOTICE([   iSCSI: $with_storage_iscsi])
1041
AC_MSG_NOTICE([    Disk: $with_storage_disk])
1042
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
1043 1044 1045
AC_MSG_NOTICE([Libraries])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([  libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
1046
AC_MSG_NOTICE([  gnutls: $GNUTLS_CFLAGS $GNUTLS_LIBS])
1047 1048 1049 1050 1051
if test "$with_sasl" != "no" ; then
AC_MSG_NOTICE([    sasl: $SASL_CFLAGS $SASL_LIBS])
else
AC_MSG_NOTICE([    sasl: no])
fi
1052 1053 1054 1055 1056
if test "$with_avahi" = "yes" ; then
AC_MSG_NOTICE([   avahi: $AVAHI_CFLAGS $AVAHI_LIBS])
else
AC_MSG_NOTICE([   avahi: no])
fi
1057 1058 1059 1060 1061
if test "$with_polkit" = "yes" ; then
AC_MSG_NOTICE([  polkit: $POLKIT_CFLAGS $POLKIT_LIBS])
else
AC_MSG_NOTICE([  polkit: no])
fi
1062 1063 1064 1065 1066
if test "$with_selinux" = "yes" ; then
AC_MSG_NOTICE([  selinux: $SELINUX_CFLAGS $SELINUX_LIBS])
else
AC_MSG_NOTICE([  selinux: no])
fi
1067 1068 1069 1070 1071
if test "$with_numactl" = "yes" ; then
AC_MSG_NOTICE([  numactl: $NUMACTL_CFLAGS $NUMACTL_LIBS])
else
AC_MSG_NOTICE([  numactl: no])
fi
D
Daniel P. Berrange 已提交
1072
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
1073 1074 1075 1076 1077
AC_MSG_NOTICE([Test suite])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([  Coverage: $enable_coverage])
AC_MSG_NOTICE([  Alloc OOM: $enable_oom])
AC_MSG_NOTICE([])
D
Daniel P. Berrange 已提交
1078 1079 1080
AC_MSG_NOTICE([Miscellaneous])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([  Debug: $enable_debug])
1081
AC_MSG_NOTICE([  Warnings: $enable_compile_warnings])
1082
AC_MSG_NOTICE([  Readline: $lv_use_readline])
D
Daniel P. Berrange 已提交
1083
AC_MSG_NOTICE([])