Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 340e01248478ba8b78a6d4d1809b1eff > files > 6

kvm-83-270.el5_11.src.rpm

From c1554c3e7cb96a441cbe884a02593c6e2c7ebac8 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost@redhat.com>
Date: Fri, 30 Jan 2009 16:22:30 -0200
Subject: [PATCH 01/54] qemu: configure: check for libgcrypt

As some of the current code isn't ready to compile without the crypto
support, make configure abort if libgcrypt is not available.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 qemu/Makefile        |    6 ++++++
 qemu/Makefile.target |    5 +++++
 qemu/configure       |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/qemu/Makefile b/qemu/Makefile
index 4212cb5..a83717b 100644
--- a/qemu/Makefile
+++ b/qemu/Makefile
@@ -159,6 +159,12 @@ tcp_subr.o tcp_timer.o udp.o bootp.o debug.o tftp.o
 OBJS+=$(addprefix slirp/, $(SLIRP_OBJS))
 endif
 
+ifdef CONFIG_GCRYPT
+CFLAGS += $(CONFIG_GCRYPT_CFLAGS)
+LIBS += $(CONFIG_GCRYPT_LIBS)
+endif
+
+
 LIBS+=$(VDE_LIBS)
 
 cocoa.o: cocoa.m
diff --git a/qemu/Makefile.target b/qemu/Makefile.target
index 2b1aa37..5cf1dda 100644
--- a/qemu/Makefile.target
+++ b/qemu/Makefile.target
@@ -669,6 +669,11 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
 LIBS += $(CONFIG_VNC_TLS_LIBS)
 endif
 
+ifdef CONFIG_GCRYPT
+CPPFLAGS += $(CONFIG_GCRYPT_CFLAGS)
+LIBS += $(CONFIG_GCRYPT_LIBS)
+endif
+
 ifdef CONFIG_BLUEZ
 LIBS += $(CONFIG_BLUEZ_LIBS)
 endif
diff --git a/qemu/configure b/qemu/configure
index e2c83fd..f405b86 100755
--- a/qemu/configure
+++ b/qemu/configure
@@ -155,6 +155,7 @@ fmod_lib=""
 fmod_inc=""
 oss_lib=""
 vnc_tls="yes"
+libgcrypt="yes"
 bsd="no"
 linux="no"
 solaris="no"
@@ -384,6 +385,8 @@ for opt do
   ;;
   --disable-vnc-tls) vnc_tls="no"
   ;;
+  --disable-gcrypt) libgcrypt="no"
+  ;;
   --disable-slirp) slirp="no"
   ;;
   --disable-vde) vde="no"
@@ -543,6 +546,7 @@ echo "                           Available cards: $audio_possible_cards"
 echo "  --enable-mixemu          enable mixer emulation"
 echo "  --disable-brlapi         disable BrlAPI"
 echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
+echo "  --disable-gcrypt         disable libgcrypt usage"
 echo "  --disable-curses         disable curses output"
 echo "  --disable-bluez          disable bluez stack connectivity"
 echo "  --disable-kvm            disable KVM acceleration support"
@@ -863,6 +867,37 @@ EOF
 fi
 
 ##########################################
+# libgcrypt detection
+if test "$libgcrypt" = "yes" ; then
+cat > $TMPC <<EOF
+#include <gcrypt.h>
+int main(void) {
+  gcry_cipher_hd_t ci;
+  gcry_error_t e = gcry_cipher_open(&ci, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0);
+  return 0;
+}
+EOF
+    libgcrypt_cflags=`libgcrypt-config --cflags 2> /dev/null`
+    libgcrypt_libs=`libgcrypt-config --libs 2> /dev/null`
+    if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $libgcrypt_cflags $TMPC \
+           $libgcrypt_libs > /dev/null 2> /dev/null ; then
+	:
+    else
+	libgcrypt="no"
+    fi
+fi
+
+
+if [ "$libgcrypt" != "yes" ];then
+    echo
+    echo "qemu currently requires libgcrypt to compile"
+    echo "Make sure you have libgcrypt headers and libraries available"
+    echo
+    exit 1
+fi
+
+
+##########################################
 # vde libraries probe
 if test "$vde" = "yes" ; then
   cat > $TMPC << EOF
@@ -1180,6 +1215,11 @@ if test "$vnc_tls" = "yes" ; then
     echo "    TLS CFLAGS    $vnc_tls_cflags"
     echo "    TLS LIBS      $vnc_tls_libs"
 fi
+echo "libgcrypt support $libgcrypt"
+if test "$libgcrypt" = "yes" ; then
+    echo "   gcrypt CFLAGS  $libgcrypt_cflags"
+    echo "   gcrypt LIBS    $libgcrypt_libs"
+fi
 if test -n "$sparc_cpu"; then
     echo "Target Sparc Arch $sparc_cpu"
 fi
@@ -1424,6 +1464,12 @@ if test "$vnc_tls" = "yes" ; then
   echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
   echo "#define CONFIG_VNC_TLS 1" >> $config_h
 fi
+if test "$libgcrypt" = "yes" ; then
+  echo "CONFIG_GCRYPT=yes" >> $config_mak
+  echo "CONFIG_GCRYPT_CFLAGS=$libgcrypt_cflags" >> $config_mak
+  echo "CONFIG_GCRYPT_LIBS=$libgcrypt_libs" >> $config_mak
+  echo "#define CONFIG_GCRYPT 1" >> $config_h
+fi
 qemu_version=`head $source_path/VERSION`
 echo "VERSION=$qemu_version" >>$config_mak
 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
-- 
1.6.1