-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Added support for Texas Instruments C6000 compiler. #12246
Added support for Texas Instruments C6000 compiler. #12246
Conversation
Please squash the commits too! |
2aa9b93
to
678d16e
Compare
e744727
to
33dc8bf
Compare
This looks pretty clean. I marked it on the 1.3.0 milestone, so hopefully someone with merge powers can come through and click the button! |
33dc8bf
to
dbe6361
Compare
Would you mind adding a release snippet? |
dbe6361
to
5b0f6e0
Compare
Well... but how to do it? Just write here into this conversation? Or should I do it some special way? I'm sorry, I'm new to these processes on github :-). |
@Machapet look in docs/markdown/snippets and add a new file there. |
5b0f6e0
to
3c90c55
Compare
3c90c55
to
d484ea4
Compare
I see you've copied the comment I left on the C2000 compiler: Ideally, all TI compilers should now be pretty much supported, though I see you probably have to add the compiler .exe name at least. Does it work if you use the TI armclang PR I made in #11421 (which in an ideal world would also make it into 1.3) ? |
You may also need to combine it with my other pending PR, #11942 - which removes the linker name requirement entirely (compiler name is still needed for detection though, which could be fixed) |
I'm not sure if I understand what I'm expected to do. Currently we are not using TI armclang as it was not suitable for us, but neither me nor my collegues don't remember what was the reason, it is more than 1 1/2 year. We are also using TI-CGT v20.0.6.LTS (armcl, armar...) for some AM1X based devices (TI ARM) and there were no problems to use Meson with this compiler. Have I answered your question? |
Sorry for the confusion. If the c6000 compiler must be different from the "generic" TI-CGT implementation (i.e. your modifications to If the c6000 compiler can be treated the same as other ti-cgt compilers, then I think it would be good to remove the C6000 classes (CCompiler/CPPCompiler/Linker/DynamicLinker) and simply use the TICompiler classes. The misidentification of TI armclang that you moved the code to line 442 for should be solved by my armclang support PR, though it shouldn't really change your use of ti-cgt. |
I'm afraid I cannot remove my "C6000" classes. I tried to apply your changes into my code without my classes and did not work: |
d484ea4
to
fb830ec
Compare
I pushed minor changes (only remove some #comments) and some checks did not pass (https://github.com/mesonbuild/meson/actions/runs/6529125143/job/17726319329?pr=12246, https://github.com/mesonbuild/meson/actions/runs/6529125144/job/17726319000?pr=12246). Where is the problem? |
@Machapet the CI is flaky. Your changes probably didn't do anything to cause the failures. |
1099cea
to
23b8d3c
Compare
Pylint job is failing. Also squash your commits. |
23b8d3c
to
b1dd1b0
Compare
Are you going to remove the merge commit? |
Can you rebase this? I think this has been reviewed and can be merged |
I'm sorry but what I'm expected to do now? I'm still not familiar with the github workflow. I tried to follow the instructions from here: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request but I can't see any options at my pull request. |
Hey! It's super simple:
|
0507abf
to
f7233fd
Compare
f7233fd
to
f90580f
Compare
When C6000 support was added in mesonbuild#12246, TI compilers were given the correct version argument. This broke the previous check which relied on an error being thrown by the compiler.
When C6000 support was added in mesonbuild#12246, TI compilers were given the correct version argument. This broke the previous check which relied on an error being thrown by the compiler.
Created new compiler and linker classes:
It was necessary the compiler can detect both extension for static libs (*.a, .lib) and for dynamic libs (.dll, *.so) => added function is_baremetal()
Added new cpu family 'c6000' into known_cpu_families for which the C6000 compiler is used (https://www.ti.com/tool/C6000-CGT)