Make [was Re: SCons and gdc]

Rob T rob at ucora.com
Tue Oct 30 10:31:12 PDT 2012


On Tuesday, 30 October 2012 at 09:56:08 UTC, Russel Winder wrote:
> Mayhap then what you need to do is look at Parts. This is Jason 
> Kenny's
> superstructure over SCons to deal with huge projects scattered 
> across
> everywhere. This is the build framework Intel uses for their 
> stuff.
> Intel have more and bigger C and C++ projects than I think 
> anyone else
> around

For the record, my projects are not very small but also not very 
big (whatever that means), mid size I suppose? I'll have a look 
at Parts, but I have a hard case of Bleeding Edge Syndrome, and I 
may not survive.

> Now this is a whole different issue!
>
> I have no idea. If it is a problem it needs fixing.
>
> The general philosophy in SCons is to have scanners that find 
> the
> dependencies. In C and C++ this is the awful #include. In D 
> it's import.
> The code should create a graph of the dependencies that can be 
> walked to
> create the list of inputs. There is a bit of code in the D 
> tooling that
> is supposed to do this. If it doesn't then we need a bug report 
> and
> preferably a small project exhibiting the problem that can be 
> entered
> into the test suite — SCons development is obsessively TDD.

So far I've had no indication that it's working. Perhaps it is 
only working if the import files are not located in subfolders?

Will it account for something like this?

import a.b;

There must be something you did with the D support to give scons 
the ability to scan for imports. I know that #include can have 
sub-folders, which is common to see, such as

#include <a/b.h>

So scons must be able to include dependencies located in 
sub-folders.

> I can only do stuff for Linux and OS X, I cannot do anything for
> Windows, and Windows is the "big problem" for the SCons D 
> tooling at the
> moment which is why it has not got merged into the SCons 
> mainline for
> release in 2.3.0.

Currently I'm Linux only, but I have in the past built fairly 
complicated projects in Windows and I expect to be doing this 
again. This is another reason why I considered scons as a build 
solution because it is cross-platform.

> A plea for help: in order for SCons to have sane support for D, 
> it needs
> people to step up and actively assist evolve the tools either by
> providing small test projects exhibiting fails, or running the 
> tests on
> Windows and providing patches for fails.

Once I get things working well enough on Linux, I'll give it a 
try. Right now though, I'm bogged down with Linux, I need to make 
some breathing space first.

BTW, I use virtualbox as well as KVM extensively to run different 
OS's on same machine, so maybe you can try that route to get a 
Windows VM running for tests?

--rt



More information about the Digitalmars-d mailing list