[Spice-devel] [PATCH spice-server v6 01/19] build: Detect Windows build and change some definitions
Frediano Ziglio
fziglio at redhat.com
Tue Apr 30 12:24:01 UTC 2019
Windows needs some specific setting to use network.
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
configure.ac | 20 +++++++++++++++++++-
meson.build | 15 ++++++++++++---
server/tests/meson.build | 5 ++++-
3 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1ce81f91..8bcb22ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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)
diff --git a/meson.build b/meson.build
index 93fbdfff..8b8ae8bb 100644
--- a/meson.build
+++ b/meson.build
@@ -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)
diff --git a/server/tests/meson.build b/server/tests/meson.build
index b79b1108..20548213 100644
--- a/server/tests/meson.build
+++ b/server/tests/meson.build
@@ -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',
--
2.20.1
More information about the Spice-devel
mailing list