scripts/build/debug/300-gdb.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat May 03 17:51:16 2008 +0000 (2008-05-03)
changeset 486 92f6149c4275
parent 479 05c62432ec19
child 523 010f6f4e4dd6
permissions -rw-r--r--
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(-)
yann@479
     1
# Build script for the gdb debug facility
yann@479
     2
yann@479
     3
is_enabled="${CT_GDB}"
yann@479
     4
yann@479
     5
do_print_filename() {
yann@479
     6
    [ "${CT_GDB}" = "y" ] || return 0
yann@479
     7
    echo "gdb`do_debug_gdb_suffix`"
yann@479
     8
}
yann@479
     9
yann@479
    10
do_debug_gdb_suffix() {
yann@479
    11
    case "${CT_GDB_VERSION}" in
yann@479
    12
        snapshot)   ;;
yann@479
    13
        *)          echo "-${CT_GDB_VERSION}";;
yann@479
    14
    esac
yann@479
    15
}
yann@479
    16
yann@479
    17
do_debug_gdb_get() {
yann@486
    18
    CT_GetFile "gdb`do_debug_gdb_suffix`"           \
yann@486
    19
               {ftp,http}://ftp.gnu.org/pub/gnu/gdb \
yann@486
    20
               ftp://sources.redhat.com/pub/gdb/{{,old-}releases,snapshots/current}
yann@479
    21
}
yann@479
    22
yann@479
    23
do_debug_gdb_extract() {
yann@479
    24
    CT_ExtractAndPatch "gdb`do_debug_gdb_suffix`"
yann@479
    25
}
yann@479
    26
yann@479
    27
do_debug_gdb_build() {
yann@479
    28
    gdb_src_dir="${CT_SRC_DIR}/gdb`do_debug_gdb_suffix`"
yann@479
    29
yann@479
    30
    extra_config=
yann@479
    31
    # Version 6.3 and below behave badly with gdbmi
yann@479
    32
    case "${CT_GDB_VERSION}" in
yann@479
    33
        6.2*|6.3)   extra_config="${extra_config} --disable-gdbmi";;
yann@479
    34
    esac
yann@479
    35
yann@479
    36
    if [ "${CT_GDB_CROSS}" = "y" ]; then
yann@479
    37
        CT_DoStep INFO "Installing cross-gdb"
yann@479
    38
        CT_DoLog EXTRA "Configuring cross-gdb"
yann@479
    39
yann@479
    40
        mkdir -p "${CT_BUILD_DIR}/build-gdb-cross"
yann@479
    41
        cd "${CT_BUILD_DIR}/build-gdb-cross"
yann@479
    42
yann@479
    43
        CC_for_gdb=
yann@479
    44
        LD_for_gdb=
yann@479
    45
        if [ "${CT_GDB_CROSS_STATIC_GDBSERVER}" = "y" ]; then
yann@479
    46
            CC_for_gdb="gcc -static"
yann@479
    47
            LD_for_gdb="ld -static"
yann@479
    48
        fi
yann@479
    49
yann@479
    50
        CC="${CC_for_gdb}"                              \
yann@479
    51
        LD="${LD_forgdb}"                               \
yann@479
    52
        "${gdb_src_dir}/configure"                      \
yann@479
    53
            --build=${CT_BUILD}                         \
yann@479
    54
            --host=${CT_HOST}                           \
yann@479
    55
            --target=${CT_TARGET}                       \
yann@479
    56
            --prefix="${CT_PREFIX_DIR}"                 \
yann@479
    57
            --with-build-sysroot="${CT_SYSROOT_DIR}"    \
yann@479
    58
            --enable-threads                            \
yann@479
    59
            ${extra_config}                             2>&1 |CT_DoLog ALL
yann@479
    60
yann@479
    61
        CT_DoLog EXTRA "Building cross-gdb"
yann@479
    62
        make ${PARALLELMFLAGS}                          2>&1 |CT_DoLog ALL
yann@479
    63
yann@479
    64
        CT_DoLog EXTRA "Installing cross-gdb"
yann@479
    65
        make install                                    2>&1 |CT_DoLog ALL
yann@479
    66
yann@479
    67
        CT_EndStep
yann@479
    68
yann@479
    69
        CT_DoStep INFO "Installing gdbserver"
