Reviewed-by: Konstantin Kostiuk <kkost...@redhat.com> On Tue, Feb 8, 2022 at 1:15 PM Konstantin Kostiuk <kkost...@redhat.com> wrote:
> Signed-off-by: Konstantin Kostiuk <kkost...@redhat.com> > > On Thu, Feb 3, 2022 at 8:03 PM Paolo Bonzini <pbonz...@redhat.com> wrote: > >> From: Marc-André Lureau <marcandre.lur...@redhat.com> >> >> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> >> Signed-off-by: Paolo Bonzini <pbonz...@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 >> >> >> >>