aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2009-10-01 20:10:37 +0200
committerAurelien Jarno <aurelien@aurel32.net>2009-10-04 13:24:45 +0200
commitee682d27a5f1f43e21b22dd8c55716ba48d8af0d (patch)
tree0bbe5fb5817bd874f54e4591ac7bf780e904659f
parent317b7e67dbeaf8e59c5ed45fa37a9fe0c3d1d6b0 (diff)
Check availability of uuid header / library
If available, the Universally Unique Identifier library is used by the vdi block driver. Other parts of QEMU (vl.c) could also use it. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--block/vdi.c4
-rwxr-xr-xconfigure36
2 files changed, 38 insertions, 2 deletions
diff --git a/block/vdi.c b/block/vdi.c
index f5e38dbd28..45aa81c700 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -53,7 +53,7 @@
#include "block_int.h"
#include "module.h"
-#if defined(HAVE_UUID_H)
+#if defined(CONFIG_UUID)
#include <uuid/uuid.h>
#else
/* TODO: move uuid emulation to some central place in QEMU. */
@@ -116,7 +116,7 @@ void uuid_unparse(const uuid_t uu, char *out);
/* Unallocated blocks use this index (no need to convert endianess). */
#define VDI_UNALLOCATED UINT32_MAX
-#if !defined(HAVE_UUID_H)
+#if !defined(CONFIG_UUID)
void uuid_generate(uuid_t out)
{
memset(out, 0, sizeof(out));
diff --git a/configure b/configure
index 480c81d71c..cc3cbd6227 100755
--- a/configure
+++ b/configure
@@ -187,6 +187,7 @@ kvm=""
nptl=""
sdl=""
sparse="no"
+uuid=""
vde=""
vnc_tls=""
vnc_sasl=""
@@ -452,6 +453,10 @@ for opt do
;;
--disable-slirp) slirp="no"
;;
+ --disable-uuid) uuid="no"
+ ;;
+ --enable-uuid) uuid="yes"
+ ;;
--disable-vde) vde="no"
;;
--enable-vde) vde="yes"
@@ -696,6 +701,8 @@ echo " --fmod-inc path to FMOD includes"
echo " --oss-lib path to OSS library"
echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
+echo " --disable-uuid disable uuid support"
+echo " --enable-uuid enable uuid support"
echo " --disable-vde disable support for vde network"
echo " --enable-vde enable support for vde network"
echo " --disable-linux-aio disable Linux AIO support"
@@ -1048,6 +1055,31 @@ if compile_prog "" "" ; then
fi
##########################################
+# uuid_generate() probe, used for vdi block driver
+if test "$uuid" != "no" ; then
+ uuid_libs="-luuid"
+ cat > $TMPC << EOF
+#include <uuid/uuid.h>
+int main(void)
+{
+ uuid_t my_uuid;
+ uuid_generate(my_uuid);
+ return 0;
+}
+EOF
+ if compile_prog "" "$uuid_libs" ; then
+ uuid="yes"
+ libs_softmmu="$uuid_libs $libs_softmmu"
+ libs_tools="$uuid_libs $libs_tools"
+ else
+ if test "$uuid" = "yes" ; then
+ feature_not_found "uuid"
+ fi
+ uuid=no
+ fi
+fi
+
+##########################################
# vde libraries probe
if test "$vde" != "no" ; then
vde_libs="-lvdeplug"
@@ -1752,6 +1784,7 @@ echo "KVM support $kvm"
echo "fdt support $fdt"
echo "preadv support $preadv"
echo "fdatasync $fdatasync"
+echo "uuid support $uuid"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -1862,6 +1895,9 @@ fi
if test "$fnmatch" = "yes" ; then
echo "CONFIG_FNMATCH=y" >> $config_host_mak
fi
+if test "$uuid" = "yes" ; then
+ echo "CONFIG_UUID=y" >> $config_host_mak
+fi
qemu_version=`head $source_path/VERSION`
echo "VERSION=$qemu_version" >>$config_host_mak
echo "PKGVERSION=$pkgversion" >>$config_host_mak