scripts/build/companion_libs/gmp.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 2275 9ab4392430ad
child 2381 0ca0f85a4b2a
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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
yann@602
     9
# Overide functions depending on configuration
yann@2099
    10
if [ "${CT_GMP}" = "y" ]; then
yann@468
    11
yann@466
    12
# Download GMP
yann@466
    13
do_gmp_get() {
yann@1119
    14
    CT_GetFile "gmp-${CT_GMP_VERSION}" {ftp,http}://{ftp.sunet.se/pub,ftp.gnu.org}/gnu/gmp
yann@466
    15
}
yann@466
    16
yann@466
    17
# Extract GMP
yann@466
    18
do_gmp_extract() {
yann@1126
    19
    CT_Extract "gmp-${CT_GMP_VERSION}"
yann@1901
    20
    CT_Patch "gmp" "${CT_GMP_VERSION}"
yann@466
    21
}
yann@466
    22
yann@466
    23
do_gmp() {
yann@1892
    24
    local -a gmp_opts
yann@1324
    25
yann@466
    26
    mkdir -p "${CT_BUILD_DIR}/build-gmp"
yann@466
    27
    cd "${CT_BUILD_DIR}/build-gmp"
yann@466
    28
yann@466
    29
    CT_DoStep INFO "Installing GMP"
yann@466
    30
yann@466
    31
    CT_DoLog EXTRA "Configuring GMP"
yann@1324
    32
yann@1892
    33
    if [ "${CT_COMPLIBS_SHARED}" = "y" ]; then
yann@1892
    34
        gmp_opts+=( --enable-shared --disable-static )
yann@1892
    35
    else
yann@1892
    36
        gmp_opts+=( --disable-shared --enable-static )
yann@1892
    37
    fi
yann@1892
    38
yann@2346
    39
    CT_DoExecLog CFG                                \
yann@1383
    40
    CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions"     \
yann@1119
    41
    "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
yann@1119
    42
        --build=${CT_BUILD}                         \
yann@1119
    43
        --host=${CT_HOST}                           \
yann@1893
    44
        --prefix="${CT_COMPLIBS_DIR}"               \
yann@1324
    45
        --enable-fft                                \
yann@1324
    46
        --enable-mpbsd                              \
yann@1892
    47
        --enable-cxx                                \
yann@1892
    48
        "${gmp_opts[@]}"
yann@466
    49
yann@466
    50
    CT_DoLog EXTRA "Building GMP"
yann@2275
    51
    CT_DoExecLog ALL make ${JOBSFLAGS}
yann@466
    52
yann@1890
    53
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@466
    54
        CT_DoLog EXTRA "Checking GMP"
yann@2275
    55
        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
yann@466
    56
    fi
yann@466
    57
yann@466
    58
    CT_DoLog EXTRA "Installing GMP"
yann@655
    59
    CT_DoExecLog ALL make install
yann@466
    60
yann@466
    61
    CT_EndStep
yann@466
    62
}
yann@468
    63
yann@1810
    64
fi # CT_GMP