Single msvc-setup.bat for intel-win toolset
- Dominant language
- C++
- Stars
- 251
- Forks
- 63
- PR merge metrics
- No merged PRs in 30d
Description
With the changes to the way msvc compiler setup works using Boost created setup scripts, the intel-win toolset now has a single location for creating an msvc-setup.bat setup script for all versions of Intel C++ for Windows and all vc++ compatibilities for each version. This also means that with the default implementation of the end-user undocumented \ option, when it is not specified in the toolset definition, that the msvc-setup.bat script for intel-win is only regenerated if it does not exist, using different versions of Intel C++ for Windows and/or different vc++ compatibility choices for any particular version will use the same msvc-setup.bat script, causing all subsequent choices after the first to fail compilation. The current workaround to this unfortunate behavior is to specify the \false option in the toolset definition for Intel C++ for Windows. However the creation of the msvc-setup.bat script file, in different subdirectories depending on the intel version and vc++ compatibility, should be the way things should work rather than the current situation of a single subdirectory for all choices.
I have made changes to intel-win.jam in a PR ( https://github.com/boostorg/build/pull/460 ) so that the \always choice acts the way it does in msvc.jam to always regenerate msvc-setup.bat. But this is still a flawed workaround to this problem, since two different Intel toolsets can be used at the "same" time regenerating the current single location msvc-setup.bat. The \off provides a better current workaround. But since the \ option is not documented for end-users he would hardly know about it to workaround the current problem. This is why I am bringing up this issue.
Contributor guide
Assessment
This issue has not been assessed yet.