[Scons-users] Is there a way to isolate building a specific file

Erik Kazandjian erik.kazandjian at gmail.com
Mon Jun 29 06:20:12 EDT 2020


Sorry Bill,

I applied your SideEffect trick on the Object call and then it works.
Thanks for the tips

Erik

On Mon, 29 Jun 2020 at 11:48, Erik Kazandjian <erik.kazandjian at gmail.com>
wrote:

> I'm using the library builder to build my libraries and  the SideEffect
> trick doesn' t seem to work. This is how my sconscript looks like
>
> t=env.File(os.path.join(env['LIBS_DIR'].abspath,  'biglib1'))
> u=env.File(os.path.join(env['LIBS_DIR'].abspath,  'biglib2'))
>
> l1 = myEnv.Library(t, ["bigfile1cc"])
> l2 = myEnv.Library(u, ["bigfile2.cc"])
>
> side_effect=env.File('.serialize', env['DO_DIR'])
> env.SideEffect(side_effect,l1)
> env.SideEffect(side_effect,l2)
>
>
> Alias('build', [
> l1,
> l2,
> ])
>
> But wehen I run scons -j 2 build
>
> I still see that they are build in parallel
>
> Cheers
> Erik
>
> On Mon, 29 Jun 2020 at 00:24, Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> Erik
>>
>> If you have N compile (not link) steps and you want M of them to build
>> singularly, using sideffect's only on the M will only affect the M
>> compiling in parallel and not the N-M remaining compilations.
>> Is that what you're shooting for?
>>
>> -Bill
>>
>> On Sun, Jun 28, 2020 at 11:36 AM Andrew C. Morrow <
>> andrew.c.morrow at gmail.com> wrote:
>>
>>>
>>> Hi Erik -
>>>
>>> You may be able to formulate something analogous to the MongoDB --jlink
>>> feature:
>>> https://github.com/mongodb/mongo/blob/539414b9cb7a9f39856090730398d5dd130ab0c8/SConstruct#L4430-L4471
>>>
>>> It uses SideEffect to constrain the concurrency of link tasks to a user
>>> selected value.
>>>
>>> Longer term, I think having SCons implement support for job pools would
>>> be a good idea.
>>>
>>> Thanks,
>>> Andrew
>>>
>>>
>>> On Fri, Jun 26, 2020 at 1:00 PM Bill Deegan <bill at baddogconsulting.com>
>>> wrote:
>>>
>>>> Erik,
>>>>
>>>> So you'd like a way to mark one (or several) c++ files to be compiled
>>>> with no parallel jobs?
>>>>
>>>> -Bill
>>>>
>>>> On Fri, Jun 26, 2020 at 5:44 AM Mats Wichmann <mats at wichmann.us> wrote:
>>>>
>>>>> On 6/26/20 6:12 AM, Erik Kazandjian wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I have the following issue. In my current project there is some
>>>>> template
>>>>> > stuff going on which makes g++ going ballistic. If I run scons -j 6
>>>>> my
>>>>> > machine hangs if it happens to be compiling these 6 expensive files
>>>>> in
>>>>> > parallel because the system runs out of memory. Is there a way to
>>>>> tell
>>>>> > scons not to build any of these files in parallel ?
>>>>>
>>>>> https://scons.org/doc/production/HTML/scons-man.html#f-SideEffect
>>>>>
>>>>> The manpage isn't terribly verbose on this, there's also a wiki page
>>>>> but
>>>>> all it really adds is examples:
>>>>>
>>>>> https://github.com/SCons/scons/wiki/SideEffect
>>>>> _______________________________________________
>>>>> Scons-users mailing list
>>>>> Scons-users at scons.org
>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>> _______________________________________________
>> Scons-users mailing list
>> 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/20200629/e03350bd/attachment-0001.html>


More information about the Scons-users mailing list