@@ -59,10 +59,6 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY
59
59
batch file exists but an individual msvc toolset may not support the host/target
60
60
architecture combination. For example, when using VS2022 on arm64, the arm64 native
61
61
tools are only installed for the 14.3x toolsets.
62
- - MSVC: For msvc version specifications without an 'Exp' suffix, an express
63
- installation is used when no other edition is detected for the msvc version.
64
- This was the behavior for VS2008 (9.0) through VS2015 (14.0). This behavior
65
- was extended to VS2017 (14.1) and VS2008 (8.0).
66
62
- MSVC: When the msvc compiler executable is not found during setup of the msvc
67
63
environment, the warning message issued takes into account whether or not a
68
64
possibly erroneous compiler executable was already present in the scons environment
@@ -86,6 +82,10 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY
86
82
although the preferred usage remains to import from SCons.Util only.
87
83
Any code that did the direct import will have to change to import from
88
84
SCons.Util.sctypes.
85
+ - MSVC: For msvc version specifications without an 'Exp' suffix, an express
86
+ installation is used when no other edition is detected for the msvc version.
87
+ This was the behavior for VS2008 (9.0) through VS2015 (14.0). This behavior
88
+ was extended to VS2017 (14.1) and VS2008 (8.0).
89
89
90
90
FIXES
91
91
-----
@@ -109,7 +109,23 @@ FIXES
109
109
- MSVC: Erroneous construction of the installed msvc list (as described above) caused an
110
110
index error in the msvc support code. An explicit check was added to prevent indexing
111
111
into an empty list. Fixes #4312.
112
- - MSVC: VS2015 Express (14.1Exp) may not have been detected. VS2015 Express should
112
+ - MSVC: The search for the msvc compiler executable (cl.exe) no longer inspects the
113
+ OS system path in certain situations when setting up the msvc environment.
114
+ - MSCommon: Test SConfTests.py would fail when mscommon debugging was enabled via the
115
+ MSVC_MSCOMMON_DEBUG environment variable. The mscommon logging filter class registered
116
+ with the python logging module was refactored to prevent test failure.
117
+ - MSVS: Add arm64 to the MSVS supported architectures list for VS2017 and later to be
118
+ consistent with the current documentation of MSVS_ARCH.
119
+ - FORTRAN: Fix gfortran tool initialization. Defaults to using binary named gfortran
120
+ as would be expected, and properly set's SHFORTRAN flags to include -fPIC
121
+ where previously it was only doing so for the other fortran versions (F77,..)
122
+ - MSCommon: Added more error handling while reading msvc config cache.
123
+ (Enabled/specified by SCONS_CACHE_MSVC_CONFIG).
124
+ The existing cache will be discarded if there's a decode error reading it.
125
+ It's possible there's a race condition creating this issue it in certain CI builds.
126
+ - Fixed: race condition in `Mkdir` which can happen when two `SConscript`
127
+ are processed simultaneously by two separate build commands.
128
+ - MSVC: VS2015 Express (14.0Exp) may not have been detected. VS2015 Express should
113
129
be correctly detected.
114
130
- MSVC: VS2010 (10.0) could be inadvertently detected due to an sdk-only install
115
131
of Windows SDK 7.1. An sdk-only install of VS2010 is ignored as the msvc batch
@@ -122,43 +138,27 @@ FIXES
122
138
- MSVC: VS2008 (9.0) Visual C++ For Python was not detected when installed using the
123
139
ALLUSERS=1 option (i.e., msiexec /i VCForPython27.msi ALLUSERS=1). When installed
124
140
for all users, VS2008 (9.0) Visual C++ For Python is now correctly detected.
125
- - MSVC: The search for the msvc compiler executable (cl.exe) no longer inspects the
126
- OS system path in certain situations when setting up the msvc environment.
127
141
- MSVC: The installed vcs list was constructed and cached during the initial
128
142
invocation. If a vswhere executable was specified via the construction variable
129
143
VSWHERE and found additional msvc installations, the new installations were not
130
144
reflected in the installed vcs list. Now, when a user-specified vswhere executable
131
145
finds new msvc installations, the installed vcs list is reconstructed.
132
- - MSCommon: Test SConfTests.py would fail when mscommon debugging was enabled via the
133
- MSVC_MSCOMMON_DEBUG environment variable. The mscommon logging filter class registered
134
- with the python logging module was refactored to prevent test failure.
135
- - MSVS: Add arm64 to the MSVS supported architectures list for VS2017 and later to be
136
- consistent with the current documentation of MSVS_ARCH.
137
- - FORTRAN: Fix gfortran tool initialization. Defaults to using binary named gfortran
138
- as would be expected, and properly set's SHFORTRAN flags to include -fPIC
139
- where previously it was only doing so for the other fortran versions (F77,..)
140
- - MSCommon: Added more error handling while reading msvc config cache.
141
- (Enabled/specified by SCONS_CACHE_MSVC_CONFIG).
142
- The existing cache will be discarded if there's a decode error reading it.
143
- It's possible there's a race condition creating this issue it in certain CI builds.
144
- - Fixed: race condition in `Mkdir` which can happen when two `SConscript`
145
- are processed simultaneously by two separate build commands.
146
146
147
147
IMPROVEMENTS
148
148
------------
149
149
150
150
- Now tries to find mingw if it comes from Chocolatey install of msys2.
151
- - MSVC: VS2015 Express (14.1Exp) does not support the sdk version argument. VS2015
152
- Express does not support the store argument for target architectures other than
153
- x86. Script argument validation now takes into account these restrictions.
154
- - MSVC: VS2015 BuildTools (14.0) does not support the sdk version argument and
155
- does not support the store argument. Script argument validation now takes into
156
- account these restrictions.
157
151
- MSVC: Module imports were changed from a relative import to a top-level
158
152
absolute import in the following Microsoft tools: midl, mslib, mslink, mssdk, msvc,
159
153
msvs. Moving any of these tools that used relative imports to the scons site tools
160
154
folder would fail on import (i.e., the relative import paths become invalid when
161
155
moved).
156
+ - MSVC: VS2015 Express (14.0Exp) does not support the sdk version argument. VS2015
157
+ Express does not support the store argument for target architectures other than
158
+ x86. Script argument validation now takes into account these restrictions.
159
+ - MSVC: VS2015 BuildTools (14.0) does not support the sdk version argument and
160
+ does not support the store argument. Script argument validation now takes into
161
+ account these restrictions.
162
162
163
163
PACKAGING
164
164
---------
0 commit comments