scripts/build/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 30 18:19:18 2008 +0000 (2008-09-30)
changeset 892 187d34a9adf4
parent 655 35b22b8c0a92
child 1112 c72aecd1a9ef
permissions -rw-r--r--
Better handle the second pass core gcc build, differentiating between gcc prior to 4.3 with gcc from 4.3.
Simplify detecting wether gcc is 4.3 and later, or older than 4.3 (we already know from .config).

/trunk/scripts/build/cc/gcc.sh | 22 13 9 0 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
yann@466
     1
# This file adds the functions to build the GMP 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_gmp_get() { :; }
yann@602
     7
do_gmp_extract() { :; }
yann@602
     8
do_gmp() { :; }
yann@602
     9
do_gmp_target() { :; }
yann@602
    10
yann@602
    11
# Overide functions 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 "gmp-${CT_GMP_VERSION}"
yann@466
    17
}
yann@466
    18
yann@466
    19
# Download GMP
yann@466
    20
do_gmp_get() {
yann@486
    21
    CT_GetFile "${CT_GMP_FILE}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
yann@466
    22
}
yann@466
    23
yann@466
    24
# Extract GMP
yann@466
    25
do_gmp_extract() {
yann@466
    26
    CT_ExtractAndPatch "${CT_GMP_FILE}"
yann@466
    27
}
yann@466
    28
yann@466
    29
do_gmp() {
yann@466
    30
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    31
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    32
yann@466
    33
    CT_DoStep INFO "Installing GMP"
yann@466
    34
yann@466
    35
    CT_DoLog EXTRA "Configuring GMP"
yann@466
    36
    CFLAGS="${CT_CFLAGS_FOR_HOST}"              \
yann@655
    37
    CT_DoExecLog ALL                            \
yann@466
    38
    "${CT_SRC_DIR}/${CT_GMP_FILE}/configure"    \
yann@466
    39
        --build=${CT_BUILD}                     \
yann@466
    40
        --host=${CT_HOST}                       \
yann@466
    41
        --prefix="${CT_PREFIX_DIR}"             \
yann@466
    42
        --disable-shared --enable-static        \
yann@666
    43
        --enable-fft --enable-mpbsd
yann@466
    44
yann@466
    45
    CT_DoLog EXTRA "Building GMP"
yann@655
    46
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@466
    47
yann@466
    48
    if [ "${CT_GMP_CHECK}" = "y" ]; then
yann@466
    49
        CT_DoLog EXTRA "Checking GMP"
yann@655
    50
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@466
    51
    fi
yann@466
    52
yann@466
    53
    CT_DoLog EXTRA "Installing GMP"
yann@655
    54
    CT_DoExecLog ALL make install
yann@466
    55
yann@466
    56
    CT_EndStep
yann@466
    57
}
yann@468
    58
yann@602
    59
if [ "${CT_GMP_MPFR_TARGET}" = "y" ]; then
yann@468
    60
yann@602
    61
do_gmp_target() {
yann@602
    62
    mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
yann@602
    63
    cd "${CT_BUILD_DIR}/build-gmp-target"
yann@468
    64
yann@602
    65
    CT_DoStep INFO "Installing GMP for the target"
yann@602
    66
yann@602
    67
    CT_DoLog EXTRA "Configuring GMP"
yann@602
    68
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"            \
yann@655
    69
    CT_DoExecLog ALL                            \
yann@602
    70
    "${CT_SRC_DIR}/${CT_GMP_FILE}/configure"    \
yann@602
    71
        --build=${CT_BUILD}                     \
yann@602
    72
        --host=${CT_TARGET}                     \
yann@602
    73
        --prefix=/usr                           \
yann@602
    74
        --disable-shared --enable-static        \
yann@666
    75
        --enable-fft --enable-mpbsd
yann@602
    76
yann@602
    77
    CT_DoLog EXTRA "Building GMP"
yann@666
    78
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@602
    79
yann@602
    80
    # Not possible to check MPFR while X-compiling
yann@602
    81
yann@602
    82
    CT_DoLog EXTRA "Installing GMP"
yann@666
    83
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@602
    84
yann@602
    85
    CT_EndStep
yann@602
    86
}
yann@602
    87
yann@602
    88
fi # CT_GMP_MPFR_TARGET == y
yann@602
    89
yann@602
    90
fi # CT_GMP_MPFR == y