Re: Problematic conflicts between C/C++ and D

Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org>
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CAEyG4CFgnRKsnVmSUdaZPgbjJNDd7q2DZ2-9XJNiBBxTqKqCfQ@mail.gmail.com>
On Thu, Aug 31, 2017 at 5:11 AM, Russel Winder <[email protected]> wrote:

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

Can you pastebin the failures?
Likely the c/c++ tests have the SHOBJSUFFIX hardcoded which is not correct..
(Unless the tests only load the c/c++ tools or a limited set thereof, which
might not be a bad idea anyway as it would speed up the tests..)

-Bill

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.