scripts/build/binutils.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon May 28 21:33:35 2007 +0000 (2007-05-28)
changeset 143 420f814f1871
parent 116 c0846c936c07
child 161 be4484f10ac7
permissions -rw-r--r--
Fix and enhance the STOP/RESTART facility.
yann@1
     1
# This file adds functions to build binutils
yann@1
     2
# Copyright 2007 Yann E. MORIN
yann@1
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@1
     4
yann@63
     5
# Download binutils
yann@63
     6
do_binutils_get() {
yann@63
     7
    CT_GetFile "${CT_BINUTILS_FILE}"                            \
yann@63
     8
               ftp://ftp.gnu.org/gnu/binutils                   \
yann@63
     9
               ftp://ftp.kernel.org/pub/linux/devel/binutils
yann@63
    10
}
yann@63
    11
yann@63
    12
# Extract binutils
yann@63
    13
do_binutils_extract() {
yann@63
    14
    CT_ExtractAndPatch "${CT_BINUTILS_FILE}"
yann@63
    15
}
yann@63
    16
yann@63
    17
# Build binutils
yann@1
    18
do_binutils() {
yann@1
    19
    mkdir -p "${CT_BUILD_DIR}/build-binutils"
yann@1
    20
    cd "${CT_BUILD_DIR}/build-binutils"
yann@1
    21
yann@1
    22
    CT_DoStep INFO "Installing binutils"
yann@1
    23
yann@1
    24
    CT_DoLog EXTRA "Configuring binutils"
yann@1
    25
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1
    26
    "${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure"   \
yann@1
    27
        ${CT_CANADIAN_OPT}                          \
yann@116
    28
        --build=${CT_BUILD}                         \
yann@116
    29
        --host=${CT_HOST}                           \
yann@1
    30
        --target=${CT_TARGET}                       \
yann@1
    31
        --prefix=${CT_PREFIX_DIR}                   \
yann@1
    32
        --disable-nls                               \
yann@1
    33
        ${CT_BINUTILS_EXTRA_CONFIG}                 \
yann@78
    34
        ${BINUTILS_SYSROOT_ARG}                     2>&1 |CT_DoLog ALL
yann@1
    35
yann@1
    36
    CT_DoLog EXTRA "Building binutils"
yann@78
    37
    make ${PARALLELMFLAGS}  2>&1 |CT_DoLog ALL
yann@1
    38
yann@1
    39
    CT_DoLog EXTRA "Installing binutils"
yann@78
    40
    make install            2>&1 |CT_DoLog ALL
yann@1
    41
yann@136
    42
    # Make those new tools available to the core C compilers to come:
yann@1
    43
    # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
yann@1
    44
    # well. Create that (libfloat is one such sucker).
yann@136
    45
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
yann@136
    46
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
yann@136
    47
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
yann@136
    48
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
yann@1
    49
    for t in ar as ld strip; do
yann@136
    50
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@136
    51
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@136
    52
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@136
    53
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@78
    54
    done |CT_DoLog ALL
yann@1
    55
yann@1
    56
    CT_EndStep
yann@1
    57
}