[libvirt] [PATCHv3 7/7] build: make building on cygwin easier

Eric Blake eblake at redhat.com
Sat Dec 18 00:33:50 UTC 2010


* configure.ac (dlopen): Cygwin dlopen is in libc; avoid spurious
failure.
(XDR_CFLAGS): Define when needed.
* src/Makefile.am (libvirt_driver_remote_la_CFLAGS): Use it.
---

This fixed things so I could again compile on cygwin.

 configure.ac    |   33 +++++++++++++++++++++++++++------
 src/Makefile.am |    2 +-
 2 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index 4df915a..50ee862 100644
--- a/configure.ac
+++ b/configure.ac
@@ -339,6 +339,25 @@ if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then

     dnl check for cygwin's variation in xdr function names
     AC_CHECK_FUNCS([xdr_u_int64_t],[],[],[#include <rpc/xdr.h>])
+
+    dnl Cygwin requires -I/usr/include/tirpc for <rpc/rpc.h>
+    old_CFLAGS=$CFLAGS
+    AC_CACHE_CHECK([where to find <rpc/rpc.h>], [lv_cv_xdr_cflags], [
+      for CFLAGS in '' '-I/usr/include/tirpc' 'missing'; do
+        if test x"$CFLAGS" = xmissing; then
+          lv_cv_xdr_cflags=missing; break
+        fi
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <rpc/rpc.h>
+        ]])], [lv_cv_xdr_cflags=${CFLAGS:-none}; break])
+      done
+    ])
+    CFLAGS=$old_CFLAGS
+    case $lv_cv_xdr_cflags in
+      none) XDR_CFLAGS= ;;
+      missing) AC_MSG_ERROR([Unable to find <rpc/rpc.h>]) ;;
+      *) XDR_CFLAGS=$lv_cv_xdr_cflags ;;
+    esac
+    AC_SUBST([XDR_CFLAGS])
 fi


@@ -359,12 +378,9 @@ AC_DEFINE_UNQUOTED([VBOX_XPCOMC_DIR], ["$vbox_xpcomc_dir"],

 if test "x$with_vbox" = "xyes"; then
     AC_SEARCH_LIBS([dlopen], [dl],,)
-    case $ac_cv_search_dlopen in
-      no*) DLOPEN_LIBS=
-           case "$host" in
-             *-*-mingw* | *-*-msvc*) ;;
-             *) AC_MSG_ERROR([Unable to find dlopen()]) ;;
-           esac ;;
+    case $ac_cv_search_dlopen:$host_os in
+      'none required'* | *:mingw* | *:msvc*) DLOPEN_LIBS= ;;
+      no*) AC_MSG_ERROR([Unable to find dlopen()]) ;;
       *) DLOPEN_LIBS=$ac_cv_search_dlopen ;;
     esac
     AC_SUBST([DLOPEN_LIBS])
@@ -2438,6 +2454,11 @@ AC_MSG_NOTICE([   mscom: $MSCOM_LIBS])
 else
 AC_MSG_NOTICE([   mscom: no])
 fi
+if test "$with_remote" = "yes" || test "$with_libvirtd" = "yes" ; then
+AC_MSG_NOTICE([     xdr: $XDR_CFLAGS])
+else
+AC_MSG_NOTICE([     xdr: no])
+fi
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Test suite])
 AC_MSG_NOTICE([])
diff --git a/src/Makefile.am b/src/Makefile.am
index 6749786..39f537c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -486,7 +486,7 @@ libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
 endif
 libvirt_driver_remote_la_CFLAGS =				\
 		$(GNUTLS_CFLAGS)				\
-		$(SASL_CFLAGS)					\
+		$(SASL_CFLAGS) $(XDR_CFLAGS)			\
 		-I at top_srcdir@/src/conf				\
 		$(AM_CFLAGS)
 libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
-- 
1.7.3.3




More information about the libvir-list mailing list