[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 26/27] meson, configure: move ntddscsi API check to meson
From: |
Paolo Bonzini |
Subject: |
[PATCH 26/27] meson, configure: move ntddscsi API check to meson |
Date: |
Thu, 3 Feb 2022 18:33:58 +0100 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 23 -----------------------
meson.build | 18 +++++++++++++++++-
qga/commands-win32.c | 6 +++---
qga/meson.build | 2 +-
4 files changed, 21 insertions(+), 28 deletions(-)
diff --git a/configure b/configure
index f67088044f..f6b9e5a1cd 100755
--- a/configure
+++ b/configure
@@ -2289,26 +2289,6 @@ EOF
fi
fi
-##########################################
-# check if mingw environment provides a recent ntddscsi.h
-guest_agent_ntddscsi="no"
-if test "$mingw32" = "yes"; then
- cat > $TMPC << EOF
-#include <windows.h>
-#include <ntddscsi.h>
-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
-
##########################################
# capstone
@@ -2818,9 +2798,6 @@ if test "$debug_tcg" = "yes" ; then
fi
if test "$mingw32" = "yes" ; then
echo "CONFIG_WIN32=y" >> $config_host_mak
- if test "$guest_agent_ntddscsi" = "yes" ; then
- echo "CONFIG_QGA_NTDDSCSI=y" >> $config_host_mak
- fi
echo "QEMU_GA_MSI_MINGW_DLL_PATH=${QEMU_GA_MSI_MINGW_DLL_PATH}" >>
$config_host_mak
echo "QEMU_GA_MANUFACTURER=${QEMU_GA_MANUFACTURER}" >> $config_host_mak
echo "QEMU_GA_DISTRO=${QEMU_GA_DISTRO}" >> $config_host_mak
diff --git a/meson.build b/meson.build
index 999d2c8bd1..98e795d21a 100644
--- a/meson.build
+++ b/meson.build
@@ -1944,6 +1944,22 @@ if targetos == 'windows' and link_language == 'cpp'
int main(void) { return VSS_CTX_BACKUP; }''')
endif
+have_ntddscsi = false
+if targetos == 'windows'
+ have_ntddscsi = cc.compiles('''
+ #include <windows.h>
+ #include <ntddscsi.h>
+ 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;
+ }
+''')
+endif
+config_host_data.set('HAVE_NTDDSCSI', have_ntddscsi)
+
ignored = ['CONFIG_QEMU_INTERP_PREFIX', # actually per-target
'HAVE_GDB_BIN']
arrays = ['CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
@@ -3615,7 +3631,7 @@ summary_info += {'libnfs support': libnfs}
if targetos == 'windows'
if have_ga
summary_info += {'QGA VSS support': have_qga_vss}
- summary_info += {'QGA w32 disk info':
config_host.has_key('CONFIG_QGA_NTDDSCSI')}
+ summary_info += {'QGA w32 disk info': have_ntddscsi}
endif
endif
summary_info += {'seccomp support': seccomp}
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index 484cb1c6bd..4fbbad793f 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -18,7 +18,7 @@
#include <ws2tcpip.h>
#include <iptypes.h>
#include <iphlpapi.h>
-#ifdef CONFIG_QGA_NTDDSCSI
+#ifdef HAVE_NTDDSCSI
#include <winioctl.h>
#include <ntddscsi.h>
#endif
@@ -474,7 +474,7 @@ void qmp_guest_file_flush(int64_t handle, Error **errp)
}
}
-#ifdef CONFIG_QGA_NTDDSCSI
+#ifdef HAVE_NTDDSCSI
static GuestDiskBusType win2qemu[] = {
[BusTypeUnknown] = GUEST_DISK_BUS_TYPE_UNKNOWN,
@@ -1111,7 +1111,7 @@ GuestDiskInfoList *qmp_guest_get_disks(Error **errp)
return NULL;
}
-#endif /* CONFIG_QGA_NTDDSCSI */
+#endif /* HAVE_NTDDSCSI */
static GuestFilesystemInfo *build_guest_fsinfo(char *guid, Error **errp)
{
diff --git a/qga/meson.build b/qga/meson.build
index 8c177435ac..fe0bfc295f 100644
--- a/qga/meson.build
+++ b/qga/meson.build
@@ -88,7 +88,7 @@ if targetos == 'windows'
qga_libs += ['-lole32', '-loleaut32', '-lshlwapi', '-lstdc++',
'-Wl,--enable-stdcall-fixup']
subdir('vss-win32')
endif
- if 'CONFIG_QGA_NTDDSCSI' in config_host
+ if have_ntddscsi
qga_libs += ['-lsetupapi', '-lcfgmgr32']
endif
endif
--
2.34.1
- [PATCH 08/27] configure, meson: cleanup qemu-ga libraries, (continued)
- [PATCH 08/27] configure, meson: cleanup qemu-ga libraries, Paolo Bonzini, 2022/02/03
- [PATCH 11/27] meson: define qemu_cflags/qemu_ldflags, Paolo Bonzini, 2022/02/03
- [PATCH 07/27] configure, meson: move TPM check to meson, Paolo Bonzini, 2022/02/03
- [PATCH 09/27] configure, meson: move image format options to meson_options.txt, Paolo Bonzini, 2022/02/03
- [PATCH 13/27] configure, meson: move coroutine options to meson_options.txt, Paolo Bonzini, 2022/02/03
- [PATCH 10/27] configure, meson: move block layer options to meson_options.txt, Paolo Bonzini, 2022/02/03
- [PATCH 14/27] configure, meson: move smbd options to meson_options.txt, Paolo Bonzini, 2022/02/03
- [PATCH 12/27] configure, meson: move some default-disabled options to meson_options.txt, Paolo Bonzini, 2022/02/03
- [PATCH 15/27] configure, meson: move guest-agent, tools to meson, Paolo Bonzini, 2022/02/03
- [PATCH 26/27] meson, configure: move ntddscsi API check to meson,
Paolo Bonzini <=
- [PATCH 27/27] configure, meson: move CONFIG_IASL to a Meson option, Paolo Bonzini, 2022/02/03
- [PATCH 18/27] qga/vss-win32: fix midl arguments, Paolo Bonzini, 2022/02/03
- [PATCH 20/27] qga/vss-win32: use widl if available, Paolo Bonzini, 2022/02/03
- [PATCH 23/27] meson: do not make qga/vss-win32/meson.build conditional on C++ presence, Paolo Bonzini, 2022/02/03