Thank you for raising this issue. I’d like to share my personal experience and 
perspective.

Compiling against newer APIs with a recent Visual Studio toolchain may succeed 
on older Windows, but the resulting binaries can reference APIs that are not 
present on those systems, so they may fail at runtime. I think that the 
documentation should mainly clarify whether we can actually build on older 
Windows.

In practice, I built the JDK 8 update 472 source following docs/building.html 
in jdk8u project using the minimum toolchain and os requirements. The resulting 
images ran and passed some tests on newer Windows, but certain features did not 
work properly on older systems due to missing system APIs.

Additionally, since the Boot JDK from openjdk.org itself does not support 
Windows Vista / Server 2008 (NT 6.0), this limitation should also be reflected 
in the documentation.

Given these points, I think we should reconsider whether the build environment 
described in docs/building.md is still accurate and practical.

This is just my personal opinion – I hope it is useful for the discussion.

Best Regards,
Neville

----------------------------------
Original Mail:


>Btw. in the compile flags we state "Windows 8 and above" , so maybe this 
>should be also stated in the docs ?
>See
>
>https://github.com/openjdk/jdk/blob/2f37461c25d7bdbca35af7c2dee32e866b921e7a/make/autoconf/flags-cflags.m4#L525
>
>elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
>    # _WIN32_WINNT=0x0602 means access APIs for Windows 8 and above. See
>    # 
> https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170
>    ALWAYS_DEFINES="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
>
> ( and  looking at what is used in the hotspot codebase, we have at least some 
>  Win7 / Server 2008 R2 functionality we use (os_windows.cpp) ) :
>
>GetActiveProcessorCount(ALL_PROCESSOR_GROUPS)
>GetProcessGroupAffinity
>
>https://learn.microsoft.com/de-de/windows/win32/api/winbase/nf-winbase-getactiveprocessorcount
>https://learn.microsoft.com/de-de/windows/win32/api/winbase/nf-winbase-getactiveprocessorcount
>
>
>Best regards, Matthias



>>Maybe better say , where it works, like Windows 10 and higher  ?
>>(who needs those XP / Vista stuff these days ?)
>>
>>
>>Best regards, Matthias

Reply via email to