-
Notifications
You must be signed in to change notification settings - Fork 207
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
Invoke "gcc" to build assembler files #671
Conversation
I am hopeful that this patch will address concerns about the migration of existing projects when invoking I have added a command generator for the Assembler flags MBS option that looks for cases where the tool command is
For example, a project that was previously building assember files using |
d00a3a9
to
6aacb7e
Compare
Looks good for the simple case. And this covers part of the issues raised during the CDT discussion. And what about [so nice] MBS inheritance? There are three value changes that can participate to the inheritance chain:
How do we ensure that this fix will not break downstream integrations? |
Thank you the feedback, @ruspl-afed.
The latest version of this PR accommodates cases where the tool command has been overridden XOR the option default value has been overridden. There is no issue when both have been overridden. There is no issue when neither has been overridden. This work does not accommodate the possibility that the tool command generator has been overridden while the tool command and option default value have not been overridden. The risk here seems very low. |
@jonahgraham I've invited you to review since there has been some difference in opinion on this topic. I would suggest a N&N entry that covers "how to fix" in extreme edge cases such as overridden Assembler flags option command generator. |
b968366
to
c067ac8
Compare
Enables pre-processing of *.S and *.sx source files.
try { | ||
if (null != toolCommand && IOption.STRING == option.getValueType() && option.getCommand().isEmpty()) { | ||
String optionValue = option.getStringValue(); | ||
if (toolCommand.equals("gcc")) { //$NON-NLS-1$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry to be late the party here, but should this line not match arm-non-eabi-gcc
for example, or gcc.exe
? Or is it enough to have a strict check for gcc
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are checking only whether the tool command has been overridden. We don't care if it has been overridden by the user or by an extender. If the tool command has been overridden, then our new default value (gcc
) will have no effect on the build and we do not need to modify the assembler flags.
Enables pre-processing of *.S and *.sx source files.
Part of #666