Skip to content

build: Update to clang 20 #215

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

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,21 +126,21 @@ jobs:
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
sudo apt-get install libc++-19* libc++abi*19* -y --no-install-recommends
echo "CC=clang-19" >> "$GITHUB_ENV"
echo "CXX=clang++-19" >> "$GITHUB_ENV"
echo "OBJC=clang-19" >> "$GITHUB_ENV"
sudo ./llvm.sh 20
sudo apt-get install libc++-20* libc++abi*20* -y --no-install-recommends
echo "CC=clang-20" >> "$GITHUB_ENV"
echo "CXX=clang++-20" >> "$GITHUB_ENV"
echo "OBJC=clang-20" >> "$GITHUB_ENV"

- name: Setup Clang (Linux) (libstdc++)
if: matrix.config.os == 'ubuntu' && matrix.config.use-clang == true && (! matrix.config.use-clang_stdlib)
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
echo "CC=clang-19" >> "$GITHUB_ENV"
echo "CXX=clang++-19" >> "$GITHUB_ENV"
echo "OBJC=clang-19" >> "$GITHUB_ENV"
sudo ./llvm.sh 20
echo "CC=clang-20" >> "$GITHUB_ENV"
echo "CXX=clang++-20" >> "$GITHUB_ENV"
echo "OBJC=clang-20" >> "$GITHUB_ENV"

- name: Setup GCC (Linux)
if: matrix.config.os == 'ubuntu' && matrix.config.use-clang == false
Expand All @@ -163,10 +163,10 @@ jobs:
if: matrix.config.os == 'macos'
run: |
brew update
brew install llvm@19 lld@19
echo "$(brew --prefix)/opt/llvm@19/bin:$(brew --prefix)/opt/lld@19/bin" >> $GITHUB_PATH
echo "LDFLAGS=-L$(brew --prefix)/opt/llvm@19/lib -L$(brew --prefix)/opt/llvm@19/lib/c++ -Wl,-rpath,$(brew --prefix)/opt/llvm@19/lib/c++ -L$(brew --prefix)/opt/lld@19/lib" >> "$GITHUB_ENV"
echo "CPPFLAGS=-I$(brew --prefix)/opt/llvm@19/include -I$(brew --prefix)/opt/lld@19/include" >> "$GITHUB_ENV"
brew install llvm@20 lld@20
echo "$(brew --prefix)/opt/llvm@20/bin:$(brew --prefix)/opt/lld@20/bin" >> $GITHUB_PATH
echo "LDFLAGS=-L$(brew --prefix)/opt/llvm@20/lib -L$(brew --prefix)/opt/llvm@20/lib/c++ -Wl,-rpath,$(brew --prefix)/opt/llvm@20/lib/c++ -L$(brew --prefix)/opt/lld@20/lib" >> "$GITHUB_ENV"
echo "CPPFLAGS=-I$(brew --prefix)/opt/llvm@20/include -I$(brew --prefix)/opt/lld@20/include" >> "$GITHUB_ENV"
echo "CC=clang" >> "$GITHUB_ENV"
echo "CXX=clang++" >> "$GITHUB_ENV"
echo "OBJC=clang" >> "$GITHUB_ENV"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ jobs:
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
echo "CC=clang-19" >> "$GITHUB_ENV"
echo "CXX=clang++-19" >> "$GITHUB_ENV"
echo "OBJC=clang-19" >> "$GITHUB_ENV"
sudo ./llvm.sh 20
echo "CC=clang-20" >> "$GITHUB_ENV"
echo "CXX=clang++-20" >> "$GITHUB_ENV"
echo "OBJC=clang-20" >> "$GITHUB_ENV"

- name: Prepare compile_commands.json
run: |
Expand All @@ -44,7 +44,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
version: 19
version: 20
database: build
files-changed-only: ${{ github.event_name != 'workflow_dispatch' }}
lines-changed-only: ${{ github.event_name != 'workflow_dispatch' }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/musl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ jobs:
- name: Install dependencies
run: |
apk update
apk add wget meson ca-certificates samurai git openssl-dev openssl pkgconf sdl2 sdl2-dev sdl2_mixer-dev sdl2_ttf-dev sdl2_mixer-dev sdl2_image-dev dbus-dev ${{ ( matrix.config.use-clang == true ) && 'clang19' || 'gcc g++' }} ${{ ( matrix.config.use-clang == true && matrix.config.use-clang_stdlib == true ) && 'libc++ libc++-dev llvm-libunwind llvm-libunwind-dev ' || '' }}
echo "CC=${{ matrix.config.use-clang == true && 'clang-19' || 'gcc' }}" >> "$GITHUB_ENV"
echo "CXX=${{ matrix.config.use-clang == true && 'clang++-19' || 'g++' }}" >> "$GITHUB_ENV"
apk add wget meson ca-certificates samurai git openssl-dev openssl pkgconf sdl2 sdl2-dev sdl2_mixer-dev sdl2_ttf-dev sdl2_mixer-dev sdl2_image-dev dbus-dev ${{ ( matrix.config.use-clang == true ) && 'clang20' || 'gcc g++' }} ${{ ( matrix.config.use-clang == true && matrix.config.use-clang_stdlib == true ) && 'libc++ libc++-dev llvm-libunwind llvm-libunwind-dev ' || '' }}
echo "CC=${{ matrix.config.use-clang == true && 'clang-20' || 'gcc' }}" >> "$GITHUB_ENV"
echo "CXX=${{ matrix.config.use-clang == true && 'clang++-20' || 'g++' }}" >> "$GITHUB_ENV"

- uses: actions/checkout@v4
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
sudo apt-get install libc++-19* libc++abi*19* llvm-19 -y --no-install-recommends
echo "CC=clang-19" >> "$GITHUB_ENV"
echo "CXX=clang++-19" >> "$GITHUB_ENV"
sudo ./llvm.sh 20
sudo apt-get install libc++-20* libc++abi*20* llvm-20 -y --no-install-recommends
echo "CC=clang-20" >> "$GITHUB_ENV"
echo "CXX=clang++-20" >> "$GITHUB_ENV"

# NOTE: meson has no dependencies, so --break-system-packages doesn't really break anything!
- name: Setup meson
Expand Down
Loading