Compile NVDA with the Windows 10 SDK #7568
Summary of the issue:
Currently NVDA is specifically compiled with Windows SDK 7.1A which was the last windows SDK version to support XP. Newer versions of Visual Studio have contained a special re-packaged Windows SDK 7.1a for this purpose. However, this SDK may lack particular features (E.g. static analysis) or optimizations, and will not take advantage of APIs only available on newer Operating Systems.
Description of how this pull request fixes the issue:
This PR upgrades to SCons 3.0, which now detects and uses Visual Studio 2017. Our sconscripts specifically check for VS 2017 and will no longer run on anything lower.
Known issues with pull request:
Change log entry:
No user visible change.
It compiled fine on my machine, and on appveyor. It will require Visual Studio 2015 community as usual. Also In the VS 2015 community installer, check that you have The latest Windows 10 SDK and tools. Specifically: - Programming Languages: -- Visual C++ -- * Common Tools for Visual C++ 2015 - Windows and web development: -- Universal Windows App Development Tools: -- * Tools (1.4.1) and Windows 10 SDK (10.0.14393) You may also want to clean your git working directory as well. Once Scons 3.0 is released we'll move to Visual Studio 2017 as well.
I also have the following error
Hi, also, this means I can safely merge #7520 into this PR to be done by Mick, so no need for me to even submit my own branch. Thanks. From: Leonard de Ruijter [mailto:email@example.com] Sent: Monday, September 18, 2017 11:13 PM To: nvaccess/nvda <firstname.lastname@example.org> Cc: Joseph Lee <email@example.com>; Comment <firstname.lastname@example.org> Subject: Re: [nvaccess/nvda] Compile NVDA with the Windows 10 SDK (#7568) @michaelDCurran <https://github.com/michaeldcurran> : Could you please review the sconscript for nvdahelper/localWin10 There is now some obsolete stuff in there which can be removed. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#7568 (comment)> , or mute the thread <https://github.com/notifications/unsubscribe-auth/AHgLkAE0Vv2GxWZOE1hMlfSF2L5vb0bCks5sj1uBgaJpZM4PMdXL> .
…t and /I to MIDLFLAGS as this was dropping /x64 which is needed for compiling when 64 bit.
…e can compile nvdaHelperLocalWin10 using the same infrastructure as nvdaHelperRemote and nvdaHelperLocal etc, except that rather than /mt, /ZW should be used. This removes a great deal of code from the nvdaHelperLocalWin10 sconscript. # Please enter the commit message for your changes. Lines starting
* Switch to using SCons 3.0 from a git mirror we manage. * Compile NVDA with the Windows 10 SDK, replace GetVersion with versionHelper macros, and remove a pre-vista TSF check. * Instruct appveyor to use its Visual Studio 2017 image * Update readme to mention Visual Studio 2017 * iSimpleDOMNode_sconscript: don't lose existing flags when adding c_ext and /I to MIDLFLAGS as this was dropping /x64 which is needed for compiling when 64 bit. * nvdaHelper sconscripts: now we are always using the Windows 10 SDK, we can compile nvdaHelperLocalWin10 using the same infrastructure as nvdaHelperRemote and nvdaHelperLocal etc, except that rather than /mt, /ZW should be used. This removes a great deal of code from the nvdaHelperLocalWin10 sconscript. * Readme.md: update VS 2017 section with extra needed dependency * Clarify error message when VC++ 14.1 is missing. * Ensure that all Python directories exist, eitherwise raise an error alerting the user to the fact they may need to run git submodule update --init * nvdaHelperLocalWin10 sconscript: search versioned directories from newest to oldest to find the vc restributables.