scripts/build/mpfr.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
parent 598 a2b23333b17a
child 656 b43129be0f04
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
yann@466
     1
# This file adds the functions to build the MPFR library
yann@466
     2
# Copyright 2008 Yann E. MORIN
yann@466
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@466
     4
yann@602
     5
do_print_filename() { :; }
yann@602
     6
do_mpfr_get() { :; }
yann@602
     7
do_mpfr_extract() { :; }
yann@602
     8
do_mpfr() { :; }
yann@602
     9
do_mpfr_target() { :; }
yann@602
    10
yann@602
    11
# Overide function depending on configuration
yann@602
    12
if [ "${CT_GMP_MPFR}" = "y" ]; then
yann@468
    13
yann@466
    14
do_print_filename() {
yann@602
    15
    [ "${CT_GMP_MPFR}" = "y" ] || return 0
yann@466
    16
    echo "mpfr-${CT_MPFR_VERSION}"
yann@466
    17
}
yann@466
    18
yann@466
    19
# Download MPFR
yann@466
    20
do_mpfr_get() {
yann@522
    21
    CT_GetFile "${CT_MPFR_FILE}" http://www.mpfr.org/mpfr-current/          \
yann@522
    22
                                 http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}/
yann@466
    23
}
yann@466
    24
yann@466
    25
# Extract MPFR
yann@466
    26
do_mpfr_extract() {
yann@466
    27
    CT_ExtractAndPatch "${CT_MPFR_FILE}"
yann@466
    28
yann@584
    29
    # OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
yann@584
    30
    # same version number. Unfortunately, some tarballs of MPFR are not
yann@584
    31
    # built sanely, and thus ./configure fails on Gentoo.
yann@584
    32
    # See: http://sourceware.org/ml/crossgcc/2008-05/msg00080.html
yann@584
    33
    # and: http://sourceware.org/ml/crossgcc/2008-06/msg00005.html
yann@598
    34
    # This hack is not bad per se, but the MPFR guys would be better not to
yann@584
    35
    # do that in the future...
yann@591
    36
    CT_Pushd "${CT_SRC_DIR}/${CT_MPFR_FILE}"
yann@598
    37
    if [ ! -f .autotools.ct-ng ]; then
yann@598
    38
        CT_DoLog EXTRA "Re-building autotools files"
yann@598
    39
        autoreconf -fi  2>&1 |CT_DoLog ALL
yann@598
    40
        libtoolize -f   2>&1 |CT_DoLog ALL
yann@598
    41
        touch .autotools.ct-ng
yann@598
    42
    fi
yann@591
    43
    CT_Popd
yann@595
    44
}
yann@595
    45
yann@595
    46
do_mpfr() {
yann@595
    47
    mkdir -p "${CT_BUILD_DIR}/build-mpfr"
yann@595
    48
    cd "${CT_BUILD_DIR}/build-mpfr"
yann@595
    49
yann@595
    50
    CT_DoStep INFO "Installing MPFR"
yann@584
    51
yann@466
    52
    CT_DoLog EXTRA "Configuring MPFR"
yann@466
    53
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                          \
yann@466
    54
    "${CT_SRC_DIR}/${CT_MPFR_FILE}/configure"               \
yann@466
    55
        --build=${CT_BUILD}                                 \
yann@466
    56
        --host=${CT_HOST}                                   \
yann@466
    57
        --prefix="${CT_PREFIX_DIR}"                         \
yann@524
    58
        --enable-thread-safe                                \
yann@466
    59
        --disable-shared --enable-static                    \
yann@466
    60
        --with-gmp="${CT_PREFIX_DIR}"                       2>&1 |CT_DoLog ALL
yann@466
    61
yann@466
    62
    CT_DoLog EXTRA "Building MPFR"
yann@466
    63
    make ${PARALLELMFLAGS}  2>&1 |CT_DoLog ALL
yann@466
    64
yann@466
    65
    if [ "${CT_MPFR_CHECK}" = "y" ]; then
yann@466
    66
        CT_DoLog EXTRA "Checking MPFR"
yann@602
    67
        make ${PARALLELMFLAGS} -s check 2>&1 |CT_DoLog ALL
yann@466
    68
    fi
yann@466
    69
yann@466
    70
    CT_DoLog EXTRA "Installing MPFR"
yann@466
    71
    make install            2>&1 |CT_DoLog ALL
yann@466
    72
yann@466
    73
    CT_EndStep
yann@466
    74
}
yann@468
    75
yann@602
    76
if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
yann@468
    77
yann@602
    78
do_mpfr_target() {
yann@602
    79
    mkdir -p "${CT_BUILD_DIR}/build-mpfr-target"
yann@602
    80
    cd "${CT_BUILD_DIR}/build-mpfr-target"
yann@468
    81
yann@602
    82
    CT_DoStep INFO "Installing MPFR for the target"
yann@602
    83
yann@602
    84
    CT_DoLog EXTRA "Configuring MPFR"
yann@602
    85
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"                        \
yann@602
    86
    "${CT_SRC_DIR}/${CT_MPFR_FILE}/configure"               \
yann@602
    87
        --build=${CT_BUILD}                                 \
yann@602
    88
        --host=${CT_TARGET}                                 \
yann@602
    89
        --prefix=/usr                                       \
yann@602
    90
        --enable-thread-safe                                \
yann@602
    91
        --disable-shared --enable-static                    \
yann@602
    92
        --with-gmp="${CT_SYSROOT_DIR}/usr"                  2>&1 |CT_DoLog ALL
yann@602
    93
yann@602
    94
    CT_DoLog EXTRA "Building MPFR"
yann@602
    95
    make ${PARALLELMFLAGS}  2>&1 |CT_DoLog ALL
yann@602
    96
yann@602
    97
    # Not possible to check MPFR while X-compiling
yann@602
    98
yann@602
    99
    CT_DoLog EXTRA "Installing MPFR"
yann@602
   100
    make DESTDIR="${CT_SYSROOT_DIR}" install    2>&1 |CT_DoLog ALL
yann@602
   101
yann@602
   102
    CT_EndStep
yann@602
   103
}
yann@602
   104
yann@602
   105
fi # CT_GMP_MPFR_TARGET == y
yann@602
   106
yann@602
   107
fi # CT_GMP_MPFR == y