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 > > > >