crosstool-ng/scripts/build/debug/300-gdb.sh
Yann E. MORIN" 1b9a490601 Some people are reposrting that ftp does not work on their network, probably due to proxies, while http does work.
Some (most) of the sites we use toretrieve tarballs have http equivallent for the ftp service. Use http as a failover.
There's no solution for those sites that do not have such an http equivalent.

 /trunk/scripts/build/binutils.sh         |    5     2     3     0 ++---
 /trunk/scripts/build/libc_glibc.sh       |    4     2     2     0 ++--
 /trunk/scripts/build/libc_uClibc.sh      |    2     1     1     0 +-
 /trunk/scripts/build/debug/400-ltrace.sh |    2     1     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh    |    8     3     5     0 +++-----
 /trunk/scripts/build/kernel_linux.sh     |    7     2     5     0 ++-----
 /trunk/scripts/build/cc_gcc.sh           |    6     2     4     0 ++----
 /trunk/scripts/build/gmp.sh              |    4     1     3     0 +---
 8 files changed, 14 insertions(+), 24 deletions(-)
2008-05-03 17:51:16 +00:00

143 lines
5.2 KiB
Bash

# Build script for the gdb debug facility
is_enabled="${CT_GDB}"
do_print_filename() {
[ "${CT_GDB}" = "y" ] || return 0
echo "gdb`do_debug_gdb_suffix`"
}
do_debug_gdb_suffix() {
case "${CT_GDB_VERSION}" in
snapshot) ;;
*) echo "-${CT_GDB_VERSION}";;
esac
}
do_debug_gdb_get() {
CT_GetFile "gdb`do_debug_gdb_suffix`" \
{ftp,http}://ftp.gnu.org/pub/gnu/gdb \
ftp://sources.redhat.com/pub/gdb/{{,old-}releases,snapshots/current}
}
do_debug_gdb_extract() {
CT_ExtractAndPatch "gdb`do_debug_gdb_suffix`"
}
do_debug_gdb_build() {
gdb_src_dir="${CT_SRC_DIR}/gdb`do_debug_gdb_suffix`"
extra_config=
# Version 6.3 and below behave badly with gdbmi
case "${CT_GDB_VERSION}" in
6.2*|6.3) extra_config="${extra_config} --disable-gdbmi";;
esac
if [ "${CT_GDB_CROSS}" = "y" ]; then
CT_DoStep INFO "Installing cross-gdb"
CT_DoLog EXTRA "Configuring cross-gdb"
mkdir -p "${CT_BUILD_DIR}/build-gdb-cross"
cd "${CT_BUILD_DIR}/build-gdb-cross"
CC_for_gdb=
LD_for_gdb=
if [ "${CT_GDB_CROSS_STATIC_GDBSERVER}" = "y" ]; then
CC_for_gdb="gcc -static"
LD_for_gdb="ld -static"
fi
CC="${CC_for_gdb}" \
LD="${LD_forgdb}" \
"${gdb_src_dir}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
--target=${CT_TARGET} \
--prefix="${CT_PREFIX_DIR}" \
--with-build-sysroot="${CT_SYSROOT_DIR}" \
--enable-threads \
${extra_config} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Building cross-gdb"
make ${PARALLELMFLAGS} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Installing cross-gdb"
make install 2>&1 |CT_DoLog ALL
CT_EndStep
CT_DoStep INFO "Installing gdbserver"
CT_DoLog EXTRA "Configuring gdbserver"
mkdir -p "${CT_BUILD_DIR}/build-gdb-gdbserver"
cd "${CT_BUILD_DIR}/build-gdb-gdbserver"
# Workaround for bad versions, where the configure
# script for gdbserver is not executable...
# Bah, GNU folks strike again... :-(
chmod +x "${gdb_src_dir}/gdb/gdbserver/configure"
gdbserver_LDFLAGS=
if [ "${CT_GDB_CROSS_STATIC_GDBSERVER}" = "y" ]; then
gdbserver_LDFLAGS=-static
fi
LDFLAGS="${gdbserver_LDFLAGS}" \
"${gdb_src_dir}/gdb/gdbserver/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--target=${CT_TARGET} \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--includedir="${CT_HEADERS_DIR}" \
--with-build-sysroot="${CT_SYSROOT_DIR}" \
--program-prefix= \
--without-uiout \
--disable-tui \
--disable-gdbtk \
--without-x \
--without-included-gettext \
${extra_config} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Building gdbserver"
make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Installing gdbserver"
make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install 2>&1 |CT_DoLog ALL
CT_EndStep
fi
if [ "${CT_GDB_NATIVE}" = "y" ]; then
CT_DoStep EXTRA "Installing native gdb"
CT_DoLog EXTRA "Configuring native gdb"
mkdir -p "${CT_BUILD_DIR}/build-gdb-native"
cd "${CT_BUILD_DIR}/build-gdb-native"
"${gdb_src_dir}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--target=${CT_TARGET} \
--prefix=/usr \
--with-build-sysroot="${CT_SYSROOT_DIR}" \
--without-uiout \
--disable-tui \
--disable-gdbtk \
--without-x \
--disable-sim \
--disable-gdbserver \
--without-included-gettext \
${extra_config} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Building native gdb"
make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC} 2>&1 |CT_DoLog ALL
CT_DoLog EXTRA "Installing native gdb"
make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install 2>&1 |CT_DoLog ALL
CT_EndStep
fi
}