Re: Is there a way to isolate building a specific file
Erik Kazandjian <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAOePwYOenknpAape-ztQU0n7oJfd--0DDi2AP+3hc9D4=cn_sw@mail.gmail.com> |
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 <[email protected]> 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 <[email protected]> > 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 < >> [email protected]> 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 <[email protected]> >>> 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 <[email protected]> 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 >>>>> [email protected] >>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>>> >>>> _______________________________________________ >>>> Scons-users mailing list >>>> [email protected] >>>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>>> >>> _______________________________________________ >>> Scons-users mailing list >>> [email protected] >>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>> >> _______________________________________________ >> Scons-users mailing list >> [email protected] >> https://pairlist4.pair.net/mailman/listinfo/scons-users >> > _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users