diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 50074b0b3b6..507c36ce6cf 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,7 @@ "ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/devcontainers-contrib/features/pre-commit:2": {}, "./features/ladybird": { - "llvm_version": 18 + "llvm_version": 19 }, "./features/vcpkg-cache": { "release_triplet": true, @@ -70,7 +70,7 @@ "git.inputValidationSubjectLength": 72, // If clangd was obtained from a package manager, its path can be set here. // Note: This has to be adjusted manually, to the "llvm_version" from above - "clangd.path": "clangd-18", + "clangd.path": "clangd-19", "clangd.arguments": [ "--header-insertion=never" // See https://github.com/clangd/clangd/issues/1247 ] diff --git a/.devcontainer/features/ladybird/devcontainer-feature.json b/.devcontainer/features/ladybird/devcontainer-feature.json index fcc295238d3..63cffd26c13 100644 --- a/.devcontainer/features/ladybird/devcontainer-feature.json +++ b/.devcontainer/features/ladybird/devcontainer-feature.json @@ -12,7 +12,7 @@ 19, "trunk" ], - "default": 18, + "default": 19, "description": "Select LLVM compiler version to use" } } diff --git a/.devcontainer/features/ladybird/install.sh b/.devcontainer/features/ladybird/install.sh index 676059d9344..860b04d2aa1 100755 --- a/.devcontainer/features/ladybird/install.sh +++ b/.devcontainer/features/ladybird/install.sh @@ -3,7 +3,7 @@ set -e # Feature options -LLVM_VERSION=${LLVM_VERSION:-18} +LLVM_VERSION=${LLVM_VERSION:-19} ### Check distro if [ ! -f /etc/lsb-release ]; then diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 46121df2408..860f2f96264 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -28,15 +28,15 @@ runs: set -e wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo add-apt-repository 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-18 main' + sudo add-apt-repository 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main' sudo apt-get update -y - sudo apt-get install -y autoconf autoconf-archive automake build-essential ccache clang-18 clang++-18 cmake curl fonts-liberation2 \ + sudo apt-get install -y autoconf autoconf-archive automake build-essential ccache clang-19 clang++-19 cmake curl fonts-liberation2 \ gcc-13 g++-13 libegl1-mesa-dev libgl1-mesa-dev libpulse-dev libssl-dev \ - libstdc++-13-dev lld-18 nasm ninja-build qt6-base-dev qt6-tools-dev-tools tar unzip zip + libstdc++-13-dev lld-19 nasm ninja-build qt6-base-dev qt6-tools-dev-tools tar unzip zip - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 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-19 100 + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 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++-13 100 @@ -57,7 +57,7 @@ runs: run: | set -e brew update - brew install autoconf autoconf-archive automake bash ccache coreutils llvm@18 nasm ninja qt unzip wabt + brew install autoconf autoconf-archive automake bash ccache coreutils llvm@19 nasm ninja qt unzip wabt - name: 'Install vcpkg' shell: bash diff --git a/.github/workflows/ladybird-js-artifacts.yml b/.github/workflows/ladybird-js-artifacts.yml index 64155754eb5..e2d626f4212 100644 --- a/.github/workflows/ladybird-js-artifacts.yml +++ b/.github/workflows/ladybird-js-artifacts.yml @@ -52,8 +52,8 @@ jobs: - name: Create build directory Ubuntu run: | cmake --preset Distribution_CI \ - -DCMAKE_C_COMPILER=clang-18 \ - -DCMAKE_CXX_COMPILER=clang++-18 \ + -DCMAKE_C_COMPILER=clang-19 \ + -DCMAKE_CXX_COMPILER=clang++-19 \ -DENABLE_GUI_TARGETS=OFF if: ${{ matrix.os_name == 'Linux' }} diff --git a/.github/workflows/lagom-template.yml b/.github/workflows/lagom-template.yml index 0243b59006d..c0fc37cc25f 100644 --- a/.github/workflows/lagom-template.yml +++ b/.github/workflows/lagom-template.yml @@ -64,8 +64,8 @@ jobs: run: | if ${{ inputs.os_name == 'Linux' }} ; then if ${{ inputs.toolchain == 'Clang' }} ; then - echo "host_cc=clang-18" >> "$GITHUB_OUTPUT" - echo "host_cxx=clang++-18" >> "$GITHUB_OUTPUT" + echo "host_cc=clang-19" >> "$GITHUB_OUTPUT" + echo "host_cxx=clang++-19" >> "$GITHUB_OUTPUT" elif ${{ inputs.toolchain == 'GNU' }} ; then echo "host_cc=gcc-13" >> "$GITHUB_OUTPUT" echo "host_cxx=g++-13" >> "$GITHUB_OUTPUT" diff --git a/Documentation/BuildInstructionsLadybird.md b/Documentation/BuildInstructionsLadybird.md index 17e89dd0c3a..7d338f425fa 100644 --- a/Documentation/BuildInstructionsLadybird.md +++ b/Documentation/BuildInstructionsLadybird.md @@ -49,10 +49,10 @@ sudo wget -O /usr/share/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm # Optional: Verify the GPG key manually # Use the key to authorize an entry for apt.llvm.org in apt sources list -echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-18 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list +echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-19 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list # Update apt package list and install clang and associated packages -sudo apt update -y && sudo apt install clang-18 clangd-18 clang-format-18 clang-tidy-18 lld-18 -y +sudo apt update -y && sudo apt install clang-19 clangd-19 clang-format-19 clang-tidy-19 lld-19 -y ``` - Alternative: Install gcc-13 or newer from [Ubuntu Toolchain PPA](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test): @@ -102,7 +102,7 @@ sudo xbps-install -S git bash gcc python3 curl cmake zip unzip linux-headers mak ### NixOS or with Nix: > [!NOTE] -> Ladybird's build system uses vcpkg to vendor third-party dependencies, which proves undesirable to use with Nix for [several reasons](https://github.com/LadybirdBrowser/ladybird/issues/371). +> Ladybird's build system uses vcpkg to vendor third-party dependencies, which proves undesirable to use with Nix for [several reasons](https://github.com/LadybirdBrowser/ladybird/issues/371). > As a result, using `ladybird.sh` to compile and run Ladybird will fail. Therefore, it is necessary to use system packages provided by the dev-shell. To build the project, first enter the shell: @@ -145,7 +145,7 @@ brew install autoconf autoconf-archive automake ccache cmake nasm ninja pkg-conf If you wish to use clang from homebrew instead: ``` -brew install llvm@18 +brew install llvm@19 ``` If you also plan to use the Qt chrome on macOS: diff --git a/Meta/Lagom/BuildFuzzers.sh b/Meta/Lagom/BuildFuzzers.sh index 05012302888..1bc94de4c14 100755 --- a/Meta/Lagom/BuildFuzzers.sh +++ b/Meta/Lagom/BuildFuzzers.sh @@ -14,7 +14,7 @@ die() { pick_clang() { local BEST_VERSION=0 - for CLANG_CANDIDATE in clang clang-17 clang-18 /opt/homebrew/opt/llvm/bin/clang ; do + for CLANG_CANDIDATE in clang clang-17 clang-18 clang-19 /opt/homebrew/opt/llvm/bin/clang ; do if ! command -v $CLANG_CANDIDATE >/dev/null 2>&1; then continue fi diff --git a/Meta/find_compiler.sh b/Meta/find_compiler.sh index f7ae5920412..c501d54793d 100644 --- a/Meta/find_compiler.sh +++ b/Meta/find_compiler.sh @@ -56,7 +56,7 @@ pick_host_compiler() { return fi - find_newest_compiler clang clang-17 clang-18 /opt/homebrew/opt/llvm/bin/clang + find_newest_compiler clang clang-17 clang-18 clang-19 /opt/homebrew/opt/llvm/bin/clang if is_supported_compiler "$HOST_COMPILER"; then export CC="${HOST_COMPILER}" export CXX="${HOST_COMPILER/clang/clang++}"