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

_______________________________________________
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to