History log of /seL4-l4v-master/seL4/gcc.cmake
Revision Date Author Comments
# b6366c80 05-Apr-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

gcc.cmake Add additional RISCV toolchains

Search for more toolchains if the first one cannot be found.

Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


# f16fbbf9 16-Mar-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

gcc.cmake: Don't use CACHE when setting variables

The toolchain file is invoked in many different CACHE contexts and
shouldn't assume any behavior about the cache. Variables set in the file
will also be inherited by any scope that calls project() and so it is
not necessary to write any variables into the CACHE.


# 50d9eee0 10-Mar-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

gcc.cmake: Detect if toolchain file is templated

If the toolchain file is not templated, then any template variables
won't be initialized correctly. Add a test for overwriting
CROSS_COMPILER_PREFIX only if the templated value is valid.


# f27b25c9 10-Mar-2020 Stephen Sherratt <stephen@sherra.tt>

Set CROSS_COMPILER_PREFIX in gcc.cmake template


# 79da0792 01-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert license tags to SPDX identifiers

This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.


# 0e8a2cf0 15-Dec-2019 Matthew <matt.phillips121@gmail.com>

Remove unnecessary variables in toolchain files

Setting `-target` flag explicitly is unnecessary. Whenever this needs to
be explicitly passed through, the coompiler id should be checked.

Changes to the musl build system makes the explicit `C_COMPILER`
variable useless.


# 1d8b5d4a 11-Dec-2019 Matthew <matt.phillips121@gmail.com>

Specify the C compiler in a variable for user lvl

Having the basic compiler name in a variable lets us pass it around to
any other user level project (e.g musllibc)


# ea4c8cb1 04-Dec-2019 maybe-sybr <58414429+maybe-sybr@users.noreply.github.com>

Fix style complaints in `gcc.cmake`

Unrelated to the rest of the changeset on this branch but a good
opportunity to make the code quality checks happy.


# dc5b6b6a 03-Dec-2019 maybe-sybr <58414429+maybe-sybr@users.noreply.github.com>

Add support for arm Xcompilers on Red Hat distros

This change introduces a `gcc` hunting helper function to `gcc.cmake` in
order to help us find an appropriately prefixed `gcc` for the target
being built for. We use this helper to find 32b ARM cross-compiling
`gcc`s for both Debian and Red Hat based distros.


# 4d21d40b 21-Nov-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

gcc.cmake: Add option for coloured gcc output

Setting the environment variable GCC_COLORS or CMake option
FORCE_COLORED_OUTPUT will cause GCC's colour messages to be outputted.


# ed87dc35 14-Sep-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

gcc.cmake: Configure ccache in toolchain file

This should be a reasonable default option.


# 7d929732 04-Sep-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: Possibly set toolchain file automatically

If CMAKE_TOOLCHAIN_FILE is unset in seL4Config.cmake then generate one
that selects the correct toolchain based on configured kernel arch
settings.

This means that initialising a build goes from:
`cmake -DCMAKE_TOOLCHAIN_FILE=gcc.cmake -DAARCH32=ON -G Ninja -C
../configs/ARM_verified.cmake ..`
to:
`cmake -G Ninja -C ../configs/ARM_verified.cmake ..`

gcc.cmake is modified to be used as an input to configure_file.
@KernelArch@ and other @@ arguments will be replaced with the
configuration settings. The file will still work if passed directly to
cmake via -DCMAKE_TOOLCHAIN_FILE=gcc.cmake without being templated.


# d52341df 12-Mar-2019 Siwei Zhuang <siwei.zhuang@data61.csiro.au>

cmake: Update the RISCV build to work with GCC 8.2.0


# 5ee9dec2 09-Sep-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: Move APPLE host check into x86 branch

This is to more clearly record the OSX host + x86 target assumption
when setting CROSS_COMPILER_PREFIX to "x86_64-unknown-linux-gnu-"


# a5a1efea 09-Sep-2018 Ilya Yanok <ilya.yanok@gmail.com>

Use Linux cross-compiler if building for x86_64 on OS X

Even if we are building for x86_64, we still need a cross compiler to be able to
build ELF binaries.

OS X cross compilers can be installed via brew from here:
https://github.com/SergioBenitez/homebrew-osxct


# 42230e27 04-Apr-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

cmake: Add RISC-V default toolchains to gcc.cmake


# caf86a4b 21-Mar-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake: Convience argument for arm hardware floating point toolchain


# 0602690f 06-Dec-2017 Claudia Tu <claudia.tu@unsw.edu.au>

Rename ARM toolchain flag to aarch32


# 9b009d97 06-Dec-2017 Claudia Tu <claudia.tu@unsw.edu.au>

Add toolchain flag for aarch64


# 5e273cc7 22-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake: Easier setting of ARM cross compiler

Allows for an ARM cross compiler to be specified with just -DARM=TRUE when initializing
cmake, instead of having to specify a full cross compilation prefix. This provides no
additional functionality, but provides a nicer interface for users


# 0b730720 16-Mar-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Add a CMake based build system

This commit adds an alternate build system using CMake that operates indepenently of
the existing Kconfig+Kbuild+make based build system