[Scons-users] 回复: env.Textfile problem

Daniel Moody dmoody256 at gmail.com
Tue May 17 18:09:10 EDT 2022


Hello liruncong,

I reproduced the problem. The problem is that scons does not update the
ninja file if the existing ninja file looks exactly the same. Because the
define option -DTEST2 is hidden a generated file, scons detects the ninja
file is the same and does not update. Ninja also detects the the ninja file
is the same, and does not call on scons to regenerate the defineOptsFile.

Originally you brought up the complaint that ninja always rebuilds some
files and you think it should just say (ninja:no work to do). I added a new
feature described previously to deal with this, but it seems it will not
work with generated files like defineOptsFile. I reverted this feature in
the ninja_integration_branch, you will have to see ninja calling to scons
to check if some files should build, only scons can make the decision and
ninja will detect if scons updated the files and if it should then rebuild
things which depended on those files.

On Tue, May 17, 2022 at 7:02 AM liruncong2018 <liruncong2018 at qq.com> wrote:

> Hello Daniel Moody,
> Thanks for the reminder, I corrected the recompile problem (
> https://github.com/liruncong/NinJaTest/tree/EnvTextFile).
> But the problem of not recompiling after modifying defineOptsFile, I still
> have no idea.
>
>
> ------------------ 原始邮件 ------------------
> *发件人:* "Daniel Moody" <dmoody256 at gmail.com>;
> *发送时间:* 2022年5月17日(星期二) 下午2:03
> *收件人:* "SCons users mailing list"<scons-users at scons.org>;
> *抄送:* "liruncong2018"<liruncong2018 at qq.com>;
> *主题:* Re: [Scons-users] 回复: env.Textfile problem
>
> hello liruncong,
>
> First you should understand why it is recompiling every time with just
> scons. Are your @files being generated differently because of ordering of
> the contents? Can you pick one file which is always recompiled and use this
> as the target to build with --debug=explain option?
>
>
>
> On Sun, May 15, 2022 at 4:20 AM liruncong2018 via Scons-users <
> scons-users at scons.org> wrote:
>
>> Hi,
>> I originally wanted to reproduce the problem in the test project, but I
>> did find another problem, scons is recompiled every time.
>> Test code: liruncong/NinJaTest at EnvTextFile (github.com)
>> <https://github.com/liruncong/NinJaTest/tree/EnvTextFile>
>> However, this problem was not found in my actual project.
>> The test project uses the gcc toolchain, and my actual project uses the
>> armclang (clang) toolchain.
>>
>> When ninja is not enabled, it is all recompiled every time you compile.
>> After enabling ninja, the first two executions are all recompiles, and the
>> third start is normal (ninja: no work to do.).
>> After normal (three times later), modify defineOptsFile as follows, scons
>> (enable ninja) does not recompile, which should be problematic.
>> defineOptsFile = env.Textfile("build/__define_options.txt", [
>>      "-DTEST1",
>>      "-DTEST2"  # new added
>> ])
>>
>> ------------------ 原始邮件 ------------------
>> *发件人:* "Bill Deegan" <bill at baddogconsulting.com>;
>> *发送时间:* 2022年5月15日(星期天) 上午7:20
>> *收件人:* "SCons users mailing list"<scons-users at scons.org>;
>> *抄送:* "liruncong2018"<liruncong2018 at qq.com>;
>> *主题:* Re: [Scons-users] env.Textfile problem
>>
>> Not enough information to help you.
>>
>> What's your scons logic look like for this?
>>
>> On Sat, May 14, 2022 at 3:04 AM liruncong2018 via Scons-users <
>> scons-users at scons.org> wrote:
>>
>>> Hi,
>>> The source(env.Textfile second parameter) change did not trigger
>>> recompilation when using env.Textfile.
>>> scons version: Commits · dmoody256/scons (github.com)
>>> <https://github.com/dmoody256/scons/commits/ninja_integration_branch>
>>> commit: force utf-8
>>> <https://github.com/dmoody256/scons/commit/c046aa853c177506543c0510562121b04f189e87>
>>> _______________________________________________
>>> 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/20220517/f81eef8e/attachment-0001.htm>


More information about the Scons-users mailing list