yann@1: # This file adds functions to build libfloat yann@1: # Copyright 2007 Yann E. MORIN yann@1: # Licensed under the GPL v2. See COPYING in the root of this package yann@1: yann@63: # Define libfloat functions depending on wether it is selected or not yann@63: if [ "${CT_ARCH_FLOAT_SW_LIBFLOAT}" = "y" ]; then yann@63: yann@161: do_print_filename() { yann@164: echo "libfloat-${CT_LIBFLOAT_VERSION}" yann@161: } yann@161: yann@63: # Download libfloat yann@63: do_libfloat_get() { yann@107: # Ah! libfloat separates the version string from the base name with yann@107: # an underscore. We need to workaround this in a sane manner: soft link. yann@107: local libfloat_file=`echo "${CT_LIBFLOAT_FILE}" |sed -r -e 's/^libfloat-/libfloat_/;'` yann@107: CT_GetFile "${libfloat_file}" \ yann@107: ftp://ftp.de.debian.org/debian/pool/main/libf/libfloat yann@107: CT_Pushd "${CT_TARBALLS_DIR}" yann@107: ext=`CT_GetFileExtension "${libfloat_file}"` yann@161: ln -vf "${libfloat_file}${ext}" "${CT_LIBFLOAT_FILE}${ext}" |CT_DoLog DEBUG yann@107: CT_Popd yann@63: } yann@63: yann@63: # Extract libfloat yann@63: do_libfloat_extract() { yann@107: CT_ExtractAndPatch "${CT_LIBFLOAT_FILE}" yann@63: } yann@63: yann@63: # Build libfloat yann@1: do_libfloat() { yann@1: # Here we build and install libfloat for the target, so that the C library yann@1: # builds OK with those versions of gcc that have severed softfloat support yann@1: # code yann@107: CT_DoStep INFO "Installing software floating point emulation library libfloat" yann@140: CT_Pushd "${CT_BUILD_DIR}" yann@140: mkdir -p build-libfloat yann@107: cd build-libfloat yann@1: yann@1: CT_DoLog EXTRA "Copying sources to build dir" yann@78: ( cd "${CT_SRC_DIR}/${CT_LIBFLOAT_FILE}"; tar cf - . ) |tar xvf - |CT_DoLog ALL yann@1: yann@1: CT_DoLog EXTRA "Cleaning library" yann@78: make clean 2>&1 |CT_DoLog ALL yann@1: yann@1: CT_DoLog EXTRA "Building library" yann@140: make CROSS_COMPILE="${CT_TARGET}-" 2>&1 |CT_DoLog ALL yann@1: yann@1: CT_DoLog EXTRA "Installing library" yann@140: make DESTDIR="${CT_SYSROOT_DIR}" install 2>&1 |CT_DoLog ALL yann@1: yann@1: CT_Popd yann@1: yann@1: CT_EndStep yann@1: } yann@63: yann@63: else # "${CT_ARCH_FLOAT_SW_LIBFLOAT}" != "y" yann@63: yann@161: do_print_filename() { yann@161: true yann@161: } yann@63: do_libfloat_get() { yann@63: true yann@63: } yann@63: do_libfloat_extract() { yann@63: true yann@63: } yann@63: do_libfloat() { yann@63: true yann@63: } yann@63: yann@63: fi