[PATCH v2] docs/about: Update the support statement for Windows

Thomas Huth posted 1 patch 1 year, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220512073929.988220-1-thuth@redhat.com
There is a newer version of this series
docs/about/build-platforms.rst | 14 +++++++++-----
include/qemu/osdep.h           |  2 +-
2 files changed, 10 insertions(+), 6 deletions(-)
[PATCH v2] docs/about: Update the support statement for Windows
Posted by Thomas Huth 1 year, 11 months ago
Our support statement for Windows currently talks about "Vista / Server
2008" - which is related to the API of Windows, and this is not easy
to understand for the non-technical users. Additionally, glib sets the
_WIN32_WINNT macro to 0x0601 already, which indicates the Windows 7 API,
so QEMU effectively depends on the Windows 7 API, too.

Thus let's bump the _WIN32_WINNT setting in QEMU to the same level as
glib uses and adjust our support statement in the documentation to
something similar that we're using for Linux and the *BSD systems
(i.e. only the two most recent versions), which should hopefully be
easier to understand for the users now.

And since we're nowadays also compile-testing QEMU with MSYS2 on Windows
itself, I think we could mention this build environment here, too.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/880
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2: Rephrase and update the _WIN32_WINNT macro, too

 docs/about/build-platforms.rst | 14 +++++++++-----
 include/qemu/osdep.h           |  2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index e9163ba556..1958edb430 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -86,11 +86,15 @@ similar versions.
 Windows
 -------
 
-The project supports building with current versions of the MinGW toolchain,
-hosted on Linux (Debian/Fedora).
-
-The version of the Windows API that's currently targeted is Vista / Server
-2008.
+The project aims to support the two most recent versions of Windows that are
+still supported by the vendor. The minimum Windows API that is currently
+targeted is "Windows 7", so theoretically the QEMU binaries can still be run
+on older versions of Windows, too. However, such old versions of Windows are
+not tested anymore, so it is recommended to use one of the latest versions of
+Windows instead.
+
+The project supports building QEMU with current versions of the MinGW
+toolchain, either hosted on Linux (Debian/Fedora) or via MSYS2 on Windows.
 
 .. _Homebrew: https://brew.sh/
 .. _MacPorts: https://www.macports.org/
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 1c1e7eca98..e2f88597b6 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -75,7 +75,7 @@ QEMU_EXTERN_C int daemon(int, int);
 #ifdef _WIN32
 /* as defined in sdkddkver.h */
 #ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0600 /* Vista */
+#define _WIN32_WINNT 0x0601 /* Windows 7 API */
 #endif
 /* reduces the number of implicitly included headers */
 #ifndef WIN32_LEAN_AND_MEAN
-- 
2.27.0
Re: [PATCH v2] docs/about: Update the support statement for Windows
Posted by Daniel P. Berrangé 1 year, 11 months ago
On Thu, May 12, 2022 at 09:39:29AM +0200, Thomas Huth wrote:
> Our support statement for Windows currently talks about "Vista / Server
> 2008" - which is related to the API of Windows, and this is not easy
> to understand for the non-technical users. Additionally, glib sets the
> _WIN32_WINNT macro to 0x0601 already, which indicates the Windows 7 API,
> so QEMU effectively depends on the Windows 7 API, too.
> 
> Thus let's bump the _WIN32_WINNT setting in QEMU to the same level as
> glib uses and adjust our support statement in the documentation to
> something similar that we're using for Linux and the *BSD systems
> (i.e. only the two most recent versions), which should hopefully be
> easier to understand for the users now.
> 
> And since we're nowadays also compile-testing QEMU with MSYS2 on Windows
> itself, I think we could mention this build environment here, too.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/880
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2: Rephrase and update the _WIN32_WINNT macro, too
> 
>  docs/about/build-platforms.rst | 14 +++++++++-----
>  include/qemu/osdep.h           |  2 +-
>  2 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
> index e9163ba556..1958edb430 100644
> --- a/docs/about/build-platforms.rst
> +++ b/docs/about/build-platforms.rst
> @@ -86,11 +86,15 @@ similar versions.
>  Windows
>  -------
>  
> -The project supports building with current versions of the MinGW toolchain,
> -hosted on Linux (Debian/Fedora).
> -
> -The version of the Windows API that's currently targeted is Vista / Server
> -2008.
> +The project aims to support the two most recent versions of Windows that are
> +still supported by the vendor. The minimum Windows API that is currently
> +targeted is "Windows 7", so theoretically the QEMU binaries can still be run
> +on older versions of Windows, too. However, such old versions of Windows are
> +not tested anymore, so it is recommended to use one of the latest versions of
> +Windows instead.
> +
> +The project supports building QEMU with current versions of the MinGW
> +toolchain, either hosted on Linux (Debian/Fedora) or via MSYS2 on Windows.
>  
>  .. _Homebrew: https://brew.sh/
>  .. _MacPorts: https://www.macports.org/
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index 1c1e7eca98..e2f88597b6 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -75,7 +75,7 @@ QEMU_EXTERN_C int daemon(int, int);
>  #ifdef _WIN32
>  /* as defined in sdkddkver.h */
>  #ifndef _WIN32_WINNT
> -#define _WIN32_WINNT 0x0600 /* Vista */
> +#define _WIN32_WINNT 0x0601 /* Windows 7 API */
>  #endif
>  /* reduces the number of implicitly included headers */
>  #ifndef WIN32_LEAN_AND_MEAN

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

