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

Bill Deegan bill at baddogconsulting.com
Mon Jun 29 10:37:28 EDT 2020


This

side_effect=env.File('.serialize', env['DO_DIR'])
env.SideEffect(side_effect,l1)
env.SideEffect(side_effect,l2)

Could/should be rewritten as:

side_effect="$DO_DIR/.serialize"
env.SideEffect(side_effect,l1)
env.SideEffect(side_effect,l2)

On Mon, Jun 29, 2020 at 3:20 AM Erik Kazandjian <erik.kazandjian at gmail.com>
wrote:

> 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
>>>
>> _______________________________________________
> 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/6782fdc1/attachment.html>


More information about the Scons-users mailing list