Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from
Jun 8, 2022

Conversation

mysterywolf
Copy link
Member

@mysterywolf mysterywolf commented May 30, 2022

拉取/合并请求描述:(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
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
Member

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

@mysterywolf
Copy link
Member Author

mysterywolf commented Jun 4, 2022

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

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

@Guozhanxin
Copy link
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.

None yet

5 participants