[Scons-users] Mark existing file as up-to-date
William Blevins
wblevins001 at gmail.com
Fri May 9 10:36:00 EDT 2014
Would a custom decider help in this case? The default is timestamp but
base SCons package also provides MD5 sum and you can make your own.
V/R,
William
On May 9, 2014 4:22 AM, "Pedro Inácio" <pedromiragaia at gmail.com> wrote:
> @all, Thank you for your feedback.
>
> @William, the default build action is something like
> "foo $IN > $OUT"
> I can think of three situations where SCons flags $OUT to be rebuilt,
> 1. I might change the default build action for something like,
> "echo Building $OUT; foo $IN > $OUT"
> 2. I have recompiled foo, but I know that nothing changes in the output.
> 3. I may have changed input $IN, but I know that nothing changed in the
> output.
>
> In all three situations SCons is right. OUT should be rebuilt.
> However, I would like to have control and be able to tell SCons that in
> all three situations it does not need to rebuild the file.
>
> @Bill, good idea. I have tried this but it doesn't seem to work as
> expected. Perhaps I am doing something wrong. I believe the most pragmatic
> approach for me would be to ignore the entire build string.
> I replaced
> BarBuilder=Builder(action='''
> foo $SOURCE > $TARGET
> ''')
> with
> BarBuilder=Builder(action='''$(
> foo $SOURCE > $TARGET
> $)''')
> but for some reason SCons keeps flagging files for rebuild whenever I
> change the build action, despite the $( $).
>
>
>
> On 9 May 2014 00:35, Dirk Bächle <tshortik at gmx.de> wrote:
>
>> Hi Pedro,
>>
>>
>> On 08.05.2014 23:32, Pedro Inácio wrote:
>>
>>> I am using SCons for data processing.
>>> One of the perks is that, unlike traditional compilation projects, each
>>> file in my project might have required several hours to compute.
>>> Re-building existing files is, in general, not acceptable.
>>>
>>> [...
>>> Any ideas?
>>>
>>> I would simply split up your build into two single phases, something
>> like "SConstruct.preprocess" where you update all your precious files and
>> "SConstruct.postprocess" for all the build steps that use them as sources.
>> Then you can manually decide when it's efficient to run the preprocess
>> step again.
>>
>> Hope this helps.
>>
>> Best regards,
>>
>> Dirk
>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> http://four.pairlist.net/mailman/listinfo/scons-users
>>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> http://four.pairlist.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20140509/867304be/attachment.htm
More information about the Scons-users
mailing list