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

Reply via email to