-
Notifications
You must be signed in to change notification settings - Fork 2k
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
murdock: also compile with LLVM/clang #9398
Conversation
Requested review by @kaspar030 since it is his code I'm fiddling around with and by @gebart since IIRC he introduced the |
Seems to work now + Murdock already picked out some errors ;-) |
.murdock
Outdated
echo "gnu llvm" | ||
else | ||
echo "gnu" | ||
fi |
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.
Maybe this construct could be replaced with some BOARD=$board make info-toolchains-supported
target? This way also the ARM platforms will be build with LLVM.
Except for one error in |
Funny one, this seems to come from |
I think the best way is just to ignore the Wtautological-pointer-compare warning for that line. Use something in utlist.h like the example in the clang manual #pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
Blah
#pragma clang diagnostic pop |
I would really like to have llvm for native and llvm for at least few reference boards. |
@cladmi any idea how to achieve this based on the changes I already provided (keeping #9398 (comment) in mind)? |
@miri64 I did not really review for the moment. |
@miri64 I would say it depends, on what is wanted, test all possible boards or just some. If it is focusing first only on CI where some boards are selected for testing, adding other names at the place where you put If it is meant to be global, the |
Ok, then considering these three statements and with the urge to keep it simple for now, I would then check platform is native or a selection of a few other ARM-based boards in the hard-coded manner I applied for now and we later on select to provide a make target. |
(to my knowledge non of our other architectures have llvm-support at the moment) |
I added |
It looks like murdock cannot generated the aggregated report with this added parameter. From guessing and if I understand correctly I would imagine that adding |
Let's try that ;-) |
Nope, with that it doesn't show any build results anymore ;-) |
.murdock
Outdated
local board=$1 | ||
|
||
# TODO provide make target in similar fashion as the info-boards-supported one | ||
for b in native samr21-xpro nucleo-f401re |
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.
I would prefer to have this list in a global variable outside of the function to not have this "magic" list in the function.
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.
+1, similar to TEST_BOARDS_AVAILABLE
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.
Ok
@kaspar030 do you have any idea how to fix the output ? |
.murdock
Outdated
local board=$1 | ||
|
||
# TODO provide make target in similar fashion as the info-boards-supported one | ||
for b in native samr21-xpro nucleo-f401re |
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.
please re-use the is_in_list
function.
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.
Done
I'll have a look. |
Rebased |
237dfbe
to
1394027
Compare
I talked about this PR with @cladmi over lunch and we decided to remove the failing architectures from the build list for add them in follow-ups, so we can finally proceed with this PR. |
0754011
to
7edeabe
Compare
Done |
d739fa8
to
42c5b00
Compare
Note to self: old state of |
@kaspar030 can you have another look? |
.murdock
Outdated
@@ -9,7 +12,7 @@ export DLCACHE_DIR=${DLCACHE_DIR:-~/.dlcache} | |||
NIGHTLY=${NIGHTLY:-0} | |||
RUN_TESTS=${RUN_TESTS:-${NIGHTLY}} | |||
|
|||
DWQ_ENV="-E BOARDS -E APPS -E NIGHTLY -E RUN_TESTS" | |||
DWQ_ENV="-E BOARDS -E APPS -E NIGHTLY -E RUN_TESTS -E TOOLCHAIN" |
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.
@cladmi and I weren't really sure if this is required
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.
From what I understand now, it should not be necessary.
The compile tasks including toolchain will be listed by
Lines 125 to 127 in a8c53ec
dwqc ${DWQ_ENV} -s \ | |
"$0 get_app_board_toolchain_pairs \${1}" \ | |
| xargs '-d\n' -n 1 echo $0 compile |
And set from the argument in
Lines 136 to 139 in a8c53ec
compile() { | |
local appdir=$1 | |
local board=$(echo $2 | cut -f 1 -d':') | |
local toolchain=$(echo $2 | cut -f 2 -d':') |
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.
I removed this change, so let's see how murdock might react.
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.
Seems to work regardless :-)
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.
Good for me. You can squash.
There are two major reasons for this: 1. clang picks up different errors sometimes than GCC. 2. OSX support is hardened as it is usually the toolchain used there.
Squashed |
83013d9
to
9160b9c
Compare
@kaspar030 do you have any remarks left before merging ? |
I'm happy here. Good job guys! |
Contribution description
This is just an RFC and just a sketch at the moment, as I don't know how good this idea is (may slow down Murdock builds, but so would any new board) or if what I'm doing here is even correct.
But there are two major reasons for this:
Issues/PRs references
None (but idea sparked by #8646 (comment))