From bb313bf2219da1c483b2205f301b95db06eac760 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Tue, 8 Sep 2015 12:30:27 +0200 Subject: crossgcc: Add option to build gcc for specific languages Add an option `--languages` which takes a list of target languages to buildgcc. That list gets passed through to the configure step for building gcc. Also alter the Makefile to pass $(BUILD_LANGUAGES) to that option, if this variable is set. Change-Id: I6a74ab2c75871ea8d03a499cca33d88938b59c8d Signed-off-by: Nico Huber Reviewed-on: http://review.coreboot.org/11589 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- util/crossgcc/Makefile | 3 ++- util/crossgcc/buildgcc | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/util/crossgcc/Makefile b/util/crossgcc/Makefile index b1fba4ab02..262f4d2b64 100644 --- a/util/crossgcc/Makefile +++ b/util/crossgcc/Makefile @@ -19,7 +19,8 @@ build_tools_without_gdb: build_gcc build_iasl ### targets to do buildgcc builds build_gcc: - bash ./buildgcc -p $(BUILD_PLATFORM) $(if $(BUILDJOBS),-j $(BUILDJOBS)) $(BUILDGCC_OPTIONS) + bash ./buildgcc -p $(BUILD_PLATFORM) $(if $(BUILDJOBS),-j $(BUILDJOBS)) $(BUILDGCC_OPTIONS) \ + $(if $(BUILD_LANGUAGES),-l $(BUILD_LANGUAGES)) build_gdb: bash ./buildgcc -p $(BUILD_PLATFORM) -P gdb $(if $(BUILDJOBS),-j $(BUILDJOBS)) $(BUILDGCC_OPTIONS) diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 49e41e537d..049ace40b3 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -29,6 +29,7 @@ CROSSGCC_VERSION="1.32" PACKAGE=GCC TARGETDIR=$(pwd)/xgcc TARGETARCH=i386-elf +LANGUAGES=c DESTDIR= SAVETEMPS=0 SKIPPYTHON=1 @@ -310,6 +311,8 @@ myhelp() printf "GCC specific options:\n" printf " [-p|--platform ] target platform to build cross compiler for\n" printf " (defaults to $TARGETARCH)\n" + printf " [-l|--languages ] comma separated list of target languages\n" + printf " (defaults to $LANGUAGES)\n" printf "GDB specific options:\n" printf " [-p|--platform ] target platform to build cross compiler for\n" printf " (defaults to $TARGETARCH)\n" @@ -416,7 +419,7 @@ build_GCC() { --enable-lto --enable-plugins --enable-gold --enable-ld=default \ --disable-libssp --disable-bootstrap --disable-nls \ --disable-libquadmath --without-headers \ - ${GCC_OPTIONS} --enable-languages="c" \ + ${GCC_OPTIONS} --enable-languages="${LANGUAGES}" \ --with-gmp=$DESTDIR$TARGETDIR --with-mpfr=$DESTDIR$TARGETDIR \ --with-mpc=$DESTDIR$TARGETDIR --with-libelf=$DESTDIR$TARGETDIR \ --with-pkgversion="coreboot toolchain v$CROSSGCC_VERSION $CROSSGCC_DATE" \ @@ -508,11 +511,11 @@ getopt - > /dev/null 2>/dev/null || gcc -o getopt getopt.c getoptbrand="$(getopt -V | sed -e '1!d' -e 's,^\(......\).*,\1,')" if [ "${getoptbrand}" = "getopt" ]; then # Detected GNU getopt that supports long options. - args=$(getopt -l version,help,clean,directory:,platform:,package:,jobs:,destdir:,savetemps,scripting,ccache Vhcd:p:P:j:D:tSy -- "$@") + args=$(getopt -l version,help,clean,directory:,platform:,languages:,package:,jobs:,destdir:,savetemps,scripting,ccache Vhcd:p:l:P:j:D:tSy -- "$@") eval set "$args" else # Detected non-GNU getopt - args=$(getopt Vhcd:p:P:j:D:tSy $*) + args=$(getopt Vhcd:p:l:P:j:D:tSy $*) set -- $args fi @@ -529,6 +532,7 @@ while true ; do -t|--savetemps) shift; SAVETEMPS=1;; -d|--directory) shift; TARGETDIR="$1"; shift;; -p|--platform) shift; TARGETARCH="$1"; shift;; + -l|--languages) shift; LANGUAGES="$1"; shift;; -D|--destdir) shift; DESTDIR="$1"; shift;; -j|--jobs) shift; JOBS="-j $1"; shift;; -P|--package) shift; PACKAGE="$1"; shift;; -- cgit v1.2.3