[Scons-dev] Scons 2.3.2 regression, D tool...

Dirk Bächle tshortik at gmx.de
Fri Aug 8 13:07:49 EDT 2014


Hi there,

we have another user reporting trouble with SCons 2.3.2, in connection 
to the D tool...so it's time for us to act. I checked the sources, and 
the user's analysis appears to be partly correct: even when no D tool is 
present in the current system, the "dmd" tool gets loaded (meaning 
SCons.Tool.dmd.generate is executed).

In general, the D tools use their own set of variables starting with 
"D*" (or "_D*") so they shouldn't create much of a problem. But the D 
tools also set "STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME" to 0, 
independent of any setting that a tool like msvs.py made before. :(

I'm open for a discussion and would like to hear other ideas. My way to 
fix this would be:

- D tools shouldn't be loaded by default, but get an optional tool ( -> 
tools=['default', 'dmd'] is mandatory). It's not enough to say "Let's 
try to detect them, and load them automatically.", as long as the 
"STATIC_SHARED" flag gets set to a fixed value. An option would be to 
use env.Default() to set this flag, but I don't know if D can then cope 
with a possible setting of "1" (Russel?).
- Docs should get amended, to warn the user about the overwrite of the 
"STATIC_AND_SHARED" flag.
- Then push out a new patch release as soon as possible.

Best regards,

Dirk



More information about the Scons-dev mailing list