[Scons-users] build dependencies question(s)

William Deegan bill at baddogconsulting.com
Mon Nov 19 14:24:35 EST 2012


Nikola,

Everything you want to do can be done with SCons (I know as I've done pretty much what you want to do before..

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


> ok,i have some progress now: im able to build idls, install *.h to inc and *.cpp to src folders and delete *.cpp/*.h from idl folder.

> problem with jobs was in my bad builder.

>

> i have attached current code, can someone please check if im doing it ok? (i cut some redundant code for clearance).

>

> next step for me is to compile the cpps. this is not going to be trivial, since on windows i have to do the following (in that particular order):

> - after removing *.cpp and *.h form idl folder i need to compile all cpps to static library (but i need to use different ENV than one to build idls)


Why do you need to remove the .cpp and .h from the idl folder?


> - call external python srcipt to dump exports into def file

env.Command('target.def',['list,of,sources"],'/path/to/my script $TARGET $SOURCES')


> - link def file and static objs to dll


They're not static objs if you're building a dll.
You can just specify the .def in the list of sources (I think, been a while)



>

> i have alternative approach:

> - create python script to build dll/so (already have proper makefiles) and call it from my scons builder. rest of the dependencies should be implicit


Not needed.
-Bill


>

> thanks in advance

>

>

>

> 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 list

>> Scons-users at scons.org

>> http://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_omniorb_idl_build.py>_______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20121119/7530095f/attachment.htm>


More information about the Scons-users mailing list