scripts/build/binutils/elf2flt.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jan 13 20:46:01 2010 +0100 (2010-01-13)
changeset 1732 6b2ae7804c6f
child 1755 30d91bfc1f2a
permissions -rw-r--r--
debug/gdb: staticaly link to ncurses for the native gdb

Staticaly link the native gdb (the one that runs on the target,
not the cross one that runs on the host) to ncurses.
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@1345
     6
# Download elf2flt
yann@1345
     7
do_elf2flt_get() {
yann@1345
     8
    CT_GetCVS "elf2flt-cvs-${CT_ELF2FLT_VERSION}"           \
yann@1345
     9
              ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
yann@1345
    10
              "elf2flt"                                     \
yann@1345
    11
              "" \
yann@1345
    12
              "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
yann@1345
    13
}
yann@1345
    14
yann@1345
    15
# Extract elf2flt
yann@1345
    16
do_elf2flt_extract() {
yann@1345
    17
    CT_Extract "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
yann@1345
    18
    CT_Patch "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
yann@1345
    19
}
yann@1345
    20
yann@1345
    21
# Build elf2flt
yann@1345
    22
do_elf2flt() {
yann@1345
    23
    [ -z ${CT_KERNEL_UCLINUX_BINFMT_FLAT} ] && return 0
yann@1345
    24
    mkdir -p "${CT_BUILD_DIR}/build-elf2flt"
yann@1345
    25
    cd "${CT_BUILD_DIR}/build-elf2flt"
yann@1345
    26
yann@1345
    27
    CT_DoStep INFO "Installing elf2flt"
yann@1345
    28
yann@1345
    29
    elf2flt_opts=
yann@1345
    30
    binutils_bld=${CT_BUILD_DIR}/build-binutils
yann@1345
    31
    binutils_src=${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}
yann@1345
    32
yann@1345
    33
    CT_DoLog EXTRA "Configuring elf2flt"
yann@1345
    34
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                              \
yann@1345
    35
    CT_DoExecLog ALL                                            \
yann@1345
    36
    "${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \
yann@1345
    37
        --build=${CT_BUILD}                                     \
yann@1345
    38
        --host=${CT_HOST}                                       \
yann@1345
    39
        --target=${CT_TARGET}                                   \
yann@1345
    40
        --prefix=${CT_PREFIX_DIR}                               \
yann@1345
    41
        --with-bfd-include-dir=${binutils_bld}/bfd              \
yann@1345
    42
        --with-binutils-include-dir=${binutils_src}/include     \
yann@1345
    43
        --with-libbfd=${binutils_bld}/bfd/libbfd.a              \
yann@1345
    44
        --with-libiberty=${binutils_bld}/libiberty/libiberty.a  \
yann@1345
    45
        ${elf2flt_opts}                                         \
yann@1345
    46
        ${CT_ELF2FLT_EXTRA_CONFIG}			
yann@1345
    47
yann@1345
    48
    CT_DoLog EXTRA "Building elf2flt"
yann@1345
    49
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@1345
    50
yann@1345
    51
    CT_DoLog EXTRA "Installing elf2flt"
yann@1345
    52
    CT_DoExecLog ALL make install
yann@1345
    53
yann@1345
    54
    # Make those new tools available to the core C compilers to come.
yann@1345
    55
    # Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
yann@1345
    56
    # well. Create that.
yann@1345
    57
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
yann@1345
    58
    mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
yann@1345
    59
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
yann@1345
    60
    mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
yann@1345
    61
    for t in elf2flt flthdr; do
yann@1345
    62
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@1345
    63
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@1345
    64
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
yann@1345
    65
        ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
yann@1345
    66
    done 2>&1 |CT_DoLog ALL
yann@1345
    67
yann@1345
    68
    CT_EndStep
yann@1345
    69
}