scripts/build/companion_libs/mpc.sh
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 2929 22e495b7bee8
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
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@2929
     7
do_mpc_for_build() { :; }
yann@2927
     8
do_mpc_for_host() { :; }
yann@1384
     9
yann@1384
    10
# Overide functions depending on configuration
yann@1808
    11
if [ "${CT_MPC}" = "y" ]; then
yann@1384
    12
yann@1384
    13
# Download MPC
yann@1384
    14
do_mpc_get() {
yann@1384
    15
    CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz      \
yann@1384
    16
        http://www.multiprecision.org/mpc/download
yann@1384
    17
}
yann@1384
    18
yann@1384
    19
# Extract MPC
yann@1384
    20
do_mpc_extract() {
yann@1384
    21
    CT_Extract "mpc-${CT_MPC_VERSION}"
yann@1901
    22
    CT_Patch "mpc" "${CT_MPC_VERSION}"
yann@1384
    23
}
yann@1384
    24
yann@2929
    25
# Build MPC for running on build
yann@2929
    26
# - always build statically
yann@2929
    27
# - we do not have build-specific CFLAGS
yann@2929
    28
# - install in build-tools prefix
yann@2929
    29
do_mpc_for_build() {
yann@2929
    30
    local -a mpc_opts
yann@2929
    31
yann@2929
    32
    case "${CT_TOOLCHAIN_TYPE}" in
yann@2929
    33
        native|cross)   return 0;;
yann@2929
    34
    esac
yann@2929
    35
yann@2929
    36
    CT_DoStep INFO "Installing MPC for build"
yann@2929
    37
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-build-${CT_BUILD}"
yann@2929
    38
yann@2929
    39
    mpc_opts+=( "host=${CT_BUILD}" )
yann@2929
    40
    mpc_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
yann@2929
    41
    do_mpc_backend "${mpc_opts[@]}"
yann@2929
    42
yann@2929
    43
    CT_Popd
yann@2929
    44
    CT_EndStep
yann@2929
    45
}
yann@2929
    46
yann@2927
    47
# Build MPC for running on host
yann@2927
    48
do_mpc_for_host() {
yann@2927
    49
    local -a mpc_opts
yann@1384
    50
yann@2927
    51
    CT_DoStep INFO "Installing MPC for host"
yann@2927
    52
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mpc-host-${CT_HOST}"
yann@2927
    53
yann@2927
    54
    mpc_opts+=( "host=${CT_HOST}" )
yann@2931
    55
    mpc_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
yann@2927
    56
    mpc_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
yann@2927
    57
    do_mpc_backend "${mpc_opts[@]}"
yann@2927
    58
yann@2927
    59
    CT_Popd
yann@2927
    60
    CT_EndStep
yann@2927
    61
}
yann@2927
    62
yann@2927
    63
# Build MPC
yann@2927
    64
#     Parameter     : description               : type      : default
yann@2927
    65
#     host          : machine to run on         : tuple     : (none)
yann@2927
    66
#     prefix        : prefix to install into    : dir       : (none)
yann@2927
    67
#     cflags        : host cflags to use        : string    : (empty)
yann@2927
    68
do_mpc_backend() {
yann@2927
    69
    local host
yann@2927
    70
    local prefix
yann@2927
    71
    local cflags
yann@2927
    72
    local arg
yann@2927
    73
yann@2927
    74
    for arg in "$@"; do
yann@2927
    75
        eval "${arg// /\\ }"
yann@2927
    76
    done
yann@1384
    77
yann@1384
    78
    CT_DoLog EXTRA "Configuring MPC"
yann@1892
    79
yann@2350
    80
    CT_DoExecLog CFG                                \
yann@2927
    81
    CFLAGS="${cflags}"                              \
yann@1384
    82
    "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
yann@1384
    83
        --build=${CT_BUILD}                         \
yann@2927
    84
        --host=${host}                              \
yann@2927
    85
        --prefix="${prefix}"                        \
yann@2927
    86
        --with-gmp="${prefix}"                      \
yann@2927
    87
        --with-mpfr="${prefix}"                     \
yann@2381
    88
        --disable-shared                            \
yann@2381
    89
        --enable-static
yann@1384
    90
yann@1384
    91
    CT_DoLog EXTRA "Building MPC"
yann@2275
    92
    CT_DoExecLog ALL make ${JOBSFLAGS}
yann@1384
    93
yann@1890
    94
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@1384
    95
        CT_DoLog EXTRA "Checking MPC"
yann@2275
    96
        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
yann@1384
    97
    fi
yann@1384
    98
yann@1384
    99
    CT_DoLog EXTRA "Installing MPC"
yann@1384
   100
    CT_DoExecLog ALL make install
yann@1384
   101
}
yann@1384
   102
yann@1808
   103
fi # CT_MPC