util/crossgcc: Add buildgcc -G and --skip-gdb options

Change-Id: Ic31130774ad56abf0b5498b04b4890348352a621
Signed-off-by: Peter Stuge <peter@stuge.se>
Reviewed-on: http://review.coreboot.org/15
Tested-by: build bot (Jenkins)
Reviewed-by: Marshall Buschman <mbuschman@lucidmachines.com>
This commit is contained in:
Peter Stuge 2011-06-09 04:54:16 +02:00
parent 0b6b4d6d43
commit ceacd77356
1 changed files with 19 additions and 5 deletions

View File

@ -59,6 +59,7 @@ W32API_DIR="w32api-${W32API_VERSION}-mingw32"
MINGWRT_DIR="mingwrt-${MINGWRT_VERSION}-mingw32" MINGWRT_DIR="mingwrt-${MINGWRT_VERSION}-mingw32"
SAVETEMPS=0 SAVETEMPS=0
SKIPGDB=0
red='\e[0;31m' red='\e[0;31m'
RED='\e[1;31m' RED='\e[1;31m'
@ -100,7 +101,7 @@ cleanup()
myhelp() myhelp()
{ {
printf "Usage: $0 [-V] [-c] [-p <platform>] [-d <target directory>] [-D <dest dir>]\n" printf "Usage: $0 [-V] [-c] [-p <platform>] [-d <target directory>] [-D <dest dir>] [-G]\n"
printf " $0 [-V|--version]\n" printf " $0 [-V|--version]\n"
printf " $0 [-h|--help]\n\n" printf " $0 [-h|--help]\n\n"
@ -116,6 +117,7 @@ myhelp()
printf " (defaults to $TARGETDIR)\n\n" printf " (defaults to $TARGETDIR)\n\n"
printf " [-D|--destdir <dest dir>] destination directory to install cross compiler to\n" printf " [-D|--destdir <dest dir>] destination directory to install cross compiler to\n"
printf " (for RPM builds, default unset)\n\n" printf " (for RPM builds, default unset)\n\n"
printf " [-G|--skip-gdb] don't build GNU debugger\n"
} }
myversion() myversion()
@ -147,11 +149,11 @@ getopt - > /dev/null 2>/dev/null || gcc -o getopt getopt.c
getoptbrand="`getopt -V`" getoptbrand="`getopt -V`"
if [ "${getoptbrand:0:6}" == "getopt" ]; then if [ "${getoptbrand:0:6}" == "getopt" ]; then
# Detected GNU getopt that supports long options. # Detected GNU getopt that supports long options.
args=`getopt -l version,help,clean,directory:,platform:,jobs:,destdir:,savetemps Vhcd:p:j:D:t -- "$@"` args=`getopt -l version,help,clean,directory:,platform:,jobs:,destdir:,savetemps,skip-gdb Vhcd:p:j:D:tG -- "$@"`
eval set "$args" eval set "$args"
else else
# Detected non-GNU getopt # Detected non-GNU getopt
args=`getopt Vhcd:p:j:D:t $*` args=`getopt Vhcd:p:j:D:tG $*`
set -- $args set -- $args
fi fi
@ -170,12 +172,19 @@ while true ; do
-p|--platform) shift; TARGETARCH="$1"; shift;; -p|--platform) shift; TARGETARCH="$1"; shift;;
-D|--destdir) shift; DESTDIR="$1"; shift;; -D|--destdir) shift; DESTDIR="$1"; shift;;
-j|--jobs) shift; JOBS="-j $1"; shift;; -j|--jobs) shift; JOBS="-j $1"; shift;;
-G|--skip-gdb) shift; SKIPGDB=1;;
--) shift; break;; --) shift; break;;
-*) printf "Invalid option\n\n"; myhelp; exit 1;; -*) printf "Invalid option\n\n"; myhelp; exit 1;;
*) break;; *) break;;
esac esac
done done
GDB_PACKAGE="GDB"
if [ $SKIPGDB -eq 1 ]; then
printf "Will skip GDB ... ${green}ok${NC}\n"
GDB_PACKAGE=""
fi
MINGW_ARCHIVES="" MINGW_ARCHIVES=""
if [ "$TARGETARCH" = "i386-mingw32" ]; then if [ "$TARGETARCH" = "i386-mingw32" ]; then
MINGW_ARCHIVES="$W32API_ARCHIVE $MINGWRT_ARCHIVE" MINGW_ARCHIVES="$W32API_ARCHIVE $MINGWRT_ARCHIVE"
@ -228,7 +237,7 @@ if [ "$TARGETARCH" = "i386-mingw32" ]; then
fi fi
printf "Unpacking and patching ... \n" printf "Unpacking and patching ... \n"
for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS GDB $MINGW_PACKAGES; do for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $GDB_PACKAGE $MINGW_PACKAGES; do
archive=$PACKAGE"_ARCHIVE" archive=$PACKAGE"_ARCHIVE"
archive=${!archive} archive=${!archive}
dir=$PACKAGE"_DIR" dir=$PACKAGE"_DIR"
@ -275,7 +284,10 @@ if [ `uname` = "Darwin" ]; then
#rm .architecture_check.c .architecture_check.o #rm .architecture_check.c .architecture_check.o
fi fi
mkdir -p build-gmp build-mpfr build-mpc build-libelf build-binutils build-gcc build-gdb mkdir -p build-gmp build-mpfr build-mpc build-libelf build-binutils build-gcc
if [ $SKIPGDB -eq 0 ]; then
mkdir -p build-gdb
fi
if [ -f build-gmp/.success ]; then if [ -f build-gmp/.success ]; then
printf "Skipping GMP as it is already built\n" printf "Skipping GMP as it is already built\n"
else else
@ -415,6 +427,8 @@ fi
if [ -f build-gdb/.success ]; then if [ -f build-gdb/.success ]; then
printf "Skipping GDB as it is already built\n" printf "Skipping GDB as it is already built\n"
elif [ $SKIPGDB -eq 1 ]; then
printf "Skipping GDB as requested by command line\n"
else else
printf "Building GDB ${GDB_VERSION} ... " printf "Building GDB ${GDB_VERSION} ... "
( (