-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
TL;DR: Remove VS 2013 support in ChakraCore so we can use the full C++11 feature set, following suit with the rest of the C++ community.
Proposal
Drop support for ChakraCore build using VS 2013 tools.
Require VS 2015 toolset.
Proposed Plan
Remove VS2013 support as part of v2.0 release of ChakraCore.
Maintain VS2013 support in v1.x release branches.
Impact
No impact on JSRT consumers since JSRT is a C API.
No impact on Nuget consumers since prebuilt binaries provided.
Impact users that build ChakraCore 2.0+ from source. Require them to upgrade their MSVC build toolset to minimum VS 2015.
Motivation
- MSVC in VS 2013 is not fully C++11 compliant
- Our minimum supported clang build on Linux and MacOS is fully C++11 compliant
- The C++ community has been moving to C++11 code for many years now
- Chakra developers wish to use C++11 features unavailable in VS2013, e.g. constexpr
Supporting Motivation
Node.js has dropped VS2013 support in favor of using C++11 features. Node.js v6.8 (Oct 12 2016) and v7.x (upcoming) do not support VS2013, only VS2015.
- build: drop support for VS 2013 in v7 nodejs/node#7484
- build: drop support for VS 2013 in v6 LTS nodejs/node#7989 (comment)
ICU v58 (released Oct 24 2016) does not support VS2013, requires VS2015 or cygwin for Windows builds.
BlueJeans are not dependent on VS2013, they are using VS2015.3
Users who wish to compile ChakraCore can easily do so with access to VS2015 MSVC toolset for free from the Microsoft Visual C++ Build Tools 2015