[Scons-users] Need clarifications about --implicit-deps-unchanged

Bill Deegan bill at baddogconsulting.com
Thu Dec 15 14:42:07 EST 2016


Pierre-Luc,

So an implicit dependency is one which is found by SCons by scanning your
specified (explicit) sources.
For example finding a header file included in a .cpp file.

By using --implicit-deps-unchanged you are effectively promising SCons that
you have not changed any include paths or added/removed any header files
from the sources you specify, or any files included there in.

If you change any of those then your build may miss a change in an implicit
dependency.

>From the manpage:

> --implicit-deps-unchanged
>
> Force SCons to ignore changes in the implicit dependencies. This causes
> cached implicit dependencies to always be used. This implies
> --implicit-cache.
>
More comments below inline.

Does this answer your question?


-Bill


On Thu, Dec 15, 2016 at 9:31 AM, Pierre-Luc Boily <pierreluc.boily at gmail.com
> wrote:

> Hello,
>
> On the page https://bitbucket.org/scons/scons/wiki/GoFastButton it is said
> '/scons --max-drift=1 --implicit-deps-unchanged will execute your build as
> fast as possible./'
>
> Also, it is said that by using --implicit-deps-unchanged options you are
> making a promise to SCons that you didn't change any of the implicit
> dependencies since it was last run.  Following this , I did testing between
> our make build system and scons. In the table below, I raised a question :
>
> The flag --implicit-deps-unchanged has been used while a dependency has
> changed.  The ouput shows that MaxsimAdapter.cpp has been recompiled.  Is
> it
> normal?
>
> I am compiling a program and I am located in flatUi folder.  This program
> has a dependency to a file located in another folder (MaxsimAdapter.cpp).
> MaxsimAdapter.cpp is in a .lib file and my program link to this .lib.  In
> my
> understanding, in the case where I modify MaxsimAdapter.cpp, I shall use
> scons -u.  But I realized that adding --implicit-deps-unchanged seems OK,
> because everything compile normally.
>

I'm not sure why you mention scons -u here? It's not relevant to the
function of --implicit-deps-unchanged.

If you change MaximAdapter.cpp (which I assume you specify as a source in a
Sconstruct or SConscript, then it should recompile that file, rebuild the
library, and relink any programs which use it with (or without) the flag in
question.



>
> I just want to make sure I fully understand --implicit-deps-unchanged and
> use it when it is appropriate.
>
> Thx
>
>
> <http://scons.1086193.n5.nabble.com/file/n40840/screenshot.jpg>
>
>
>
> --
> View this message in context: http://scons.1086193.n5.nabble.com/Need-
> clarifications-about-implicit-deps-unchanged-tp40840.html
> Sent from the Users mailing list archive at Nabble.com.
> _______________________________________________
> 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/20161215/3c9ac6bc/attachment.html>


More information about the Scons-users mailing list