bitfieldaudio / OTTO

Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
https://bitfieldaudio.com
Other
2.63k stars 144 forks source link

Update Travis To Clang 10 #176

Closed brianmichel closed 4 years ago

brianmichel commented 4 years ago

We're currently supporting on Clang 10+ for building this project, so we should clean up our CI jobs to make sure they are using Clang 10 to catch relevant errors and to match local build environments.

Additionally, it seems like LLVM recently moved all new releases to being published in Github so we have to change our install scripts to point to them to download the Clang 10 sources.

If you check out the Clang 10 page on LLVM.org you will see that these redirect to Github so I figured it could be nice to clean up the versions on the install scripts as well as rewrite the URLs to point to Github since we're not supporting a backwards compatible build matrix.

I was unsure if I should also be looking to update libstdc++ in lockstep with updating Clang, but from my reading it sounds like that is not necessarily the case, but please advise me of what this project usually does.

brianmichel commented 4 years ago

I've partially duplicated the changes in https://github.com/OTTO-project/OTTO/pull/175 to remove the reliance on linking c++fs so this PR should pass without issue. I will need to rebase the other PR to allow for compilation on macOS.

brianmichel commented 4 years ago

It also seems that there are pending changes to allow this Xenial repo into Travis soon https://github.com/travis-ci/apt-source-safelist/pull/408

topisani commented 4 years ago

Nice, thanks! Regarding libc++, the kinda confusing part is that libstdc++ is the GNU standard library, and libc++ is the LLVM/clang standard library. Both should probably be updated to versions matching the compiler.

Also, we are going to require GCC 10 as well very soon, so if you're up for it it would be nice to upgrade that as well. If not, no worries.

topisani commented 4 years ago

It would probably be nice to have an OSX build on travis again - if you're in the travis weeds and have time.

brianmichel commented 4 years ago

@topisani I think these are all great ideas, but I think they should be two additional PRs (I'm happy to make them) and we leave this one as-is to merge.

The first one being updating components to GCC 10 (which should update libstdc++) The second one being closing my existing macOS PR, and extending it to start running on Travis again.

What do you think about that plan?

topisani commented 4 years ago

Fine by me :)

brianmichel commented 4 years ago

Fine by me :)

Perfect! I'll make some todos for myself and start on it either today or tomorrow. By the way, do you know what controls the branch job? Also, do you know what makes the "Travis CI - Branch" job succeed? I saw there was maybe a bug here so I just wanted to make sure there wasn't anything else I had to add to ensure these jobs were passing.

Thanks!

topisani commented 4 years ago

Hmm, it might be because its a branch in your fork