scripts/build/libfloat.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat May 19 22:52:47 2007 +0000 (2007-05-19)
changeset 108 69407950a2a2
parent 107 06d3636f6611
child 136 22b5ef41df97
permissions -rw-r--r--
Add uClibc-0.9.29:
- associated patch set
- update the munging function to accomodate the new config variables
libfloat version was missing from the previous commit... :-(
Better handle the case where the sample directory already exist but isn't under revision control, and in case the destination file doesn't exist in the sample directory.
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@63
     8
# Download libfloat
yann@63
     9
do_libfloat_get() {
yann@107
    10
    # Ah! libfloat separates the version string from the base name with
yann@107
    11
    # an underscore. We need to workaround this in a sane manner: soft link.
yann@107
    12
    local libfloat_file=`echo "${CT_LIBFLOAT_FILE}" |sed -r -e 's/^libfloat-/libfloat_/;'`
yann@107
    13
    CT_GetFile "${libfloat_file}"                                    \
yann@107
    14
               ftp://ftp.de.debian.org/debian/pool/main/libf/libfloat
yann@107
    15
    CT_Pushd "${CT_TARBALLS_DIR}"
yann@107
    16
    ext=`CT_GetFileExtension "${libfloat_file}"`
yann@108
    17
    ln -svf "${libfloat_file}${ext}" "${CT_LIBFLOAT_FILE}${ext}" |CT_DoLog DEBUG
yann@107
    18
    CT_Popd
yann@63
    19
}
yann@63
    20
yann@63
    21
# Extract libfloat
yann@63
    22
do_libfloat_extract() {
yann@107
    23
    CT_ExtractAndPatch "${CT_LIBFLOAT_FILE}"
yann@63
    24
}
yann@63
    25
yann@63
    26
# Build libfloat
yann@1
    27
do_libfloat() {
yann@1
    28
    # Here we build and install libfloat for the target, so that the C library
yann@1
    29
    # builds OK with those versions of gcc that have severed softfloat support
yann@1
    30
    # code
yann@107
    31
    CT_DoStep INFO "Installing software floating point emulation library libfloat"
yann@107
    32
    mkdir build-libfloat
yann@107
    33
    cd build-libfloat
yann@1
    34
yann@1
    35
    CT_Pushd "${CT_BUILD_DIR}"
yann@1
    36
    CT_DoLog EXTRA "Copying sources to build dir"
yann@78
    37
    ( cd "${CT_SRC_DIR}/${CT_LIBFLOAT_FILE}"; tar cf - . ) |tar xvf - |CT_DoLog ALL
yann@1
    38
yann@1
    39
    CT_DoLog EXTRA "Cleaning library"
yann@78
    40
    make clean 2>&1 |CT_DoLog ALL
yann@1
    41
yann@1
    42
    CT_DoLog EXTRA "Building library"
yann@78
    43
    make CROSS_COMPILE="${CT_CC_CORE_PREFIX_DIR}/bin/${CT_TARGET}-" 2>&1 |CT_DoLog ALL
yann@1
    44
yann@1
    45
    CT_DoLog EXTRA "Installing library"
yann@1
    46
    make CROSS_COMPILE="${CT_CC_CORE_PREFIX_DIR}/bin/${CT_TARGET}-" \
yann@78
    47
         DESTDIR="${CT_SYSROOT_DIR}" install                       2>&1 |CT_DoLog ALL
yann@1
    48
yann@1
    49
    CT_Popd
yann@1
    50
yann@1
    51
    CT_EndStep
yann@1
    52
}
yann@63
    53
yann@63
    54
else # "${CT_ARCH_FLOAT_SW_LIBFLOAT}" != "y"
yann@63
    55
yann@63
    56
do_libfloat_get() {
yann@63
    57
    true
yann@63
    58
}
yann@63
    59
do_libfloat_extract() {
yann@63
    60
    true
yann@63
    61
}
yann@63
    62
do_libfloat() {
yann@63
    63
    true
yann@63
    64
}
yann@63
    65
yann@63
    66
fi