[Scons-users] What affects rebuilding?

Bill Deegan bill at baddogconsulting.com
Tue Jun 30 10:57:37 EDT 2015


Try:

scons --debug=explain

It should tell you why targets are being built..

On Tue, Jun 30, 2015 at 10:38 AM, William Blevins <wblevins001 at gmail.com>
wrote:

> May also be a VariantDir specific issue.
>
> V/R,
> William
>
> On Tue, Jun 30, 2015 at 10:37 AM, William Blevins <wblevins001 at gmail.com>
> wrote:
>
>> I think this is the issue you are describing.
>>
>> http://scons.tigris.org/issues/show_bug.cgi?id=2980
>>
>> There is part of a patch attached.  I looked at it at some point, but
>> there were still tests failing.
>>
>> V/R,
>> William
>>
>> On Tue, Jun 30, 2015 at 10:23 AM, Douwe Gelling <douwegelling at gmail.com>
>> wrote:
>>
>>> I have a problem where scons rebuilds files when I change targets on the
>>> commandline.
>>> I make use of the COMMAND_LINE_TARGETS list to optionally use some other
>>> sconsfiles,
>>> and also use variant directories to set the object output directories.
>>> It seems somehow this
>>> may all be interacting with each other.
>>>
>>> Specifically, I get the following type of behaviour:
>>>
>>> 1. I build my program using the default target (scons -jN ...)
>>>
>>> 2. I build some extra program by setting a new target. It depends on
>>> some files that were compiled before,
>>>     but decides to rebuild it. Using --explain, I get the following type
>>> of message:
>>>
>>> rebuilding 'a/b/c/d.o' because
>>>    a/b/c/d.cpp is no longer a dependency
>>>    a/b/c/d.cpp is a new dependency
>>>
>>> 3. I build my default program again, scons rebuilds everything yet
>>> again, giving the same message as in 2.
>>>
>>> I've changes the scons source a bit to show more information in the
>>> explain function, and it turns out that
>>> in both steps 2 and 3, the file that is no longer a dependency is the
>>> original cpp file, and the file that is a
>>> new dependency is the file located in the variant directory (say,
>>> a/b/c/obj/linux/x86_64/d.cpp).
>>>   This happens even though in the call to VariantDir, duplicate is set
>>> to 0. If I set it to 1 instead, the message
>>> scons gives me is that it's rebuilding 'because the contents of the
>>> build action changed'
>>>
>>>
>>> On 30 June 2015 at 15:31, William Blevins <wblevins001 at gmail.com> wrote:
>>>
>>>> See the Decider section of the man page for how scons determines if a
>>>> source has changed.
>>>>
>>>> SCons also checks for changes to the overall build command as generated
>>>> by the executor.
>>>>
>>>> What is your specific question?
>>>>
>>>> V/R,
>>>> William
>>>> On Jun 30, 2015 5:28 AM, "Douwe Gelling" <douwegelling at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I'm wondering which things scons tracks when deciding whether or not
>>>>> to rebuild a file, apart
>>>>> from the file itself. I know changing commandline variables forces a
>>>>> rebuild, but are there other
>>>>> things that do the same? For example, does scons look for changes in
>>>>> the environment for a particular file? Or something else?
>>>>>
>>>>> thanks
>>>>>
>>>>> _______________________________________________
>>>>> 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/20150630/e0b6205b/attachment.html>


More information about the Scons-users mailing list