but how about also adding a comment before 'glib_req_ver' in
configure reminding us to bump _WIN32_WINNT, and adding a
comment here reminding us to set this to match the _WIN32_WINNT
in our min glib ?


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH v2] docs/about: Update the support statement for Windows
Posted by Thomas Huth 1 year, 11 months ago
On 12/05/2022 10.37, Daniel P. Berrangé wrote:
> On Thu, May 12, 2022 at 09:39:29AM +0200, Thomas Huth wrote:
>> Our support statement for Windows currently talks about "Vista / Server
>> 2008" - which is related to the API of Windows, and this is not easy
>> to understand for the non-technical users. Additionally, glib sets the
>> _WIN32_WINNT macro to 0x0601 already, which indicates the Windows 7 API,
>> so QEMU effectively depends on the Windows 7 API, too.
>>
>> Thus let's bump the _WIN32_WINNT setting in QEMU to the same level as
>> glib uses and adjust our support statement in the documentation to
>> something similar that we're using for Linux and the *BSD systems
>> (i.e. only the two most recent versions), which should hopefully be
>> easier to understand for the users now.
>>
>> And since we're nowadays also compile-testing QEMU with MSYS2 on Windows
>> itself, I think we could mention this build environment here, too.
>>
>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/880
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   v2: Rephrase and update the _WIN32_WINNT macro, too
>>
>>   docs/about/build-platforms.rst | 14 +++++++++-----
>>   include/qemu/osdep.h           |  2 +-
>>   2 files changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
>> index e9163ba556..1958edb430 100644
>> --- a/docs/about/build-platforms.rst
>> +++ b/docs/about/build-platforms.rst
>> @@ -86,11 +86,15 @@ similar versions.
>>   Windows
>>   -------
>>   
>> -The project supports building with current versions of the MinGW toolchain,
>> -hosted on Linux (Debian/Fedora).
>> -
>> -The version of the Windows API that's currently targeted is Vista / Server
>> -2008.
>> +The project aims to support the two most recent versions of Windows that are
>> +still supported by the vendor. The minimum Windows API that is currently
>> +targeted is "Windows 7", so theoretically the QEMU binaries can still be run
>> +on older versions of Windows, too. However, such old versions of Windows are
>> +not tested anymore, so it is recommended to use one of the latest versions of
>> +Windows instead.
>> +
>> +The project supports building QEMU with current versions of the MinGW
>> +toolchain, either hosted on Linux (Debian/Fedora) or via MSYS2 on Windows.
>>   
>>   .. _Homebrew: https://brew.sh/
>>   .. _MacPorts: https://www.macports.org/
>> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
>> index 1c1e7eca98..e2f88597b6 100644
>> --- a/include/qemu/osdep.h
>> +++ b/include/qemu/osdep.h
>> @@ -75,7 +75,7 @@ QEMU_EXTERN_C int daemon(int, int);
>>   #ifdef _WIN32
>>   /* as defined in sdkddkver.h */
>>   #ifndef _WIN32_WINNT
>> -#define _WIN32_WINNT 0x0600 /* Vista */
>> +#define _WIN32_WINNT 0x0601 /* Windows 7 API */
>>   #endif
>>   /* reduces the number of implicitly included headers */
>>   #ifndef WIN32_LEAN_AND_MEAN
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> 
> but how about also adding a comment before 'glib_req_ver' in
> configure reminding us to bump _WIN32_WINNT and adding a
> comment here reminding us to set this to match the _WIN32_WINNT
> in our min glib ?

