scripts/build/binutils/binutils.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 31 23:24:40 2010 +0200 (2010-08-31)
changeset 2107 f5ab0a80e466
parent 1901 bdb3a98e064b
child 2154 250cdcc86441
permissions -rw-r--r--
binutils/binutils: remove faulty patch

The added code should be conditinal to the target system
being !MIPS, but is based on the host system being !MIPS.

This is plain wrong, and had not been noticed until now
as I never used those binutils versions on MIPS.

See:
http://sourceware.org/ml/crossgcc/2010-08/msg00192.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # This file adds functions to build binutils
     2 # Copyright 2007 Yann E. MORIN
     3 # Licensed under the GPL v2. See COPYING in the root of this package
     4 
     5 # Download binutils
     6 do_binutils_get() {
     7     CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
     8                {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
     9                ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
    10 }
    11 
    12 # Extract binutils
    13 do_binutils_extract() {
    14     CT_Extract "binutils-${CT_BINUTILS_VERSION}"
    15     CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
    16 }
    17 
    18 # Build binutils
    19 do_binutils() {
    20     local -a extra_config
    21 
    22     mkdir -p "${CT_BUILD_DIR}/build-binutils"
    23     cd "${CT_BUILD_DIR}/build-binutils"
    24 
    25     CT_DoStep INFO "Installing binutils"
    26 
    27     CT_DoLog EXTRA "Configuring binutils"
    28     CFLAGS="${CT_CFLAGS_FOR_HOST}"                              \
    29     CT_DoExecLog ALL                                            \
    30     "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure"   \
    31         --build=${CT_BUILD}                                     \
    32         --host=${CT_HOST}                                       \
    33         --target=${CT_TARGET}                                   \
    34         --prefix=${CT_PREFIX_DIR}                               \
    35         --disable-nls                                           \
    36         --disable-multilib                                      \
    37         --disable-werror                                        \
    38         "${extra_config[@]}"                                    \
    39         ${CT_ARCH_WITH_FLOAT}                                   \
    40         ${CT_BINUTILS_EXTRA_CONFIG}                             \
    41         ${BINUTILS_SYSROOT_ARG}
    42 
    43     CT_DoLog EXTRA "Building binutils"
    44     CT_DoExecLog ALL make ${PARALLELMFLAGS}
    45 
    46     CT_DoLog EXTRA "Installing binutils"
    47     CT_DoExecLog ALL make install
    48 
    49     # Make those new tools available to the core C compilers to come.
    50     # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
    51     # well. Create that.
    52     mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
    53     mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
    54     mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
    55     mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
    56     for t in ar as ld strip; do
    57         ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
    58         ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
    59         ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
    60         ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
    61     done 2>&1 |CT_DoLog ALL
    62 
    63     CT_EndStep
    64 }
    65 
    66 # Now on for the target libraries
    67 do_binutils_target() {
    68     local -a extra_config
    69     local -a targets
    70     local -a build_targets
    71     local -a install_targets
    72     local t
    73 
    74     [ "${CT_BINUTILS_FOR_TARGET_IBERTY}" = "y" ] && targets+=("libiberty")
    75     [ "${CT_BINUTILS_FOR_TARGET_BFD}"    = "y" ] && targets+=("bfd")
    76     for t in "${targets[@]}"; do
    77         build_targets+=("all-${t}")
    78         install_targets+=("install-${t}")
    79     done
    80 
    81     if [ "${#targets[@]}" -ne 0 ]; then
    82         CT_DoStep INFO "Installing binutils for target"
    83         mkdir -p "${CT_BUILD_DIR}/build-binutils-for-target"
    84         CT_Pushd "${CT_BUILD_DIR}/build-binutils-for-target"
    85 
    86         CT_DoLog EXTRA "Configuring binutils for target"
    87         CT_DoExecLog ALL                                            \
    88         "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure"   \
    89             --build=${CT_BUILD}                                     \
    90             --host=${CT_TARGET}                                     \
    91             --target=${CT_TARGET}                                   \
    92             --prefix=/usr                                           \
    93             --disable-werror                                        \
    94             --enable-shared                                         \
    95             --enable-static                                         \
    96             --disable-nls                                           \
    97             --disable-multilib                                      \
    98             "${extra_config[@]}"                                    \
    99             ${CT_ARCH_WITH_FLOAT}                                   \
   100             ${CT_BINUTILS_EXTRA_CONFIG}
   101 
   102         CT_DoLog EXTRA "Building binutils' libraries (${targets[*]}) for target"
   103         CT_DoExecLog ALL make ${PARALLELMFLAGS} "${build_targets[@]}"
   104         CT_DoLog EXTRA "Installing binutils' libraries (${targets[*]}) for target"
   105         CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" "${install_targets[@]}"
   106 
   107         CT_Popd
   108         CT_EndStep
   109     fi
   110 }