build: Detect Windows build and change some definitions

Windows needs some specific setting to use network.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
This commit is contained in:
Frediano Ziglio 2018-06-20 14:23:44 +01:00
parent 0c4c3a6916
commit 0643d67557
3 changed files with 35 additions and 5 deletions

View File

@ -68,6 +68,20 @@ case $host_cpu in
SPICE_WARNING([spice-server on non-x86_64 architectures has not been extensively tested])
esac
AC_MSG_CHECKING([for native Win32])
case "$host_os" in
*mingw*|*cygwin*)
os_win32=yes
dnl AI_ADDRCONFIG and possibly some other code require at least Vista
AC_DEFINE([_WIN32_WINNT], [0x600], [Minimal Win32 version])
;;
*)
os_win32=no
;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL([OS_WIN32],[test "$os_win32" = "yes"])
dnl =========================================================================
dnl Check optional features
SPICE_CHECK_SMARTCARD
@ -154,6 +168,9 @@ AC_CHECK_LIB(rt, clock_gettime, LIBRT="-lrt")
AC_SUBST(LIBRT)
AS_VAR_APPEND([SPICE_NONPKGCONFIG_LIBS], [" -pthread $LIBM $LIBRT"])
AS_IF([test "x$os_win32" = "xyes"], [
AS_VAR_APPEND([SPICE_NONPKGCONFIG_LIBS], [" -lws2_32"])
])
SPICE_REQUIRES=""
@ -176,7 +193,8 @@ PKG_CHECK_MODULES([GOBJECT2], [gobject-2.0 >= $GLIB2_REQUIRED])
AS_VAR_APPEND([SPICE_REQUIRES], [" gobject-2.0 >= $GLIB2_REQUIRED"])
#used only by tests
PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= $GLIB2_REQUIRED])
AS_IF([test "x$os_win32" != "xyes"],
PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= $GLIB2_REQUIRED]))
PIXMAN_REQUIRED=0.17.7
PKG_CHECK_MODULES(PIXMAN, pixman-1 >= $PIXMAN_REQUIRED)

View File

@ -102,9 +102,13 @@ foreach dep : ['libjpeg', 'zlib']
spice_server_deps += dependency(dep)
endforeach
foreach dep : ['librt', 'libm']
spice_server_deps += compiler.find_library(dep)
endforeach
if host_machine.system() != 'windows'
foreach dep : ['librt', 'libm']
spice_server_deps += compiler.find_library(dep)
endforeach
else
spice_server_deps += compiler.find_library('ws2_32')
endif
#
# Non-mandatory/optional dependencies
@ -201,6 +205,11 @@ if get_option('statistics')
spice_server_config_data.set('RED_STATISTICS', '1')
endif
# Minimal Win32 version
if host_machine.system() == 'windows'
spice_server_config_data.set('_WIN32_WINNT', '0x600')
endif
configure_file(output : 'config.h',
install : false,
configuration : spice_server_config_data)

View File

@ -1,5 +1,8 @@
test_lib_include = [spice_server_include, include_directories('.')]
test_lib_deps = [spice_server_deps, dependency('gio-unix-2.0')]
test_lib_deps = [spice_server_deps]
if host_machine.system() != 'windows'
test_lib_deps += [dependency('gio-unix-2.0')]
endif
test_lib_sources = [
'basic-event-loop.c',