Bug 1259382 - Make add_old_configure_assignment work like set_config, accepting both @depends functions and literal values for both arguments it takes. r?ted
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -124,23 +124,26 @@ def old_configure_assignments(help):
return []
@depends('--help')
def extra_old_configure_args(help):
return []
@template
@imports(_from='mozbuild.configure', _import='DependsFunction')
-def add_old_configure_assignment(var, value_func):
- assert isinstance(value_func, DependsFunction)
+def add_old_configure_assignment(var, value):
+ if not isinstance(var, DependsFunction):
+ var = depends('--help')(lambda x: var)
+ if not isinstance(value, DependsFunction):
+ value = depends('--help')(lambda x: value)
- @depends(old_configure_assignments, value_func)
+ @depends(old_configure_assignments, var, value)
@imports(_from='mozbuild.shellutil', _import='quote')
- def add_assignment(assignments, value):
- if value is None:
+ def add_assignment(assignments, var, value):
+ if var is None or value is None:
return
if value is True:
assignments.append('%s=1' % var)
elif value is False:
assignments.append('%s=' % var)
else:
if isinstance(value, (list, tuple)):
value = quote(*value)