Can do. Will send a v3.

  Thomas


Re: [PATCH v2] docs/about: Update the support statement for Windows
Posted by Stefan Weil via 1 year, 11 months ago
Am 12.05.22 um 16:30 schrieb Thomas Huth:

> On 12/05/2022 10.37, Daniel P. Berrangé wrote:
>> On Thu, May 12, 2022 at 09:39:29AM +0200, Thomas Huth wrote:
>>> Our support statement for Windows currently talks about "Vista / Server
>>> 2008" - which is related to the API of Windows, and this is not easy
>>> to understand for the non-technical users. Additionally, glib sets the
>>> _WIN32_WINNT macro to 0x0601 already, which indicates the Windows 7 
>>> API,
>>> so QEMU effectively depends on the Windows 7 API, too.
>>>
>>> Thus let's bump the _WIN32_WINNT setting in QEMU to the same level as
>>> glib uses and adjust our support statement in the documentation to
>>> something similar that we're using for Linux and the *BSD systems
>>> (i.e. only the two most recent versions), which should hopefully be
>>> easier to understand for the users now.
>>>
>>> And since we're nowadays also compile-testing QEMU with MSYS2 on 
>>> Windows
>>> itself, I think we could mention this build environment here, too.
>>>
>>> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/880
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   v2: Rephrase and update the _WIN32_WINNT macro, too
>>>
>>>   docs/about/build-platforms.rst | 14 +++++++++-----
>>>   include/qemu/osdep.h           |  2 +-
>>>   2 files changed, 10 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/docs/about/build-platforms.rst 
>>> b/docs/about/build-platforms.rst
>>> index e9163ba556..1958edb430 100644
>>> --- a/docs/about/build-platforms.rst
>>> +++ b/docs/about/build-platforms.rst
>>> @@ -86,11 +86,15 @@ similar versions.
>>>   Windows
>>>   -------
>>>   -The project supports building with current versions of the MinGW 
>>> toolchain,
>>> -hosted on Linux (Debian/Fedora).
>>> -
>>> -The version of the Windows API that's currently targeted is Vista / 
>>> Server
>>> -2008.
>>> +The project aims to support the two most recent versions of Windows 
>>> that are
>>> +still supported by the vendor. The minimum Windows API that is 
>>> currently
>>> +targeted is "Windows 7", so theoretically the QEMU binaries can 
>>> still be run
>>> +on older versions of Windows, too. However, such old versions of 
>>> Windows are
>>> +not tested anymore, so it is recommended to use one of the latest 
>>> versions of
>>> +Windows instead.
>>> +
>>> +The project supports building QEMU with current versions of the MinGW
>>> +toolchain, either hosted on Linux (Debian/Fedora) or via MSYS2 on 
>>> Windows.
>>>     .. _Homebrew: https://brew.sh/
>>>   .. _MacPorts: https://www.macports.org/
>>> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
>>> index 1c1e7eca98..e2f88597b6 100644
>>> --- a/include/qemu/osdep.h
>>> +++ b/include/qemu/osdep.h
>>> @@ -75,7 +75,7 @@ QEMU_EXTERN_C int daemon(int, int);
>>>   #ifdef _WIN32
>>>   /* as defined in sdkddkver.h */
>>>   #ifndef _WIN32_WINNT
>>> -#define _WIN32_WINNT 0x0600 /* Vista */
>>> +#define _WIN32_WINNT 0x0601 /* Windows 7 API */
>>>   #endif
>>>   /* reduces the number of implicitly included headers */
>>>   #ifndef WIN32_LEAN_AND_MEAN
>>
>> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>>
>> but how about also adding a comment before 'glib_req_ver' in
>> configure reminding us to bump _WIN32_WINNT and adding a
>> comment here reminding us to set this to match the _WIN32_WINNT
>> in our min glib ?
>
> Can do. Will send a v3.
>
>  Thomas


Thanks. You may add my

Reviewed-by: Stefan Weil <sw@weilnetz.de>

I think it is good that we still support Windows 7 as it is indeed still 
in use for QEMU.

Stefan