diff options
Diffstat (limited to 'RELEASE.txt')
-rw-r--r-- | RELEASE.txt | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/RELEASE.txt b/RELEASE.txt index 6c1c5f281..7a96cec03 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -17,6 +17,11 @@ NOTE: If you build with Python 3.10.0 and then rebuild with 3.10.1 (or higher), see unexpected rebuilds. This is due to Python internals changing which changed the signature of a Python Action Function. +NOTE: If you use a dictionary to specify your CPPDEFINES, you may see an unexpected rebuild. + The insertion order of dictionary keys is now preserved when generating the command line. + Previously these were sorted alphabecially. This change to the command line, + while generating identical set of CPPDEFINES can change order and cause a rebuild. + NEW FUNCTIONALITY ----------------- @@ -51,7 +56,12 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY which controls whether to add the library if it is already in the $LIBS list. This brings the library-adding functionality in Configure in line with the regular Append, AppendUnique, Prepend and PrependUnique methods. - +- CPPDEFINES values added via a dictionary type are longer sorted by + key. This used to be required to maintain a consistent order of + commandline arguments between SCons runs, but meant macros were not + always emitted in the order entered. Sorting is no longer required + after Python interpreter improvements. There might be a one-time + rebuild of targets that involved such sorted keys in their actions. FIXES ----- @@ -90,7 +100,16 @@ FIXES actual build would not see the file as modified. Leading to incorrect incremental builds. Now configure checks now clear node info for non conftest nodes, so they will be re-evaluated for the real taskmaster run when the build commences. - +- Inconsistent behavior of adding values to the CPPDEFINES construction + variable has been cleaned up (described in issue #4254). Now a tuple, + whether provided by itself or as a member of a list, is consistently + interpreted as a macro with replacement value. When adding a list, + individual members are added in sequence without interpretation. + A string value containing spaces is split if it is the initial value or + added, but not if it is given as a member of an added list. Detection + of duplicate macros now works for both valued and unvalued forms. +- Handling of CPPDEFINES macros via Prepend and PrependUnique now works + (previously this was special-cased only for Append and AppendUnique). IMPROVEMENTS ------------ @@ -139,6 +158,8 @@ DOCUMENTATION - Additional explanations for MSVSProject and MSVSSolution builders. - Updated MSVC documentation - adds "version added" annotations on recently added construction variables and provides a version-mapping table. +- Added further details in the documentation of Append and related methods + on the special handling of CPPDEFINES. DEVELOPMENT ----------- |