scripts/build/binutils/elf2flt.sh
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
parent 1755 30d91bfc1f2a
child 2154 250cdcc86441
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
yann@1345
     1
# This file adds functions to build elf2flt
yann@1345
     2
# Copyright 2009 John Williams
yann@1345
     3
# Copyright 2007 Yann E. MORIN
yann@1345
     4
# Licensed under the GPL v2. See COPYING in the root of this package
yann@1345
     5
yann@1755
     6
# Default: do nothing
yann@1755
     7
do_elf2flt_get()     { :; }
yann@1755
     8
do_elf2flt_extract() { :; }
yann@1755
     9
do_elf2flt()         { :; }
yann@1755
    10
yann@1755
    11
if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
yann@1755
    12
yann@1345
    13
# Download elf2flt
yann@1345
    14
do_elf2flt_get() {
yann@1345
    15
    CT_GetCVS "elf2flt-cvs-${CT_ELF2FLT_VERSION}"           \
yann@1345
    16
              ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
yann@1345
    17
              "elf2flt"                                     \
yann@1345
    18
              "" \
yann@1345
    19
              "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
yann@1345
    20
}
yann@1345
    21
yann@1345
    22
# Extract elf2flt
yann@1345
    23
do_elf2flt_extract() {
yann@1345
    24
    CT_Extract "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
yann@1901
    25
    CT_Patch "elf2flt-cvs" "${CT_ELF2FLT_VERSION}"
yann@1345
    26
}
yann@1345
    27
yann@1345
    28
# Build elf2flt
yann@1345
    29
do_elf2flt() {
yann@1345
    30
    mkdir -p "${CT_BUILD_DIR}/build-elf2flt"
yann@1345
    31
    cd "${CT_BUILD_DIR}/build-elf2flt"
yann@1345
    32
yann@1345
    33
    CT_DoStep INFO "Installing elf2flt"
yann@1345
    34
yann@1345
    35
    elf2flt_opts=
yann@1345
    36
    binutils_bld=${CT_BUILD_DIR}/build-binutils
yann@1345
    37
    binutils_src=${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}
yann@1345
    38
yann@1345
    39
    CT_DoLog EXTRA "Configuring elf2flt"
yann@1345
    40
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                              \
yann@1345
    41
    CT_DoExecLog ALL                                            \
yann@1345
    42
    "${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \
yann@1345
    43
        --build=${CT_BUILD}                                     \
yann@1345
    44
        --host=${CT_HOST}                                       \
yann@1345
    45
        --target=${CT_TARGET}                                   \
yann@1345
    46
        --prefix=${CT_PREFIX_DIR}                               \
yann@1345
    47
        --with-bfd-include-dir=${binutils_bld}/bfd              \
yann@1345
    48
        --with-binutils-include-dir=${binutils_src}/include     \
yann@1345
    49
        --with-libbfd=${binutils_bld}/bfd/libbfd.a              \
yann@1345
    50
        --with-libiberty=${binutils_bld}/libiberty/libiberty.a  \
yann@1345
    51
        ${elf2flt_opts}                                         \
yann@1345
    52
        ${CT_ELF2FLT_EXTRA_CONFIG}			
yann@1345
    53
yann@1345
    54
    CT_DoLog EXTRA "Building elf2flt"
yann@1345
    55
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@1345
    56
yann@1345
    57
    CT_DoLog EXTRA "Installing elf2flt"
yann@1345
    58
    CT_DoExecLog ALL make install
yann@1345
    59
yann@1345
    60
    # Make those new tools available to the core C compilers to come.
yann@1345
    61
    # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
yann@1345
    62
    # well. Create that.
yann@1345
    63
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
yann@1345
    64
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
yann@1345
    65
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
yann@1345
    66
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
yann@1345
    67
    for t in elf2flt flthdr; do
yann@1345
    68
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@1345
    69
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@1345
    70
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@1345
    71
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@1345
    72
    done 2>&1 |CT_DoLog ALL
yann@1345
    73
yann@1345
    74
    CT_EndStep
yann@1345
    75
}
yann@1755
    76
yann@1755
    77
fi # CT_ARCH_BINFMT_FLAT