scripts/build/companion_libs/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Feb 17 23:50:49 2010 +0100 (2010-02-17)
changeset 1810 e44f67656c5f
parent 1809 b488b4815f9b
child 1890 39045a2f1163
permissions -rw-r--r--
complibs: hide companion libraries for target entry

The companion libraries on the target are required only for internal use by
binutils and gdb. The user should not have to know about this, so hide the
option.
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_gmp_get() { :; }
yann@602
     6
do_gmp_extract() { :; }
yann@602
     7
do_gmp() { :; }
yann@602
     8
do_gmp_target() { :; }
yann@602
     9
yann@602
    10
# Overide functions depending on configuration
yann@1810
    11
if [ "${CT_GMP}" = "y" -o "${CT_GMP_TARGET}" = "y" ]; then
yann@468
    12
yann@466
    13
# Download GMP
yann@466
    14
do_gmp_get() {
yann@1119
    15
    CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
yann@466
    16
}
yann@466
    17
yann@466
    18
# Extract GMP
yann@466
    19
do_gmp_extract() {
yann@1126
    20
    CT_Extract "gmp-${CT_GMP_VERSION}"
yann@1126
    21
    CT_Patch "gmp-${CT_GMP_VERSION}"
yann@466
    22
}
yann@466
    23
yann@1810
    24
if [ "${CT_GMP}" = "y" ]; then
yann@1810
    25
yann@466
    26
do_gmp() {
yann@1324
    27
yann@466
    28
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    29
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    30
yann@466
    31
    CT_DoStep INFO "Installing GMP"
yann@466
    32
yann@466
    33
    CT_DoLog EXTRA "Configuring GMP"
yann@1324
    34
yann@1383
    35
    CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions"     \
yann@1119
    36
    CT_DoExecLog ALL                                \
yann@1119
    37
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    38
        --build=${CT_BUILD}                         \
yann@1119
    39
        --host=${CT_HOST}                           \
yann@1119
    40
        --prefix="${CT_PREFIX_DIR}"                 \
yann@1375
    41
        --enable-shared                             \
yann@1375
    42
        --disable-static                            \
yann@1324
    43
        --enable-fft                                \
yann@1324
    44
        --enable-mpbsd                              \
yann@1383
    45
        --enable-cxx
yann@466
    46
yann@466
    47
    CT_DoLog EXTRA "Building GMP"
yann@655
    48
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@466
    49
yann@1386
    50
    if [ "${CT_COMP_LIBS_CHECK}" = "y" ]; then
yann@466
    51
        CT_DoLog EXTRA "Checking GMP"
yann@655
    52
        CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check
yann@466
    53
    fi
yann@466
    54
yann@466
    55
    CT_DoLog EXTRA "Installing GMP"
yann@655
    56
    CT_DoExecLog ALL make install
yann@466
    57
yann@466
    58
    CT_EndStep
yann@466
    59
}
yann@468
    60
yann@1810
    61
fi # CT_GMP
yann@1810
    62
yann@1810
    63
if [ "${CT_GMP_TARGET}" = "y" ]; then
yann@468
    64
yann@602
    65
do_gmp_target() {
yann@602
    66
    mkdir -p "${CT_BUILD_DIR}/build-gmp-target"
yann@602
    67
    cd "${CT_BUILD_DIR}/build-gmp-target"
yann@468
    68
yann@602
    69
    CT_DoStep INFO "Installing GMP for the target"
yann@602
    70
yann@602
    71
    CT_DoLog EXTRA "Configuring GMP"
yann@1119
    72
    CFLAGS="${CT_CFLAGS_FOR_TARGET}"                \
yann@1119
    73
    CT_DoExecLog ALL                                \
yann@1119
    74
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    75
        --build=${CT_BUILD}                         \
yann@1119
    76
        --host=${CT_TARGET}                         \
yann@1119
    77
        --prefix=/usr                               \
yann@1324
    78
        --disable-shared                            \
yann@1324
    79
        --enable-static                             \
yann@1324
    80
        --enable-fft                                \
yann@1324
    81
        --enable-mpbsd                              \
yann@602
    82
yann@602
    83
    CT_DoLog EXTRA "Building GMP"
yann@666
    84
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
yann@602
    85
yann@602
    86
    # Not possible to check MPFR while X-compiling
yann@602
    87
yann@602
    88
    CT_DoLog EXTRA "Installing GMP"
yann@666
    89
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
yann@602
    90
yann@602
    91
    CT_EndStep
yann@602
    92
}
yann@602
    93
yann@1810
    94
fi # CT_GMP_TARGET
yann@602
    95
yann@1810
    96
fi # CT_GMP || CT_GMP_TARGET