diff options
author | Nico Huber <nico.huber@secunet.com> | 2015-09-08 12:30:27 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2015-09-10 09:12:00 +0000 |
commit | bb313bf2219da1c483b2205f301b95db06eac760 (patch) | |
tree | c99c417b5f80cb956cb2b7594d9c1f0d7ba52cf3 | |
parent | 5e1fb2d0748c49e064e1ed2cc68db36eff3bc00c (diff) | |
download | coreboot-bb313bf2219da1c483b2205f301b95db06eac760.tar.xz |
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 <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/11589
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | util/crossgcc/Makefile | 3 | ||||
-rwxr-xr-x | 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 <platform>] target platform to build cross compiler for\n" printf " (defaults to $TARGETARCH)\n" + printf " [-l|--languages <languages>] comma separated list of target languages\n" + printf " (defaults to $LANGUAGES)\n" printf "GDB specific options:\n" printf " [-p|--platform <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;; |