From 21912123c4e72c94531495c58851aca70290525c Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Sat, 31 Oct 2020 21:17:30 +0000 Subject: [PATCH] Travis: Update host GCC to version 10 This allows us to use the latest C++20 features in programs which we compile and run as part of Lagom. --- .travis.yml | 7 +++++-- Meta/Lagom/ReadMe.md | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fbc93fc53e..6d2207b663 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,9 +24,12 @@ notifications: before_install: - sudo apt-get update -qq # These packages are already part of the Travis image: -#- sudo apt-get install -y g++-9 libstdc++-9-dev cmake shellcheck +#- sudo apt-get install -y cmake shellcheck +# Remove GCC 9 (installed by default) and replace it with GCC 10: +- sudo apt-get purge -y g++-9 libstdc++-9-dev # These aren't: -- sudo apt-get install -y libmpfr-dev libmpc-dev libgmp-dev clang-format-10 +- sudo apt-get install -y g++-10 libstdc++-10-dev libmpfr-dev libmpc-dev libgmp-dev clang-format-10 +- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 60 --slave /usr/bin/g++ g++ /usr/bin/g++-10 # If we ever do any qemu-emulation on Travis, we should re-enable this: #- e2fsprogs qemu-system-i386 qemu-utils - g++ --version diff --git a/Meta/Lagom/ReadMe.md b/Meta/Lagom/ReadMe.md index 8265af2ba4..6ddec94d77 100644 --- a/Meta/Lagom/ReadMe.md +++ b/Meta/Lagom/ReadMe.md @@ -8,6 +8,10 @@ If you want to bring the comfortable Serenity classes with you to another system *Lagom* is a Swedish word that means "just the right amount." ([Wikipedia](https://en.wikipedia.org/wiki/Lagom)) +## Prerequisites + +You'll need a compiler as capable as the one used for the toolchain - which might differ from the compiler you used *to compile* the toolchain. Check `GCC_VERSION` in [`BuildIt.sh`](../../Toolchain/BuildIt.sh). + ## Fuzzing Lagom can be used to fuzz parts of SerenityOS's code base. This requires buildling with `clang`, so it's convenient to use a different build directory for that. Run CMake like this: