[Scons-users] SConsignFile(None) + Decider('MD5-timestamp')

trevor fitzsimmons t_fitzs at hotmail.com
Thu Aug 13 13:24:06 EDT 2020


Python 3.6.9, Scons 4.0.1

________________________________
From: Scons-users <scons-users-bounces at scons.org> on behalf of Bill Deegan <bill at baddogconsulting.com>
Sent: Thursday, August 13, 2020 1:00 PM
To: SCons users mailing list <scons-users at scons.org>
Subject: Re: [Scons-users] SConsignFile(None) + Decider('MD5-timestamp')

scons -u is what you want.
See the manpage..

If you're not processing all the SConscripts your build may be out of date.. assuming the current directory depends (recursively) on any other directories targets.

Also see: https://github.com/SCons/scons/wiki/GoFastButton

--implicit-deps-unchanged
and
--implicit-cache

Should help some, but note if your implicit dependencies change will be missed.

Which version of SCons/Python are you using?




On Thu, Aug 13, 2020 at 9:18 AM trevor fitzsimmons <t_fitzs at hotmail.com<mailto:t_fitzs at hotmail.com>> wrote:
Specifying a directory or specific target from the top level does work, but there is a performance cost, as scons seems to process all SConstructs, which is about 30s on the actual project.

The only combination of -C, -d, -u, -U which I could find to work was using either -u or -U in combination with -C pointed at the top level, but it has the same performance penalty as above.  Are there changes I need to make to the SConstruct layout?

________________________________
From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> on behalf of Mats Wichmann <mats at wichmann.us<mailto:mats at wichmann.us>>
Sent: Thursday, August 13, 2020 11:22 AM
To: scons-users at scons.org<mailto:scons-users at scons.org> <scons-users at scons.org<mailto:scons-users at scons.org>>
Subject: Re: [Scons-users] SConsignFile(None) + Decider('MD5-timestamp')

On 8/13/20 9:10 AM, trevor fitzsimmons wrote:
> Sorry, somehow this email ended up in junk & I didn't see it when
> replying to the other one.
>
> The goal is to be able to build from any directory, and only have
> necessary targets rebuilt.  SConsignFile(None) seemed to be the only
> option I could find to do this.
>
> The example was simplified.  The real project has many nested
> directories, libraries, programs, etc.  Typically, builds are run from
> the top level, to build all changes (like when pulling changes from
> other developers).  However, it's also very helpful to be able to build
> from a specific directory when writing code (perhaps a single library,
> or a set of relate libraries), to avoid waiting on a full rebuild.
>
> Is there another setup that accomplishes this?  Maybe I just need to
> restructure things.

You can give the name of the specific directory as a commandline
argument to restrict the build from the top.

You can also use some combination of the -C, -d, -U and -u options to
adjust the behavior if your not at the top, such that you can be in the
directory you want to build in, and kick off a build by going "scons -u"
for example.

_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users
_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto: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/20200813/22c98ac9/attachment.html>


More information about the Scons-users mailing list