mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
CI: Bump Lagom CI builds to gcc-13 and clang-18
This includes Lagom Tools for Serenity builds, and the Lagom builds on Azure.
This commit is contained in:
parent
913cffe928
commit
2e385e4c12
Notes:
sideshowbarker
2024-07-17 02:14:39 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/2e385e4c12 Pull-request: https://github.com/SerenityOS/serenity/pull/23077 Reviewed-by: https://github.com/BertalanD Reviewed-by: https://github.com/trflynn89 ✅
14 changed files with 53 additions and 53 deletions
12
.github/workflows/cmake.yml
vendored
12
.github/workflows/cmake.yml
vendored
|
@ -59,7 +59,7 @@ jobs:
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y clang-format-16 ccache e2fsprogs gcc-12 g++-12 libstdc++-12-dev libmpfr-dev libmpc-dev ninja-build optipng qemu-utils qemu-system-i386 unzip generate-ninja libegl1-mesa-dev
|
sudo apt-get install -y clang-format-16 ccache e2fsprogs gcc-13 g++-13 libstdc++-13-dev libmpfr-dev libmpc-dev ninja-build optipng qemu-utils qemu-system-i386 unzip generate-ninja libegl1-mesa-dev
|
||||||
if ${{ matrix.arch == 'aarch64' }}; then
|
if ${{ matrix.arch == 'aarch64' }}; then
|
||||||
# FIXME: Remove this when we no longer build our own Qemu binary.
|
# FIXME: Remove this when we no longer build our own Qemu binary.
|
||||||
sudo apt-get install libgtk-3-dev libpixman-1-dev libsdl2-dev libslirp-dev
|
sudo apt-get install libgtk-3-dev libpixman-1-dev libsdl2-dev libslirp-dev
|
||||||
|
@ -72,7 +72,7 @@ jobs:
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install flake8 requests
|
pip install flake8 requests
|
||||||
- name: Check versions
|
- name: Check versions
|
||||||
run: set +e; g++ --version; g++-12 --version; clang-format --version; clang-format-16 --version; prettier --version; python --version; python3 --version; ninja --version; flake8 --version; ccache --version; qemu-system-i386 --version; gn --version
|
run: set +e; g++ --version; g++-13 --version; clang-format --version; clang-format-16 --version; prettier --version; python --version; python3 --version; ninja --version; flake8 --version; ccache --version; qemu-system-i386 --version; gn --version
|
||||||
|
|
||||||
- name: Enable KVM group perms
|
- name: Enable KVM group perms
|
||||||
run: |
|
run: |
|
||||||
|
@ -193,8 +193,8 @@ jobs:
|
||||||
-DSERENITY_ARCH=${{ matrix.arch }} \
|
-DSERENITY_ARCH=${{ matrix.arch }} \
|
||||||
-DSERENITY_TOOLCHAIN=GNU \
|
-DSERENITY_TOOLCHAIN=GNU \
|
||||||
-DBUILD_LAGOM=ON \
|
-DBUILD_LAGOM=ON \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DENABLE_ALL_DEBUG_FACILITIES=ON \
|
-DENABLE_ALL_DEBUG_FACILITIES=ON \
|
||||||
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
||||||
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
||||||
|
@ -207,8 +207,8 @@ jobs:
|
||||||
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
||||||
-DSERENITY_ARCH=${{ matrix.arch }} \
|
-DSERENITY_ARCH=${{ matrix.arch }} \
|
||||||
-DSERENITY_TOOLCHAIN=GNU \
|
-DSERENITY_TOOLCHAIN=GNU \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DENABLE_UNDEFINED_SANITIZER=ON \
|
-DENABLE_UNDEFINED_SANITIZER=ON \
|
||||||
-DUNDEFINED_BEHAVIOR_IS_FATAL=ON \
|
-DUNDEFINED_BEHAVIOR_IS_FATAL=ON \
|
||||||
-DDUMP_REGIONS_ON_CRASH=ON \
|
-DDUMP_REGIONS_ON_CRASH=ON \
|
||||||
|
|
8
.github/workflows/libjs-test262.yml
vendored
8
.github/workflows/libjs-test262.yml
vendored
|
@ -48,7 +48,7 @@ jobs:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y ninja-build unzip gcc-12 g++-12 jq wget
|
sudo apt-get install -y ninja-build unzip gcc-13 g++-13 jq wget
|
||||||
test -e /opt/wabt-1.0.27 || (
|
test -e /opt/wabt-1.0.27 || (
|
||||||
cd /tmp
|
cd /tmp
|
||||||
wget https://github.com/WebAssembly/wabt/releases/download/1.0.27/wabt-1.0.27-ubuntu.tar.gz
|
wget https://github.com/WebAssembly/wabt/releases/download/1.0.27/wabt-1.0.27-ubuntu.tar.gz
|
||||||
|
@ -68,7 +68,7 @@ jobs:
|
||||||
pip install -r libjs-test262/requirements.txt
|
pip install -r libjs-test262/requirements.txt
|
||||||
|
|
||||||
- name: Check versions
|
- name: Check versions
|
||||||
run: set +e; g++ --version; g++-12 --version; python --version; python3 --version; ninja --version
|
run: set +e; g++ --version; g++-13 --version; python --version; python3 --version; ninja --version
|
||||||
|
|
||||||
- name: TimeZoneData cache
|
- name: TimeZoneData cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
@ -98,8 +98,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
env PATH="/opt/wabt-1.0.27/bin:$PATH" \
|
env PATH="/opt/wabt-1.0.27/bin:$PATH" \
|
||||||
cmake -GNinja -B Build \
|
cmake -GNinja -B Build \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DWASM_SPEC_TEST_SKIP_FORMATTING=ON \
|
-DWASM_SPEC_TEST_SKIP_FORMATTING=ON \
|
||||||
-DINCLUDE_WASM_SPEC_TESTS=ON \
|
-DINCLUDE_WASM_SPEC_TESTS=ON \
|
||||||
-DSERENITY_SOURCE_DIR=${{ env.SERENITY_SOURCE_DIR }} \
|
-DSERENITY_SOURCE_DIR=${{ env.SERENITY_SOURCE_DIR }} \
|
||||||
|
|
|
@ -28,10 +28,10 @@ jobs:
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y clang-format-16 gcc-12 g++-12 libstdc++-12-dev libmpfr-dev libmpc-dev ninja-build unzip pvs-studio
|
sudo apt-get install -y clang-format-16 gcc-13 g++-13 libstdc++-13-dev libmpfr-dev libmpc-dev ninja-build unzip pvs-studio
|
||||||
|
|
||||||
- name: Check versions
|
- name: Check versions
|
||||||
run: set +e; g++ --version; g++-12 --version; ninja --version;
|
run: set +e; g++ --version; g++-13 --version; ninja --version;
|
||||||
|
|
||||||
- name: Prepare useful stamps
|
- name: Prepare useful stamps
|
||||||
id: stamps
|
id: stamps
|
||||||
|
@ -89,8 +89,8 @@ jobs:
|
||||||
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
||||||
-DSERENITY_ARCH=${{ env.PVS_STUDIO_ANALYSIS_ARCH }} \
|
-DSERENITY_ARCH=${{ env.PVS_STUDIO_ANALYSIS_ARCH }} \
|
||||||
-DSERENITY_TOOLCHAIN=GNU \
|
-DSERENITY_TOOLCHAIN=GNU \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
||||||
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
||||||
|
|
||||||
|
|
8
.github/workflows/serenity-js-artifacts.yml
vendored
8
.github/workflows/serenity-js-artifacts.yml
vendored
|
@ -29,7 +29,7 @@ jobs:
|
||||||
- name: Install dependencies Ubuntu
|
- name: Install dependencies Ubuntu
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y ninja-build unzip gcc-12 g++-12
|
sudo apt-get install -y ninja-build unzip gcc-13 g++-13
|
||||||
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||||
|
|
||||||
- name: Install dependencies macOS
|
- name: Install dependencies macOS
|
||||||
|
@ -45,7 +45,7 @@ jobs:
|
||||||
|
|
||||||
- name: Check versions Ubuntu
|
- name: Check versions Ubuntu
|
||||||
run: |
|
run: |
|
||||||
ninja --version; gcc-12 --version; g++-12 --version
|
ninja --version; gcc-13 --version; g++-13 --version
|
||||||
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||||
|
|
||||||
- name: Check versions macOS
|
- name: Check versions macOS
|
||||||
|
@ -80,8 +80,8 @@ jobs:
|
||||||
- name: Create build directory Ubuntu
|
- name: Create build directory Ubuntu
|
||||||
run: |
|
run: |
|
||||||
cmake -S Meta/Lagom -B Build -G Ninja \
|
cmake -S Meta/Lagom -B Build -G Ninja \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DBUILD_LAGOM=ON
|
-DBUILD_LAGOM=ON
|
||||||
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||||
|
|
||||||
|
|
|
@ -60,10 +60,10 @@ jobs:
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y clang-format-16 gcc-12 g++-12 libstdc++-12-dev libmpfr-dev libmpc-dev ninja-build unzip
|
sudo apt-get install -y clang-format-16 gcc-13 g++-13 libstdc++-13-dev libmpfr-dev libmpc-dev ninja-build unzip
|
||||||
|
|
||||||
- name: Check versions
|
- name: Check versions
|
||||||
run: set +e; g++ --version; g++-12 --version; ninja --version;
|
run: set +e; g++ --version; g++-13 --version; ninja --version;
|
||||||
|
|
||||||
- name: Prepare useful stamps
|
- name: Prepare useful stamps
|
||||||
id: stamps
|
id: stamps
|
||||||
|
@ -121,8 +121,8 @@ jobs:
|
||||||
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
cmake -S Meta/CMake/Superbuild -B Build/superbuild -GNinja \
|
||||||
-DSERENITY_ARCH=${{ env.SONAR_ANALYSIS_ARCH }} \
|
-DSERENITY_ARCH=${{ env.SONAR_ANALYSIS_ARCH }} \
|
||||||
-DSERENITY_TOOLCHAIN=GNU \
|
-DSERENITY_TOOLCHAIN=GNU \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
||||||
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
-DENABLE_USB_IDS_DOWNLOAD=OFF
|
||||||
|
|
||||||
|
|
6
.github/workflows/wasm.yml
vendored
6
.github/workflows/wasm.yml
vendored
|
@ -20,7 +20,7 @@ jobs:
|
||||||
- name: "Install Ubuntu dependencies"
|
- name: "Install Ubuntu dependencies"
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y ninja-build gcc-12 g++-12 libstdc++-12-dev
|
sudo apt-get install -y ninja-build gcc-13 g++-13 libstdc++-13-dev
|
||||||
- name: "Install emscripten"
|
- name: "Install emscripten"
|
||||||
uses: mymindstorm/setup-emsdk@v14
|
uses: mymindstorm/setup-emsdk@v14
|
||||||
with:
|
with:
|
||||||
|
@ -64,8 +64,8 @@ jobs:
|
||||||
-S ${{ github.workspace }}/Meta/Lagom \
|
-S ${{ github.workspace }}/Meta/Lagom \
|
||||||
-DBUILD_LAGOM=OFF \
|
-DBUILD_LAGOM=OFF \
|
||||||
-DSERENITY_CACHE_DIR=${{ github.workspace }}/Build/caches \
|
-DSERENITY_CACHE_DIR=${{ github.workspace }}/Build/caches \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=g++-13 \
|
||||||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/Build/lagom-tools \
|
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/Build/lagom-tools \
|
||||||
-Dpackage=LagomTools
|
-Dpackage=LagomTools
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,9 @@ brew install x86_64-elf-gdb
|
||||||
If you have Xcode version 14.2 or older, also install a newer host compiler from homebrew. Xcode 14.3 is known to work.
|
If you have Xcode version 14.2 or older, also install a newer host compiler from homebrew. Xcode 14.3 is known to work.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
brew install llvm@15
|
brew install llvm@18
|
||||||
# OR
|
# OR
|
||||||
brew install gcc@12
|
brew install gcc@13
|
||||||
```
|
```
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
|
@ -20,13 +20,13 @@ These instructions assume the OS installed is Ubuntu 22.04 (Jammy), so they migh
|
||||||
```shell
|
```shell
|
||||||
sudo add-apt-repository ppa:canonical-server/server-backports
|
sudo add-apt-repository ppa:canonical-server/server-backports
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||||
apt update
|
apt update
|
||||||
apt install git build-essential make cmake clang-format-15 gcc-12 g++-12 libstdc++-12-dev libgmp-dev ccache libmpfr-dev libmpc-dev ninja-build e2fsprogs qemu-utils qemu-system-i386 wabt
|
apt install git build-essential make cmake clang-format-16 gcc-13 g++-13 libstdc++-13-dev libgmp-dev ccache libmpfr-dev libmpc-dev ninja-build e2fsprogs qemu-utils qemu-system-i386 wabt
|
||||||
```
|
```
|
||||||
### Force usage of GCC 12
|
### Force usage of GCC 13
|
||||||
```shell
|
```shell
|
||||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12
|
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13
|
||||||
```
|
```
|
||||||
### Create a new user account named 'runner'
|
### Create a new user account named 'runner'
|
||||||
```shell
|
```shell
|
||||||
|
|
|
@ -43,9 +43,9 @@ If this happens, run `Meta/serenity.sh rebuild x86_64` to start over from a fres
|
||||||
|
|
||||||
### GCC is missing or is outdated
|
### GCC is missing or is outdated
|
||||||
|
|
||||||
Ensure your gcc version is >= 12 with `gcc --version`. Otherwise, install it. If your gcc binary is not
|
Ensure your gcc version is >= 13 with `gcc --version`. Otherwise, install it. If your gcc binary is not
|
||||||
called `gcc` you have to specify the names of your C and C++ compiler when you run cmake, e.g.
|
called `gcc` you have to specify the names of your C and C++ compiler when you run cmake, e.g.
|
||||||
`cmake ../.. -GNinja -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12`.
|
`cmake ../.. -GNinja -DCMAKE_C_COMPILER=gcc-13 -DCMAKE_CXX_COMPILER=g++-13`.
|
||||||
|
|
||||||
### Legacy renegotiation is disabled
|
### Legacy renegotiation is disabled
|
||||||
|
|
||||||
|
|
|
@ -25,15 +25,15 @@ jobs:
|
||||||
|
|
||||||
- name: host-cc
|
- name: host-cc
|
||||||
${{ if eq(parameters.os, 'macOS') }}:
|
${{ if eq(parameters.os, 'macOS') }}:
|
||||||
value: $(brew --prefix llvm@15)/bin/clang
|
value: $(brew --prefix llvm@18)/bin/clang
|
||||||
${{ if not(eq(parameters.os, 'macOS')) }}:
|
${{ if not(eq(parameters.os, 'macOS')) }}:
|
||||||
value: gcc-12
|
value: gcc-13
|
||||||
|
|
||||||
- name: host-cxx
|
- name: host-cxx
|
||||||
${{ if eq(parameters.os, 'macOS') }}:
|
${{ if eq(parameters.os, 'macOS') }}:
|
||||||
value: $(brew --prefix llvm@15)/bin/clang++
|
value: $(brew --prefix llvm@18)/bin/clang++
|
||||||
${{ if not(eq(parameters.os, 'macOS')) }}:
|
${{ if not(eq(parameters.os, 'macOS')) }}:
|
||||||
value: g++-12
|
value: g++-13
|
||||||
|
|
||||||
- name: ndk_version # only relevant for Android
|
- name: ndk_version # only relevant for Android
|
||||||
value: '25.2.9519653'
|
value: '25.2.9519653'
|
||||||
|
|
|
@ -52,8 +52,8 @@ jobs:
|
||||||
-DDUMP_REGIONS_ON_CRASH=ON \
|
-DDUMP_REGIONS_ON_CRASH=ON \
|
||||||
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
-DENABLE_PCI_IDS_DOWNLOAD=OFF \
|
||||||
-DENABLE_USB_IDS_DOWNLOAD=OFF \
|
-DENABLE_USB_IDS_DOWNLOAD=OFF \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=gcc-13 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12
|
-DCMAKE_CXX_COMPILER=g++-13
|
||||||
displayName: 'Create Build Environment'
|
displayName: 'Create Build Environment'
|
||||||
workingDirectory: $(Build.SourcesDirectory)
|
workingDirectory: $(Build.SourcesDirectory)
|
||||||
env:
|
env:
|
||||||
|
|
|
@ -11,22 +11,22 @@ steps:
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main'
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install clang-format-16 ccache e2fsprogs gcc-12 g++-12 libstdc++-12-dev libmpfr-dev libmpc-dev ninja-build qemu-utils qemu-system-i386 unzip lld
|
sudo apt-get install clang-format-16 ccache e2fsprogs gcc-13 g++-13 libstdc++-13-dev libmpfr-dev libmpc-dev ninja-build qemu-utils qemu-system-i386 unzip lld
|
||||||
displayName: 'Install Dependencies'
|
displayName: 'Install Dependencies'
|
||||||
|
|
||||||
- ${{ if eq(parameters.os, 'Linux') }}:
|
- ${{ if eq(parameters.os, 'Linux') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
sudo apt-get purge -y clang-12 clang-13 clang-14 gcc-10
|
sudo apt-get purge -y clang-13 clang-14 clang-15 gcc-10 gcc-11 gcc-12
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main'
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main'
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install ccache gcc-12 g++-12 clang-15 libstdc++-12-dev ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev libpulse-dev libssl-dev libegl1-mesa-dev
|
sudo apt-get install ccache clang-18 clang++-18 lld-18 ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev libpulse-dev libssl-dev libegl1-mesa-dev
|
||||||
|
|
||||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100
|
||||||
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100
|
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
|
||||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
|
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
|
||||||
|
|
||||||
wget https://github.com/WebAssembly/wabt/releases/download/1.0.23/wabt-1.0.23-ubuntu.tar.gz
|
wget https://github.com/WebAssembly/wabt/releases/download/1.0.23/wabt-1.0.23-ubuntu.tar.gz
|
||||||
tar -xzf ./wabt-1.0.23-ubuntu.tar.gz
|
tar -xzf ./wabt-1.0.23-ubuntu.tar.gz
|
||||||
|
@ -37,5 +37,5 @@ steps:
|
||||||
# macOS ships an ancient Bash 3.x by default
|
# macOS ships an ancient Bash 3.x by default
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
brew install coreutils bash ninja wabt ccache unzip qt llvm@15
|
brew install coreutils bash ninja wabt ccache unzip qt llvm@18
|
||||||
displayName: 'Install Dependencies'
|
displayName: 'Install Dependencies'
|
||||||
|
|
|
@ -14,7 +14,7 @@ die() {
|
||||||
|
|
||||||
pick_clang() {
|
pick_clang() {
|
||||||
local BEST_VERSION=0
|
local BEST_VERSION=0
|
||||||
for CLANG_CANDIDATE in clang clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang ; do
|
for CLANG_CANDIDATE in clang clang-15 clang-16 clang-17 clang-18 /opt/homebrew/opt/llvm/bin/clang ; do
|
||||||
if ! command -v $CLANG_CANDIDATE >/dev/null 2>&1; then
|
if ! command -v $CLANG_CANDIDATE >/dev/null 2>&1; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
@ -33,8 +33,8 @@ pick_clang() {
|
||||||
BEST_CLANG_CANDIDATE="$CLANG_CANDIDATE"
|
BEST_CLANG_CANDIDATE="$CLANG_CANDIDATE"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "$BEST_VERSION" -lt 14 ]; then
|
if [ "$BEST_VERSION" -lt 15 ]; then
|
||||||
die "Please make sure that Clang version 14 or higher is installed."
|
die "Please make sure that Clang version 15 or higher is installed."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,14 +56,14 @@ pick_host_compiler() {
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find_newest_compiler clang clang-15 clang-16 /opt/homebrew/opt/llvm/bin/clang
|
find_newest_compiler clang clang-15 clang-16 clang-17 clang-18 /opt/homebrew/opt/llvm/bin/clang
|
||||||
if is_supported_compiler "$HOST_COMPILER"; then
|
if is_supported_compiler "$HOST_COMPILER"; then
|
||||||
export CC="${HOST_COMPILER}"
|
export CC="${HOST_COMPILER}"
|
||||||
export CXX="${HOST_COMPILER/clang/clang++}"
|
export CXX="${HOST_COMPILER/clang/clang++}"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find_newest_compiler egcc gcc gcc-12 gcc-13 /usr/local/bin/gcc-{12,13} /opt/homebrew/bin/gcc-{12,13}
|
find_newest_compiler egcc gcc gcc-12 gcc-13 gcc-14 /usr/local/bin/gcc-{12,13,14} /opt/homebrew/bin/gcc-{12,13,14}
|
||||||
if is_supported_compiler "$HOST_COMPILER"; then
|
if is_supported_compiler "$HOST_COMPILER"; then
|
||||||
export CC="${HOST_COMPILER}"
|
export CC="${HOST_COMPILER}"
|
||||||
export CXX="${HOST_COMPILER/gcc/g++}"
|
export CXX="${HOST_COMPILER/gcc/g++}"
|
||||||
|
|
Loading…
Reference in a new issue