[Scons-users] compiling external projects and jobs

Jason Kenny dragon512 at live.com
Thu Jun 23 09:24:00 EDT 2016


I have made commands to build stuff from makes file or other build systems using SCons. The issues I seen are that depending on how you define these actions, SCons may not really know if the items in the makefile are out of date. Then there is your issue that you are note that you cannot share correctly the number of threads used to do a job with make, thus oversubscribing the cores on the system. 

The first issue I tend to see a force rebuild of the make, to make sure that everything is built correctly, and to deal with a high risk the makefile has some issue in how it was defined, prevent incremental build for working in some case that might cause bad bits to me created.

I would not worry too much about oversubscribing the system. However I would reduce the -j value passed to systems like make. For building it generally not an issue to go over 1.5 to 2x the cpus you have given you have the memory for the compilers. You don’t want use more RAM than the system has during a build as that will really slow down everything to the speed of you disks.

 

I personally would like to have a makefile parser in python as well as this would allow SCons have a builder to read the rules and do the work make was doing, but just do it better in my view… or scons would now what the makefile depends on and would call it correctly when it should.

 

Jason

 

From: Scons-users [mailto:scons-users-bounces at scons.org] On Behalf Of Manuel
Sent: Thursday, June 23, 2016 6:25 AM
To: dl9obn at darc.de; SCons users mailing list <scons-users at scons.org>
Subject: Re: [Scons-users] compiling external projects and jobs

 

I know how to pass the amount of jobs to it, but then the Command builder will consume N jobs instead of one and SCons will think it still has N-1 available starving the CPU. Maybe it's not possible and I need a Makefile parser somehow and create generators and targets with it.

Thanks,

Manuel 

 

El jue., 23 de jun. de 2016 05:58, Dirk Baechle <tshortik at gmx.de <mailto:tshortik at gmx.de> > escribió:

Hi Manuel, 

I'm not sure that I understand your mail. Is your basic problem that you want to write a customized make/configure builder...but don't know how to pass special parameters to it? In this case you'd typically declare an environment variable...

Best regards, 

Dirk

Am 22. Juni 2016 21:48:10 MESZ, schrieb Manuel <naranjo.manuel at gmail.com <mailto:naranjo.manuel at gmail.com> >:

Guys,

 

In the company I work for we compile multiple external projects, some of this are based on cmake, others in qmake, etc. I'm thinking on adding builders for them, so I can use SCons dependency tracking correctly. 

 

Problem is that I also want to enable parallel builds, and I can't forsee a way to tell SCons builder X is going to use Y processes and not just 1. I am missing something? I was thinking on parsing the makefile output of a call like `make -B -n` but this would change project to project and doesn't seem very efficient. 

 

I don't want SCons to track external projects inner dependencies, I just want it to track that if my program A is to be linked against lib B and lib B requires going through configure/make phase it should be ready before the linking stage.

 

-Manuel



  _____  


Scons-users mailing list
Scons-users at scons.org <mailto:Scons-users at scons.org> 
https://pairlist4.pair.net/mailman/listinfo/scons-users


-- 
Sent from my Android with K-9 Mail.

_______________________________________________
Scons-users mailing list
Scons-users at scons.org <mailto:Scons-users at scons.org> 
https://pairlist4.pair.net/mailman/listinfo/scons-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160623/2c303b4d/attachment-0001.html>


More information about the Scons-users mailing list