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
