scripts/build/libfloat.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jun 16 18:08:14 2007 +0000 (2007-06-16)
changeset 161 be4484f10ac7
parent 140 868aa6d66b01
child 164 e78c0b2bc057
permissions -rw-r--r--
Add a function to print each component's filename: this eases building the tarball of the generated toolchain.
Hard-link the libfloat tarball instead of soft-link: this also eases building the afore-mentioned tarball.
yann@1
     1
# This file adds functions to build libfloat
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
# Define libfloat functions depending on wether it is selected or not
yann@63
     6
if [ "${CT_ARCH_FLOAT_SW_LIBFLOAT}" = "y" ]; then
yann@63
     7
yann@161
     8
do_print_filename() {
yann@161
     9
    echo "${CT_LIBFLOAT_FILE}"
yann@161
    10
}
yann@161
    11
yann@63
    12
# Download libfloat
yann@63
    13
do_libfloat_get() {
yann@107
    14
    # Ah! libfloat separates the version string from the base name with
yann@107
    15
    # an underscore. We need to workaround this in a sane manner: soft link.
yann@107
    16
    local libfloat_file=`echo "${CT_LIBFLOAT_FILE}" |sed -r -e 's/^libfloat-/libfloat_/;'`
yann@107
    17
    CT_GetFile "${libfloat_file}"                                    \
yann@107
    18
               ftp://ftp.de.debian.org/debian/pool/main/libf/libfloat
yann@107
    19
    CT_Pushd "${CT_TARBALLS_DIR}"
yann@107
    20
    ext=`CT_GetFileExtension "${libfloat_file}"`
yann@161
    21
    ln -vf "${libfloat_file}${ext}" "${CT_LIBFLOAT_FILE}${ext}" |CT_DoLog DEBUG
yann@107
    22
    CT_Popd
yann@63
    23
}
yann@63
    24
yann@63
    25
# Extract libfloat
yann@63
    26
do_libfloat_extract() {
yann@107
    27
    CT_ExtractAndPatch "${CT_LIBFLOAT_FILE}"
yann@63
    28
}
yann@63
    29
yann@63
    30
# Build libfloat
yann@1
    31
do_libfloat() {
yann@1
    32
    # Here we build and install libfloat for the target, so that the C library
yann@1
    33
    # builds OK with those versions of gcc that have severed softfloat support
yann@1
    34
    # code
yann@107
    35
    CT_DoStep INFO "Installing software floating point emulation library libfloat"
yann@140
    36
    CT_Pushd "${CT_BUILD_DIR}"
yann@140
    37
    mkdir -p build-libfloat
yann@107
    38
    cd build-libfloat
yann@1
    39
yann@1
    40
    CT_DoLog EXTRA "Copying sources to build dir"
yann@78
    41
    ( cd "${CT_SRC_DIR}/${CT_LIBFLOAT_FILE}"; tar cf - . ) |tar xvf - |CT_DoLog ALL
yann@1
    42
yann@1
    43
    CT_DoLog EXTRA "Cleaning library"
yann@78
    44
    make clean 2>&1 |CT_DoLog ALL
yann@1
    45
yann@1
    46
    CT_DoLog EXTRA "Building library"
yann@140
    47
    make CROSS_COMPILE="${CT_TARGET}-" 2>&1 |CT_DoLog ALL
yann@1
    48
yann@1
    49
    CT_DoLog EXTRA "Installing library"
yann@140
    50
    make DESTDIR="${CT_SYSROOT_DIR}" install    2>&1 |CT_DoLog ALL
yann@1
    51
yann@1
    52
    CT_Popd
yann@1
    53
yann@1
    54
    CT_EndStep
yann@1
    55
}
yann@63
    56
yann@63
    57
else # "${CT_ARCH_FLOAT_SW_LIBFLOAT}" != "y"
yann@63
    58
yann@161
    59
do_print_filename() {
yann@161
    60
    true
yann@161
    61
}
yann@63
    62
do_libfloat_get() {
yann@63
    63
    true
yann@63
    64
}
yann@63
    65
do_libfloat_extract() {
yann@63
    66
    true
yann@63
    67
}
yann@63
    68
do_libfloat() {
yann@63
    69
    true
yann@63
    70
}
yann@63
    71
yann@63
    72
fi