diff options
author | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2015-06-09 14:52:22 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2015-06-10 06:05:39 +0200 |
commit | 5dd2635af91d4db22196eab172325f11230a2cf1 (patch) | |
tree | 7a2b72b0028b7ba4f9f66c35d66a77f94bb12f1e | |
parent | 05bbc9208a755c332580136a32d8f89db2ecbc19 (diff) |
buildgcc: Reorder main program
This groups all tasks happening in the main program,
orders them according to their dependencies and adds
comments on the various tasks.
Change-Id: Ib62bd213977cbc3307ef62e9a7e64515563968c1
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: http://review.coreboot.org/10490
Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
Tested-by: build bot (Jenkins)
-rwxr-xr-x | util/crossgcc/buildgcc | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index ca2e089fd9..83b9d822f7 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -530,17 +530,15 @@ case "$TARGETARCH" in *) printf "${red}WARNING: Unsupported architecture $TARGETARCH.${NC}\n\n"; ;; esac +# Figure out which packages to build + if [ "$BUILDCLANG" -eq 0 ]; then -echo "Target architecture is now $TARGETARCH" -NAME="${TARGETARCH} cross" -PACKAGES="GMP MPFR MPC LIBELF BINUTILS GCC IASL" + echo "Target architecture is now $TARGETARCH" + NAME="${TARGETARCH} cross" + PACKAGES="GMP MPFR MPC LIBELF BINUTILS GCC IASL" else -NAME=clang -PACKAGES="LLVM CFE CRT CTE" -fi - -if [ "$clean" = "1" ]; then - cleanup + NAME=clang + PACKAGES="LLVM CFE CRT CTE" fi if [ $SKIPGDB -eq 1 ]; then @@ -556,23 +554,13 @@ else PACKAGES="$PACKAGES GDB" fi -# coreboot does not like the GOLD linker -# USE_GOLD="--enable-gold" -USE_GOLD="" -GCC_OPTIONS="--enable-lto" +# This initial cleanup is useful when updating the toolchain script. -printf "Downloading tar balls ... \n" -mkdir -p tarballs -for P in $PACKAGES; do - download $P -done -printf "Downloaded tar balls ... ${green}ok${NC}\n" +if [ "$clean" = "1" ]; then + cleanup +fi -printf "Unpacking and patching ... \n" -for P in $PACKAGES; do - unpack_and_patch $P || exit 1 -done -printf "Unpacked and patched ... ${green}ok${NC}\n" +# Set up host compiler and flags needed for various OSes if [[ "$PACKAGES" == *GCC* ]]; then CC=cc @@ -603,12 +591,36 @@ if [ "$USECCACHE" = 1 ]; then CC="ccache $CC" fi +# coreboot does not like the GOLD linker +# USE_GOLD="--enable-gold" +USE_GOLD="" +GCC_OPTIONS="--enable-lto" + +# Prepare target directory for building GCC +# (dependencies must be in the PATH) mkdir -p $DESTDIR$TARGETDIR/bin export PATH=$DESTDIR$TARGETDIR/bin:$PATH +# Download, unpack, patch and build all packages + +printf "Downloading tar balls ... \n" +mkdir -p tarballs +for P in $PACKAGES; do + download $P +done +printf "Downloaded tar balls ... ${green}ok${NC}\n" + +printf "Unpacking and patching ... \n" +for P in $PACKAGES; do + unpack_and_patch $P || exit 1 +done +printf "Unpacked and patched ... ${green}ok${NC}\n" + +printf "Building packages ... \n" for package in $PACKAGES; do build $package done +printf "Packages built ... ${green}ok${NC}\n" # Adding git information of current tree to target directory # for reproducibility |