summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2023-02-02 20:43:57 -0800
committerWilliam Deegan <bill@baddogconsulting.com>2023-02-02 20:43:57 -0800
commitdb0ae34d6da183bce93c3f044abb727b0474c8c2 (patch)
tree40b9905730c5df838fd7d9efd280c992a779f996
parent3a3cf8f4da6416d246e41528416112198f695cab (diff)
downloadscons-git-db0ae34d6da183bce93c3f044abb727b0474c8c2.tar.gz
Alter append logic to keep existing append of tuple value yielding -Dkey=value
-rw-r--r--SCons/Environment.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/SCons/Environment.py b/SCons/Environment.py
index e10bec1bb..26f7036fb 100644
--- a/SCons/Environment.py
+++ b/SCons/Environment.py
@@ -269,7 +269,6 @@ def _add_cppdefines(
return False
-
key = 'CPPDEFINES'
try:
defines = env_dict[key]
@@ -330,6 +329,19 @@ def _add_cppdefines(
else:
_add_define(val, defines, prepend)
+ # A tuple appended to anything should yield -Dkey=value
+ elif is_Tuple(val):
+ item = (val[0], val[1])
+ if unique:
+ match = _is_in(item, defines)
+ if match and delete_existing:
+ defines.remove(match)
+ _add_define(item, defines, prepend)
+ elif not match:
+ _add_define(item, defines, prepend)
+ else:
+ _add_define(item, defines, prepend)
+
elif is_Sequence(val):
tmp = []
for item in val: