scripts/build/companion_libs/mpc.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@1384
     1
# This file adds the functions to build the MPC library
yann@1384
     2
# Copyright 2009 Yann E. MORIN
yann@1384
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@1384
     4
yann@1384
     5
do_mpc_get() { :; }
yann@1384
     6
do_mpc_extract() { :; }
yann@1384
     7
do_mpc() { :; }
yann@1384
     8
yann@1384
     9
# Overide functions depending on configuration
yann@1808
    10
if [ "${CT_MPC}" = "y" ]; then
yann@1384
    11
yann@1384
    12
# Download MPC
yann@1384
    13
do_mpc_get() {
yann@1384
    14
    CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz      \
yann@1384
    15
        http://www.multiprecision.org/mpc/download
yann@1384
    16
}
yann@1384
    17
yann@1384
    18
# Extract MPC
yann@1384
    19
do_mpc_extract() {
yann@1384
    20
    CT_Extract "mpc-${CT_MPC_VERSION}"
yann@1901
    21
    CT_Patch "mpc" "${CT_MPC_VERSION}"
yann@1384
    22
}
yann@1384
    23
yann@1384
    24
do_mpc() {
yann@1892
    25
    local -a mpc_opts
yann@1892
    26
yann@1384
    27
    mkdir -p "${CT_BUILD_DIR}/build-mpc"
yann@1384
    28
    cd "${CT_BUILD_DIR}/build-mpc"
yann@1384
    29
yann@1384
    30
    CT_DoStep INFO "Installing MPC"
yann@1384
    31
yann@1384
    32
    CT_DoLog EXTRA "Configuring MPC"
yann@1892
    33
yann@1892
    34
    if [ "${CT_COMPLIBS_SHARED}" = "y" ]; then
yann@1892
    35
        mpc_opts+=( --enable-shared --disable-static )
yann@1892
    36
    else
yann@1892
    37
        mpc_opts+=( --disable-shared --enable-static )
yann@1892
    38
    fi
yann@1892
    39
yann@2350
    40
    CT_DoExecLog CFG                                \
yann@1384
    41
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1384
    42
    "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
yann@1384
    43
        --build=${CT_BUILD}                         \
yann@1384
    44
        --host=${CT_HOST}                           \
yann@1893
    45
        --prefix="${CT_COMPLIBS_DIR}"               \
yann@1893
    46
        --with-gmp="${CT_COMPLIBS_DIR}"             \
yann@1893
    47
        --with-mpfr="${CT_COMPLIBS_DIR}"            \
yann@1892
    48
        "${mpc_opts[@]}"
yann@1384
    49
yann@1384
    50
    CT_DoLog EXTRA "Building MPC"
yann@2275
    51
    CT_DoExecLog ALL make ${JOBSFLAGS}
yann@1384
    52
yann@1890
    53
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@1384
    54
        CT_DoLog EXTRA "Checking MPC"
yann@2275
    55
        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
yann@1384
    56
    fi
yann@1384
    57
yann@1384
    58
    CT_DoLog EXTRA "Installing MPC"
yann@1384
    59
    CT_DoExecLog ALL make install
yann@1384
    60
yann@1384
    61
    CT_EndStep
yann@1384
    62
}
yann@1384
    63
yann@1808
    64
fi # CT_MPC