From 1312008dca2c165706e87f41272d3819e6836c67 Mon Sep 17 00:00:00 2001 From: Kp Date: Thu, 16 Oct 2014 01:56:30 +0000 Subject: [PATCH] Filter duplicate prefixes in register_program Without a filter, certain combinations add $CXXFLAGS multiple times. --- SConstruct | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/SConstruct b/SConstruct index 3874f4c94..67743203c 100644 --- a/SConstruct +++ b/SConstruct @@ -1928,6 +1928,10 @@ class D2XProgram(DXXProgram): variables = Variables(['site-local.py'], ARGUMENTS) filtered_help = FilterHelpText() variables.FormatVariableHelpText = filtered_help.FormatVariableHelpText +def _filter_duplicate_prefix_elements(e,s): + r = e not in s + s.add(e) + return r def register_program(program): s = program.shortname import itertools @@ -1945,6 +1949,8 @@ def register_program(program): seen = set() for e in l: for prefix in itertools.product(*[v.split('+') for v in e.split(',')]): + duplicates = set() + prefix = tuple(p for p in prefix if _filter_duplicate_prefix_elements(p, duplicates)) if prefix in seen: continue seen.add(prefix)