scripts/build/mpfr.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jun 20 09:17:06 2008 +0000 (2008-06-20)
changeset 595 3ea35558d659
parent 591 1854f2c508a8
child 598 a2b23333b17a
permissions -rw-r--r--
Only rebuild MPFR config files at extract time, not for every builds.

/trunk/scripts/build/mpfr.sh | 15 7 8 0 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
     1 # This file adds the functions to build the MPFR library
     2 # Copyright 2008 Yann E. MORIN
     3 # Licensed under the GPL v2. See COPYING in the root of this package
     4 
     5 if [ "${CT_CC_GCC_GMP_MPFR}" = "y" ]; then
     6 
     7 do_print_filename() {
     8     [ "${CT_CC_GCC_GMP_MPFR}" = "y" ] || return 0
     9     echo "mpfr-${CT_MPFR_VERSION}"
    10 }
    11 
    12 # Download MPFR
    13 do_mpfr_get() {
    14     CT_GetFile "${CT_MPFR_FILE}" http://www.mpfr.org/mpfr-current/          \
    15                                  http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
    16 }
    17 
    18 # Extract MPFR
    19 do_mpfr_extract() {
    20     CT_ExtractAndPatch "${CT_MPFR_FILE}"
    21 
    22     # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
    23     # same version number. Unfortunately, some tarballs of MPFR are not
    24     # built sanely, and thus ./configure fails on Gentoo.
    25     # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
    26     # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
    27     # This hack is not bad per se, but the MPFR guys would be better to not
    28     # do that in the future...
    29     CT_Pushd "${CT_SRC_DIR}/${CT_MPFR_FILE}"
    30     autoreconf -fi  2>&1 |CT_DoLog ALL
    31     libtoolize      2>&1 |CT_DoLog ALL
    32     CT_Popd
    33 }
    34 
    35 do_mpfr() {
    36     mkdir -p "${CT_BUILD_DIR}/build-mpfr"
    37     cd "${CT_BUILD_DIR}/build-mpfr"
    38 
    39     CT_DoStep INFO "Installing MPFR"
    40 
    41     CT_DoLog EXTRA "Configuring MPFR"
    42     CFLAGS="${CT_CFLAGS_FOR_HOST}"                          \
    43     "${CT_SRC_DIR}/${CT_MPFR_FILE}/configure"               \
    44         --build=${CT_BUILD}                                 \
    45         --host=${CT_HOST}                                   \
    46         --prefix="${CT_PREFIX_DIR}"                         \
    47         --enable-thread-safe                                \
    48         --disable-shared --enable-static                    \
    49         --with-gmp="${CT_PREFIX_DIR}"                       2>&1 |CT_DoLog ALL
    50 
    51     CT_DoLog EXTRA "Building MPFR"
    52     make ${PARALLELMFLAGS}  2>&1 |CT_DoLog ALL
    53 
    54     if [ "${CT_MPFR_CHECK}" = "y" ]; then
    55         CT_DoLog EXTRA "Checking MPFR"
    56         make -s check       2>&1 |CT_DoLog ALL
    57     fi
    58 
    59     CT_DoLog EXTRA "Installing MPFR"
    60     make install            2>&1 |CT_DoLog ALL
    61 
    62     CT_EndStep
    63 }
    64 
    65 else # No MPFR
    66 
    67 do_print_filename() { :; }
    68 do_mpfr_get() { :; }
    69 do_mpfr_extract() { :; }
    70 do_mpfr() { :; }
    71 
    72 fi