
2010/12/18 Eric Blake <eblake@redhat.com>:
* 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
Due to the specific directory layout I use in my msys_setup this breaks my MinGW build. The problem is that I have MSYS and MinGW in different base directories and "mount" the MinGW directory into the MSYS environment. I have rpc/rpc.h in MSYS in /include (MSYS internally "symlinks" /usr/include to /include), due to the directory layout this is not in the default GCC include path. I use "CFLAGS=-I/include ./configure" to fix this. Now the new check ignores CFLAGS making my build fail. This incremental patch fixes it, by including the current CFLAGS instead of overriding them. diff --git a/configure.ac b/configure.ac index 27239f6..93532a6 100644 --- a/configure.ac +++ b/configure.ac @@ -343,12 +343,13 @@ if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then 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 + for add_CFLAGS in '' '-I/usr/include/tirpc' 'missing'; do + if test x"$add_CFLAGS" = xmissing; then lv_cv_xdr_cflags=missing; break fi + CFLAGS="$old_CFLAGS $add_CFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <rpc/rpc.h> - ]])], [lv_cv_xdr_cflags=${CFLAGS:-none}; break]) + ]])], [lv_cv_xdr_cflags=${add_CFLAGS:-none}; break]) done ]) CFLAGS=$old_CFLAGS Matthias