yann@479
    70
        CT_DoLog EXTRA "Configuring gdbserver"
yann@479
    71
yann@479
    72
        mkdir -p "${CT_BUILD_DIR}/build-gdb-gdbserver"
yann@479
    73
        cd "${CT_BUILD_DIR}/build-gdb-gdbserver"
yann@479
    74
yann@479
    75
        # Workaround for bad versions, where the configure
yann@479
    76
        # script for gdbserver is not executable...
yann@479
    77
        # Bah, GNU folks strike again... :-(
yann@479
    78
        chmod +x "${gdb_src_dir}/gdb/gdbserver/configure"
yann@479
    79
yann@479
    80
        gdbserver_LDFLAGS=
yann@479
    81
        if [ "${CT_GDB_CROSS_STATIC_GDBSERVER}" = "y" ]; then
yann@479
    82
            gdbserver_LDFLAGS=-static
yann@479
    83
        fi
yann@479
    84
yann@479
    85
        LDFLAGS="${gdbserver_LDFLAGS}"                  \
yann@479
    86
        "${gdb_src_dir}/gdb/gdbserver/configure"        \
yann@479
    87
            --build=${CT_BUILD}                         \
yann@479
    88
            --host=${CT_TARGET}                         \
yann@479
    89
            --target=${CT_TARGET}                       \
yann@479
    90
            --prefix=/usr                               \
yann@479
    91
            --sysconfdir=/etc                           \
yann@479
    92
            --localstatedir=/var                        \
yann@479
    93
            --includedir="${CT_HEADERS_DIR}"            \
yann@479
    94
            --with-build-sysroot="${CT_SYSROOT_DIR}"    \
yann@479
    95
            --program-prefix=                           \
yann@479
    96
            --without-uiout                             \
yann@479
    97
            --disable-tui                               \
yann@479
    98
            --disable-gdbtk                             \
yann@479
    99
            --without-x                                 \
yann@479
   100
            --without-included-gettext                  \
yann@479
   101
            ${extra_config}                             2>&1 |CT_DoLog ALL
yann@479
   102
yann@479
   103
        CT_DoLog EXTRA "Building gdbserver"
yann@479
   104
        make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC} 2>&1 |CT_DoLog ALL
yann@479
   105
yann@479
   106
        CT_DoLog EXTRA "Installing gdbserver"
yann@479
   107
        make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install  2>&1 |CT_DoLog ALL
yann@479
   108
yann@479
   109
        CT_EndStep
yann@479
   110
    fi
yann@479
   111
yann@479
   112
    if [ "${CT_GDB_NATIVE}" = "y" ]; then
yann@479
   113
        CT_DoStep EXTRA "Installing native gdb"
yann@479
   114
        CT_DoLog EXTRA "Configuring native gdb"
yann@479
   115
yann@479
   116
        mkdir -p "${CT_BUILD_DIR}/build-gdb-native"
yann@479
   117
        cd "${CT_BUILD_DIR}/build-gdb-native"
yann@479
   118
yann@479
   119
        "${gdb_src_dir}/configure"                      \
yann@479
   120
            --build=${CT_BUILD}                         \
yann@479
   121
            --host=${CT_TARGET}                         \
yann@479
   122
            --target=${CT_TARGET}                       \
yann@479
   123
            --prefix=/usr                               \
yann@479
   124
            --with-build-sysroot="${CT_SYSROOT_DIR}"    \
yann@479
   125
            --without-uiout                             \
yann@479
   126
            --disable-tui                               \
yann@479
   127
            --disable-gdbtk                             \
yann@479
   128
            --without-x                                 \
yann@479
   129
            --disable-sim                               \
yann@479
   130
            --disable-gdbserver                          \
yann@479
   131
            --without-included-gettext                  \
yann@479
   132
            ${extra_config}                             2>&1 |CT_DoLog ALL
yann@479
   133
yann@479
   134
        CT_DoLog EXTRA "Building native gdb"
yann@479
   135
        make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC} 2>&1 |CT_DoLog ALL
yann@479
   136
yann@479
   137
        CT_DoLog EXTRA "Installing native gdb"
yann@479
   138
        make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install  2>&1 |CT_DoLog ALL
yann@479
   139
yann@479
   140
        CT_EndStep
yann@479
   141
    fi
yann@479
   142
}