Re: [Scons-dev] Why are Builders excluded from env.Clone()?

2016-12-09 Thread Jonathon Reinhart
Hi Bill, On Fri, Dec 9, 2016 at 12:46 PM, Bill Deegan wrote: > Is your real issue (which caused you to dig into this) > "The big problem here is that c_file, cxx_file are *not* unique to the > passed-in > environment." > > Perhaps a solution to just that piece of the

Re: [Scons-dev] Why are Builders excluded from env.Clone()?

2016-12-09 Thread Jonathon Reinhart
Hi Dirk, Thanks for pointing out that issue to me; I hadn't found it in my searches. On Fri, Dec 9, 2016 at 12:31 PM, Dirk Bächle wrote: >> BUILDERS is explicitly excluded in the semi_deepcopy_dict() call. >> >> My questions: >> - Why are Builders explicitly excluded from the

Re: [Scons-dev] Why are Builders excluded from env.Clone()?

2016-12-09 Thread Dirk Bächle
Hi Jonathon, On 09.12.2016 18:03, Jonathon Reinhart wrote: [...] This behavior does appear to be intentional, however: builders = self._dict.get('BUILDERS', {}) clone = copy.copy(self) # BUILDERS is not safe to do a simple copy clone._dict = semi_deepcopy_dict(self._dict,

[Scons-dev] Why are Builders excluded from env.Clone()?

2016-12-09 Thread Jonathon Reinhart
Hello everyone, Let me start out with a quick experiment: env = Environment() env2 = env.Clone() print env['BUILDERS']['StaticObject'] is env2['BUILDERS']['StaticObject'] This surprisingly prints "True". The takeaway here is that builders are not copied when environments are