author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun Jun 17 15:46:13 2007 +0000 (2007-06-17) | |
changeset 175 | 043e44606e28 |
parent 161 | be4484f10ac7 |
permissions | -rw-r--r-- |
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@164 | 9 |
echo "libfloat-${CT_LIBFLOAT_VERSION}" |
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 |