From 50cbebb9a339f43cda2005785010361497151882 Mon Sep 17 00:00:00 2001 From: Michael Roth Date: Tue, 7 Jul 2015 18:10:09 -0500 Subject: configure: add configure check for ntdddisk.h This header file provides w32 ioctl definitions for working with disk devices. Older versions of mingw do not expose this in a useable way, so add a configure check and report it via CONFIG_QGA_NTDDSCSI. Subsequent patches will use this macro to stub out functionality that relies on this in cases where it's not available. Signed-off-by: Michael Roth --- configure | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'configure') diff --git a/configure b/configure index 3bb5e55..62fa05d 100755 --- a/configure +++ b/configure @@ -315,6 +315,7 @@ snappy="" bzip2="" guest_agent="" guest_agent_with_vss="no" +guest_agent_ntddscsi="no" guest_agent_msi="" vss_win32_sdk="" win_sdk="no" @@ -3820,6 +3821,25 @@ if test "$mingw32" = "yes" -a "$guest_agent" != "no" -a "$guest_agent_with_vss" fi ########################################## +# check if mingw environment provides a recent ntddscsi.h +if test "$mingw32" = "yes" -a "$guest_agent" != "no"; then + cat > $TMPC << EOF +#include +#include +int main(void) { +#if !defined(IOCTL_SCSI_GET_ADDRESS) +#error Missing required ioctl definitions +#endif + SCSI_ADDRESS addr = { .Lun = 0, .TargetId = 0, .PathId = 0 }; + return addr.Lun; +} +EOF + if compile_prog "" "" ; then + guest_agent_ntddscsi=yes + fi +fi + +########################################## # Guest agent Window MSI package if test "$guest_agent" != yes; then @@ -4489,6 +4509,7 @@ echo "libiscsi support $libiscsi" echo "libnfs support $libnfs" echo "build guest agent $guest_agent" echo "QGA VSS support $guest_agent_with_vss" +echo "QGA w32 disk info $guest_agent_ntddscsi" echo "seccomp support $seccomp" echo "coroutine backend $coroutine" echo "coroutine pool $coroutine_pool" @@ -4566,6 +4587,9 @@ if test "$mingw32" = "yes" ; then echo "CONFIG_QGA_VSS=y" >> $config_host_mak echo "WIN_SDK=\"$win_sdk\"" >> $config_host_mak fi + if test "$guest_agent_ntddscsi" = "yes" ; then + echo "CONFIG_QGA_NTDDDISK=y" >> $config_host_mak + fi if test "$guest_agent_msi" != "no"; then echo "QEMU_GA_MSI_ENABLED=yes" >> $config_host_mak echo "QEMU_GA_MSI_MINGW_DLL_PATH=${QEMU_GA_MSI_MINGW_DLL_PATH}" >> $config_host_mak -- cgit v1.1