[Scons-dev] Problematic conflicts between C/C++ and D

Russel Winder russel at winder.org.uk
Thu Aug 31 08:11:03 EDT 2017


On Wed, 2017-08-30 at 09:28 -0700, Bill Deegan wrote:
> […]
> 
> Remember that this is (can be) set by each compiler.

Indeed, and for tools not in the default set that is the end of the
issue. However for tools in the default set we have the cross-coupling.

[…]

> Since none of the D compilers are included at the end of the default
> list,
> as it currently stands any change they make to SHOBJSUFFIX would end
> up
> being the default, assuming a d compiler is found.

I am not sure I follow the first part of this, but the second part is
very true: if I set SHOBJSUFFIX in any f the D tools it is the value
used by cc and c++ tools if the build does not specify a tool list
explicitly.

> The only issue would come about (currently) if the user set the tool
> list
> to empty and explicitly added the tools with the D tools first.

Or the user does not set a tool list at all. This is the problem that
was raised by a user.  All my D tool use had involved explicitly
setting the tool list in the environment. This leads to an issue with
the gdc tool that I have yet to follow up on. The dmd an ldc tools are
though fine. With there being no tool list set, the default tool set is
used and the problem for the dmd compiler and ldc2 compiler regarding
SHOBJSUFFIX hits.
 
> Assuming you change SHOBJSUFFIX in the D tools, it should work fine.

'Fraid not. tried that and it means the all the cc and c++ tests fail.
If SHOBJSUFFIX is set in the dmd or ldc tool then it affects the cc and
c++ tools which then fail all their tests.

> That said, there has been much discussion in the past of revamping
> the tool
> chain & platform logic (see the wiki and mailing list for more
> details).

Indeed but without more resources, I suspect we are left with what we
have.

> Due to the current logic dealing with tools individually, it is
> possible to
> construct an environment where the tools are incompatible.
> for example compiler and linker which cannot inter operate.
> 
> But for now, if you had a patch where the D tools changed SHOBJSUFFIX
> then
> your immediate and most likely issue should be handled.

'fraid not. It may fix the dmd and ldc situation but it leaves all the
cc and c++ related tools broken in the default tool set and so all the
SCons tests relating to them fail.

-- 
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: 833 bytes
Desc: This is a digitally signed message part
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170831/7471ce04/attachment.pgp>


More information about the Scons-dev mailing list