1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 02:50:44 +00:00
serenity/Toolchain
Dan Klishch fa1eef8bbe Toolchain: Update LLVM to 18.1.3
Apart from bumping the toolchain Clang's and port's version, this commit
completely overhauls the way LLVM toolchain is built.

First, it gets rid of a complicated two-stage process of first compiling
clang and compiler-rt builtins and then building libunwind, libc++abi,
and libc++ -- it is possible to create a complete cross-compilation
toolchain in a single CMake invocation with a modern LLVM. Moreover, the
old method was inherently unsupported and subtly broken.

Next, it utilizes full potential of the Stubs "framework". Now we are
even able to compile Clang with -Wl,-z,defs which makes one of the
patches obsolete and the whole installation less error-prone. Note that
it comes at a cost of complicating the bootstrap process on a completely
novel architecture but this hopefully won't happen often.

Lastly, it fixes handling of the -no*lib* family of flags in the
Serenity LLVM driver and correctly uses -nostartfiles in conjunction
with stubs to make necessary CMake configure-time checks succeed.
2024-04-18 13:14:33 -06:00
..
CMake Toolchain: Update LLVM to 18.1.3 2024-04-18 13:14:33 -06:00
Patches Toolchain: Update LLVM to 18.1.3 2024-04-18 13:14:33 -06:00
Stubs Toolchain: Update LLVM to 18.1.3 2024-04-18 13:14:33 -06:00
.dockerignore Build: Add Dockerfile 2020-05-22 01:19:15 +02:00
.gitignore Toolchain: Add Toolchain/nix-profiles/ to .gitignore 2023-09-01 11:52:04 +02:00
BuildClang.sh Toolchain: Update LLVM to 18.1.3 2024-04-18 13:14:33 -06:00
BuildCMake.sh Toolchain: Update cmake to 3.26.4 2023-07-16 00:05:53 -06:00
BuildFuseExt2.sh Toolchain: Exit Build*.sh scripts if executed as root 2023-04-25 01:53:42 -06:00
BuildGDB.sh Toolchain+Ports: Use ftpmirror.gnu.org for faster downloads 2023-05-28 06:34:12 -07:00
BuildGN.sh Toolchain: Actually compile the GN binary in BuildGN.sh 2023-11-14 09:36:36 -05:00
BuildGNU.sh Toolchain+Ports: Update binutils to 2.41 2023-09-18 10:26:42 +02:00
BuildMold.sh Toolchain: Replace inline nproc with get_number_of_processing_units() 2023-05-07 14:29:25 +02:00
BuildPython.sh Toolchain: Replace inline nproc with get_number_of_processing_units() 2023-05-07 14:29:25 +02:00
BuildQemu.sh Toolchain+Ports: Update QEMU to 8.1.0 2023-09-17 15:26:20 -06:00
BuildRuby.sh Toolchain: Replace inline nproc with get_number_of_processing_units() 2023-05-07 14:29:25 +02:00
default.nix nix: Clean up files, use good practices 2024-03-25 14:19:34 -06:00
Dockerfile Everywhere: Require version >= 12 for GCC host compiler 2022-10-25 23:15:51 +01:00
README.md Toolchain: Update README to point to the current build instructions 2020-08-15 00:15:20 +02:00

Serenity Toolchain

This directory contains all toolchain related files. E.g. build scripts for the cross compilation toolchain and build toolchain for ports.

This document previously contained outdated build instructions. Click here for the latest build instructions.