Patchwork configure: Print out missing library when configure fails

login
register
mail settings
Submitter Qingtang Zhou
Date March 15, 2013, 11:46 a.m.
Message ID <1363347976-18263-1-git-send-email-zhouqt@gmail.com>
Download mbox | patch
Permalink /patch/227959/
State New
Headers show

Comments

Qingtang Zhou - March 15, 2013, 11:46 a.m.
This patch let configure tool print out which library
is missing besides the qemu feature name when it fails.

CC: Blue Swirl <blauwirbel@gmail.com>
CC: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Qingtang Zhou <zhouqt@gmail.com>
---
 configure | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
Peter Maydell - March 15, 2013, 11:53 a.m.
On 15 March 2013 11:46, Qingtang Zhou <zhouqt@gmail.com> wrote:
> This patch let configure tool print out which library
> is missing besides the qemu feature name when it fails.

just fyi, this is going to clash badly with the patch I posted to
the list yesterday to abstract out error message printing better.

> @@ -2955,7 +2960,7 @@ if test "$usb_redir" != "no" ; then
>          libs_softmmu="$libs_softmmu $usb_redir_libs"
>      else
>          if test "$usb_redir" = "yes"; then
> -            feature_not_found "usb-redir"
> +            feature_not_found "usb-redir" "libusbredirparser-0.5"
>          fi
>          usb_redir="no"

This kind of thing seems like it would easily drift out of
date with library and version numbers that QEMU actually checks for.

-- PMM
Qingtang Zhou - March 15, 2013, 3:10 p.m.
On Fri, Mar 15, 2013 at 7:53 PM, Peter Maydell <peter.maydell@linaro.org>wrote:

> On 15 March 2013 11:46, Qingtang Zhou <zhouqt@gmail.com> wrote:
> > This patch let configure tool print out which library
> > is missing besides the qemu feature name when it fails.
>
> just fyi, this is going to clash badly with the patch I posted to
> the list yesterday to abstract out error message printing better.
>
oops, sorry, I just read your patches, they look
nice, so please ignore mine.

>
> > @@ -2955,7 +2960,7 @@ if test "$usb_redir" != "no" ; then
> >          libs_softmmu="$libs_softmmu $usb_redir_libs"
> >      else
> >          if test "$usb_redir" = "yes"; then
> > -            feature_not_found "usb-redir"
> > +            feature_not_found "usb-redir" "libusbredirparser-0.5"
> >          fi
> >          usb_redir="no"
>
> This kind of thing seems like it would easily drift out of
> date with library and version numbers that QEMU actually checks for.
>
It's true, maybe it's better to add a version variant
for it.

>
> -- PMM
>

Patch

diff --git a/configure b/configure
index 46a7594..ca6258d 100755
--- a/configure
+++ b/configure
@@ -1352,9 +1352,14 @@  esac
 
 feature_not_found() {
   feature=$1
+  shift
+  missing_lib=$*
 
   echo "ERROR"
   echo "ERROR: User requested feature $feature"
+  if [ "$missing_lib" != "" ]; then
+      echo "ERROR: This feature needs $missing_lib library"
+  fi
   echo "ERROR: configure was not able to find it"
   echo "ERROR"
   exit 1;
@@ -1677,7 +1682,7 @@  if test "$gtk" != "no"; then
 	gtk="yes"
     else
 	if test "$gtk" = "yes" ; then
-	    feature_not_found "gtk"
+	    feature_not_found "gtk" "$gtkpackage-$gtkversion" "$vtepackage-$vteversion"
 	fi
 	gtk="no"
     fi
@@ -2472,7 +2477,7 @@  EOF
     libs_softmmu="$glusterfs_libs $libs_softmmu"
   else
     if test "$glusterfs" = "yes" ; then
-      feature_not_found "GlusterFS backend support"
+      feature_not_found "GlusterFS backend support" "gfapi" "gfrpc" "gfxdr"
     fi
     glusterfs=no
   fi
@@ -2784,7 +2789,7 @@  if test "$docs" != "no" ; then
     docs=yes
   else
     if test "$docs" = "yes" ; then
-      feature_not_found "docs"
+      feature_not_found "docs" "makeinfo" "pod2man"
     fi
     docs=no
   fi
@@ -2905,7 +2910,7 @@  EOF
     spice_server_version=$($pkg_config --modversion spice-server)
   else
     if test "$spice" = "yes" ; then
-      feature_not_found "spice"
+      feature_not_found "spice" "spice-protocol" "spice-server"
     fi
     spice="no"
   fi
@@ -2955,7 +2960,7 @@  if test "$usb_redir" != "no" ; then
         libs_softmmu="$libs_softmmu $usb_redir_libs"
     else
         if test "$usb_redir" = "yes"; then
-            feature_not_found "usb-redir"
+            feature_not_found "usb-redir" "libusbredirparser-0.5"
         fi
         usb_redir="no"
     fi