Skip to content

[scons][iar] sconscript rtconfig.py: CROSS_TOOL -> PLATFORM#6011

Merged
Guozhanxin merged 3 commits into
RT-Thread:masterfrom
mysterywolf:iar
Jun 8, 2022
Merged

[scons][iar] sconscript rtconfig.py: CROSS_TOOL -> PLATFORM#6011
Guozhanxin merged 3 commits into
RT-Thread:masterfrom
mysterywolf:iar

Conversation

@mysterywolf

@mysterywolf mysterywolf commented May 30, 2022

Copy link
Copy Markdown
Member

拉取/合并请求描述:(PR description)

在判断编译器是应该使用PLATFROM字段而不是CROSS_TOOL字段,PLATFORM字段记录着该编译器当前所使用的编译工具链叫什么名字,而CROSS_TOOL只是IDE的名字。
使用CROSS_TOOL来判断当前的编译器工具链会出现很大的问题,比如Keil编译器,他的工具链有两个,如果直接用CROSS_TOOL == 'keil' 这种方式来判断是没有意义的,因此要是用PLATFORM in ['armcc', 'armclang']的方式

目前IAR还在使用CROSS_TOOL字段来判断,这样

  1. 会给用户带来很大的误导,在Sconscript编写脚本的时候到底用哪个字段判断编译器,怎么一会用PLATFROM 一会用CROSS_TOOL?
  2. 不排除未来IAR会和Keil一样支持多个不同的编译链

在经过本PR修订之后,给出了明确的结论:
判断当前使用何种工具链一律使用PLATFROM字段,不使用CROSS_TOOL字段

related: #5802

以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。
The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • 本拉取/合并请求代码是高质量的 Code in this PR is of high quality
  • 本拉取/合并使用formatting等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification

因为不确定后续IAR是否会像Keil一样内含有不同的编译工具链
此外,将判断条件改为列表方式,这样更方便后续增加其他可能的IAR编译链
将路径更新为IAR最新版本的路径
@mysterywolf mysterywolf changed the title Iar [scons][iar] sconscript rtconfig.py: CROSS_TOOL -> PLATFORM May 30, 2022
@thewon86

Copy link
Copy Markdown
Contributor

不错,顺便避免了 #5953 这个问题

@Guozhanxin Guozhanxin added the +1 Agree +1 label May 31, 2022
@liukangcc liukangcc added the +2 Agree +2 label Jun 3, 2022
@BernardXiong

Copy link
Copy Markdown
Member

这个一些点上还是困扰的,因为PLATFORM也不是编译器的意思。或者应该是CC?CC = gcc | iar | armcc | armclang | etc...

@mysterywolf

mysterywolf commented Jun 4, 2022

Copy link
Copy Markdown
Member Author

这个一些点上还是困扰的,因为PLATFORM也不是编译器的意思。或者应该是CC?CC = gcc | iar | armcc | armclang | etc...

是的,这两个词实际上对于用户来说理解起来有些困扰,但是目前这个版本,不能改成CC,一旦改成CC软件包里的Sconscript也得改。这个改动得留到5.0.0. 目前这个PR只满足到4.1.1版本。

@Guozhanxin

Copy link
Copy Markdown
Member

至少这个pr应该没问题,要不这个就先合并了吧,要优化也是后面统一优化了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

important +1 Agree +1 +2 Agree +2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants