Merge "Return product config variables from board_configuration"
diff --git a/core/product_config.rbc b/core/product_config.rbc
index 9a6b1c0..c0bf281 100644
--- a/core/product_config.rbc
+++ b/core/product_config.rbc
@@ -220,13 +220,21 @@
return (globals, configs[top_pcm_name][1], globals_base)
+def _dictionary_difference(a, b):
+ result = {}
+ for attr, val in a.items():
+ if attr not in b or b[attr] != val:
+ result[attr] = val
+ return result
+
def _board_configuration(board_config_init, input_variables_init):
globals = {}
h = __h_new()
input_variables_init(globals, h)
+ cfg_base = dict(**h[0])
globals_base = dict(**globals)
board_config_init(globals, h)
- return (globals, h[1], globals_base)
+ return (globals, _dictionary_difference(h[0], cfg_base), globals_base)
def _substitute_inherited(configs, pcm_name, cfg):