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

Russel Winder russel at winder.org.uk
Sat Aug 9 08:02:35 EDT 2014


On Fri, 2014-08-08 at 19:07 +0200, Dirk Bächle wrote:
> 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).

That should not be the case, and wasn't for the tests I made. However I
only tested on Linux and OSX and this user is using Windows, a platform
I cannot test on and no-one else bothered to.

> 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. :(

The idea was to keep the D tool names separate, except for where
smart_link is involved. The issue here is that D stands in the same
relationship to C and C++ and D. So what is good for Fortran is good for
D and vice versa, there should be symmetry. 

> 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?).

Then the Fortran tools shouldn't either. 

Of course why should any tool be loaded by default?

> - Docs should get amended, to warn the user about the overwrite of the 
> "STATIC_AND_SHARED" flag.

Or better still find a way of the bug not happening.

> - Then push out a new patch release as soon as possible.

Definitely.

So what is needed is a volunteer who used C and C++ on Windows who has
two "machines" one with D installed and one without, who can run the
tests from a feature clone SCons repository.

I am away from home for 2.5 weeks so have no access to OSX.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://two.pairlist.net/pipermail/scons-dev/attachments/20140809/986910cb/attachment.pgp>


More information about the Scons-dev mailing list