scripts/build/binutils/elf2flt.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 18 23:00:46 2011 +0200 (2011-05-18)
changeset 2467 200836977ce6
parent 2466 b7df125a1c78
child 2923 60f5ceb1b413
permissions -rw-r--r--
config: rename variables that are arrays

Make it explicit that a variable is an array bu the name of the variable.
It will be used later when .config gets munged to allow both multiple
arguments and arguments with spaces at the same time to be passed from the
configuration down to the build scripts.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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@2342
    40
    CT_DoExecLog CFG                                            \
yann@1345
    41
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                              \
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@2467
    52
        "${CT_ELF2FLT_EXTRA_CONFIG_ARRAY[@]}"
yann@1345
    53
yann@1345
    54
    CT_DoLog EXTRA "Building elf2flt"
yann@2275
    55
    CT_DoExecLog ALL make ${JOBSFLAGS}
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