Running ./autobuild.sh complained during the mingw cross-compile: CC libvirportallocatormock_la-virportallocatortest.lo ../../tests/virportallocatortest.c:32:20: fatal error: dlfcn.h: No such file or directory # include <dlfcn.h> ^ compilation terminated. With that fixed, the next failure was: CCLD qemuxml2argvmock.la libtool: link: libtool library `qemuxml2argvmock.la' must begin with `lib' libtool: link: Try `libtool --help --mode=link' for more information. While we don't need to limit all LD_PRELOAD tests to just Linux, we do need to limit them to platforms that actually support loading; we also need to avoid building qemu tests when qemu is not enabled. * tests/virportallocatortest.c: Make conditional on <dlfcn.h>. * tests/Makefile.am (test_libraries): Only build qemu mock library when building qemu tests. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> --- tests/Makefile.am | 7 ++++--- tests/virportallocatortest.c | 45 +++++++++++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 91eeeac..c374f14 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2013 Red Hat, Inc. +## Copyright (C) 2005-2014 Red Hat, Inc. ## ## This library is free software; you can redistribute it and/or ## modify it under the terms of the GNU Lesser General Public @@ -333,10 +333,11 @@ test_libraries = libshunload.la \ virnetserverclientmock.la \ vircgroupmock.la \ virpcimock.la \ - qemuxml2argvmock.la \ $(NULL) if WITH_QEMU -test_libraries += libqemumonitortestutils.la +test_libraries += libqemumonitortestutils.la \ + qemuxml2argvmock.la \ + $(NULL) endif WITH_QEMU if WITH_DBUS diff --git a/tests/virportallocatortest.c b/tests/virportallocatortest.c index 7fe18df..309aea7 100644 --- a/tests/virportallocatortest.c +++ b/tests/virportallocatortest.c @@ -21,15 +21,18 @@ #include <config.h> #include <stdlib.h> #include "virfile.h" +#include "testutils.h" -#ifdef MOCK_HELPER -# include "internal.h" -# include <sys/socket.h> -# include <errno.h> -# include <arpa/inet.h> -# include <netinet/in.h> -# include <stdio.h> -# include <dlfcn.h> +#if HAVE_DLFCN_H + +# ifdef MOCK_HELPER +# include "internal.h" +# include <sys/socket.h> +# include <errno.h> +# include <arpa/inet.h> +# include <netinet/in.h> +# include <stdio.h> +# include <dlfcn.h> static bool host_has_ipv6 = false; static int (*realsocket)(int domain, int type, int protocol); @@ -102,17 +105,16 @@ int bind(int sockfd ATTRIBUTE_UNUSED, return 0; } -#else +# else -# include "testutils.h" -# include "virutil.h" -# include "virerror.h" -# include "viralloc.h" -# include "virlog.h" -# include "virportallocator.h" -# include "virstring.h" +# include "virutil.h" +# include "virerror.h" +# include "viralloc.h" +# include "virlog.h" +# include "virportallocator.h" +# include "virstring.h" -# define VIR_FROM_THIS VIR_FROM_RPC +# define VIR_FROM_THIS VIR_FROM_RPC static int testAllocAll(const void *args ATTRIBUTE_UNUSED) @@ -261,4 +263,13 @@ mymain(void) } VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/libvirportallocatormock.so") +# endif + +#else /* ! HAVE_DLFCN_H */ +int +main(void) +{ + return EXIT_AM_SKIP; +} #endif + -- 1.8.5.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list