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

Daniel Moody dmoody256 at gmail.com
Tue May 17 18:11:57 EDT 2022


Also I added a new feature to my branch, now on the command line you can
pass arguments to ninja invocation from scons command line with
NINJA_CMD_ARGS=

So for example scons ... NINJA_CMD_ARGS="-n" will mean you will  see ninja
execute with the dry run arg '-n'.

On Tue, May 17, 2022 at 5:09 PM Daniel Moody <dmoody256 at gmail.com> wrote:

> 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/0a30eed0/attachment.htm>


More information about the Scons-users mailing list