summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutil/crossgcc/buildgcc24
1 files changed, 19 insertions, 5 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 26fbc662c3..9211cfdd72 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -59,6 +59,7 @@ W32API_DIR="w32api-${W32API_VERSION}-mingw32"
MINGWRT_DIR="mingwrt-${MINGWRT_VERSION}-mingw32"
SAVETEMPS=0
+SKIPGDB=0
red='\e[0;31m'
RED='\e[1;31m'
@@ -100,7 +101,7 @@ cleanup()
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 [-h|--help]\n\n"
@@ -116,6 +117,7 @@ myhelp()
printf " (defaults to $TARGETDIR)\n\n"
printf " [-D|--destdir <dest dir>] destination directory to install cross compiler to\n"
printf " (for RPM builds, default unset)\n\n"
+ printf " [-G|--skip-gdb] don't build GNU debugger\n"
}
myversion()
@@ -147,11 +149,11 @@ getopt - > /dev/null 2>/dev/null || gcc -o getopt getopt.c
getoptbrand="`getopt -V`"
if [ "${getoptbrand:0:6}" == "getopt" ]; then
# 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"
else
# Detected non-GNU getopt
- args=`getopt Vhcd:p:j:D:t $*`
+ args=`getopt Vhcd:p:j:D:tG $*`
set -- $args
fi
@@ -170,12 +172,19 @@ while true ; do
-p|--platform) shift; TARGETARCH="$1"; shift;;
-D|--destdir) shift; DESTDIR="$1"; shift;;
-j|--jobs) shift; JOBS="-j $1"; shift;;
+ -G|--skip-gdb) shift; SKIPGDB=1;;
--) shift; break;;
-*) printf "Invalid option\n\n"; myhelp; exit 1;;
*) break;;
esac
done
+GDB_PACKAGE="GDB"
+if [ $SKIPGDB -eq 1 ]; then
+ printf "Will skip GDB ... ${green}ok${NC}\n"
+ GDB_PACKAGE=""
+fi
+
MINGW_ARCHIVES=""
if [ "$TARGETARCH" = "i386-mingw32" ]; then
MINGW_ARCHIVES="$W32API_ARCHIVE $MINGWRT_ARCHIVE"
@@ -228,7 +237,7 @@ if [ "$TARGETARCH" = "i386-mingw32" ]; then
fi
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=${!archive}
dir=$PACKAGE"_DIR"
@@ -275,7 +284,10 @@ if [ `uname` = "Darwin" ]; then
#rm .architecture_check.c .architecture_check.o
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
printf "Skipping GMP as it is already built\n"
else
@@ -415,6 +427,8 @@ fi
if [ -f build-gdb/.success ]; then
printf "Skipping GDB as it is already built\n"
+elif [ $SKIPGDB -eq 1 ]; then
+ printf "Skipping GDB as requested by command line\n"
else
printf "Building GDB ${GDB_VERSION} ... "
(