[Scons-users] build dependencies question(s)

Gary Oberbrunner garyo at oberbrunner.com
Mon Nov 19 11:14:26 EST 2012


Hi Nikola. As for dependencies between different envs, SCons doesn't care
which env is used to build which target. It builds the dependency graph
between Nodes (which are typically files). If a target is out of date with
respect to its sources or implicit dependencies, it will be rebuilt.

Also note that you can always have multiple commands in any builder action.
Just make them a python list:

env['LINKCOM'] = ['command 1 -o ${TARGET}.tmp $SOURCES -args ...', 'command
2 -in ${TARGET}.tmp -out $TARGET} -args ...']

or whatever you need. They will be executed in sequence and you don't need
to worry about the intermediate dependencies. This is often easier than
making a separate script (though that also works of course).


On Mon, Nov 19, 2012 at 11:01 AM, Nikola Radovanovic <
nikola.radovanovic at schneider-electric-dms.com> wrote:


> i give up...im just to dumb for this scons....

>

> i will either create python script to build dll/so for omniORB idl-stub

> files and see what will happen

> or will try with WAF

> or maybe custom python build scripts.

>

> i cant solve this problem for almost 1 month :(

> and i tought it will be MUCH easier. i wish i started creating custom

> python build system-will be done so far. maybe its impossible to achieve

> with scons what i want :( :( is it so hard to create dependencies between

> different envs?!

>

> devastated :(

>

>

> On 11/19/2012 11:48 AM, Dirk Bächle wrote:

>

> Hi Nikola,

>

> On 19.11.2012 11:24, Nikola Radovanovic wrote:

>

> 10x. tried that.

>

> why it fails when i run scons with ie -j 4? scons tries to Install before

> outNodes are ready? works with -j 1 (default). is that OK?

>

>

> no, that's not okay, it should work with any number of jobs. My first

> guess would be that something is still not right with your dependencies.

> You can try to check them by calling "scons -n --tree=derived" (have a

> look into the man page for more options like these).

>

> also, how to delete outNodes? is Delete() ok or i need to create builder

> for that?

>

>

> Deleting output files in SCons is done by calling "scons -c", this will

> delete all files that are usually built. If you want to mark additional

> files for cleanup, a simple env.Clean('file') should be sufficient.

>

> Best regards,

>

> Dirk

>

>

>

> _______________________________________________

> Scons-users mailing listScons-users at scons.orghttp://four.pairlist.net/mailman/listinfo/scons-users

>

>

>

> --

>

> __________________________________________________________________________________________________________________

> ****

>

> ** **

>

> *Nikola Radovanovic | **Schneider Electric DMS NS** | Smart Grid IT |

> SERBIA | CPASv2 team deputy*****

>

> *Phone:* +381 (0)21 488 3633* | Fax:* +381 (0)21 488 3789* | Mobile:* +381

> (0)64 29 74 528****

>

> *Email:* nikola.radovanovic at schneider-electric-dms.com* | Site: *

> www.schneider-electric-dms.com* | Address:* Narodnog fronta 25A-D, 21000

> Novi Sad****

>

> *** Please consider the environment before printing this e-mail****

>

> ** **

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

>



--
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20121119/62f8f07f/attachment.html>


More information about the Scons-users mailing list