Make [was Re: SCons and gdc]

Rob T rob at ucora.com
Tue Oct 30 10:08:54 PDT 2012


On Tuesday, 30 October 2012 at 09:42:50 UTC, Russel Winder wrote:
> I would suggest you haven't given SCons long enough to get into 
> the
> SCons idioms, but you have to go with the route that is most 
> comfortable
> for you.

You are right, I'll shut up and keep at it. I get frustrated 
sometimes, but that's no reason to vent in here. Sorry.

> I do not see why you need to scan subfolders recursively. This 
> is a
> traditional Make approach. SCons does things differently even 
> for highly
> hierarchical systems. In particular use of SConscript files 
> handles
> everything. So I do not think this is a SCons problem.

The only reason is to automate the construction of a list of 
source files for building. I'm used to using automated build 
scripts, which require only a minimal of manual input. For 
example, if I add a new source file to the mix, then I am 
expecting to not have to modify a SConstruct file to include it.

I see mention of placing a SConsript file in each subdir, but 
that's a fair amount of manual overhead to bother with. so there 
must be another way?

> Of course if you have to do things recursively then os.walk is 
> the
> function you need.

The solutions I looked at did not mention os.walk, so I'll have a 
look. Thanks for the tip.

> As noted in the exchanges to which I cc you in everything I 
> sent, SCons
> does insist on having all directories in use under the 
> directory with
> the SConstruct – unless you have with Default. On reflection 
> I am now
> much less worried about this that I was at first.  Out of 
> source tree I
> find essential in any build, SCons does this well, Make less 
> so. Out of
> project tree builds I am now not really worried about.

Yes, I see I can build out of the source tree, that's half the 
battle solved, but it still insists on building in the project 
tree, which I was hoping to also do away with. There's a 
disadvantage for me doing it in this way, so it's something of a 
step backwards for me (in terms of organizing things), which I'd 
rather not have to do, hence the fustration I've expressed. There 
must be a way to solve it somehow.

> I disagree. I find Make totally rigid and unyielding. Not to 
> mention
> rooted in 1977 assumptions of code.

Yes I agree that Make sucks, and I hope I won't offend anyone by 
saying that. ;)

> You don't need to install SCons to use it, you can use it from 
> a clone
> directly using the bootstrap system.  I have an alias
>
>         alias scons='python 
> /home/users/russel/Repositories/Mercurial/Masters/SCons_D_Tooling/bootstrap.py'

Sounds great, but my lack of Python expertise means that I do not 
fully understanding how this will work for me. I'll diginto it ...

Thanks for the input.

--rt



More information about the Digitalmars-d mailing list