scripts/build/companion_libs/mpc.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 2350 069c0df98b64
child 2927 ddaae597fd7c
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

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@1384
    25
    mkdir -p "${CT_BUILD_DIR}/build-mpc"
yann@1384
    26
    cd "${CT_BUILD_DIR}/build-mpc"
yann@1384
    27
yann@1384
    28
    CT_DoStep INFO "Installing MPC"
yann@1384
    29
yann@1384
    30
    CT_DoLog EXTRA "Configuring MPC"
yann@1892
    31
yann@2350
    32
    CT_DoExecLog CFG                                \
yann@1384
    33
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1384
    34
    "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
yann@1384
    35
        --build=${CT_BUILD}                         \
yann@1384
    36
        --host=${CT_HOST}                           \
yann@1893
    37
        --prefix="${CT_COMPLIBS_DIR}"               \
yann@1893
    38
        --with-gmp="${CT_COMPLIBS_DIR}"             \
yann@1893
    39
        --with-mpfr="${CT_COMPLIBS_DIR}"            \
yann@2381
    40
        --disable-shared                            \
yann@2381
    41
        --enable-static
yann@1384
    42
yann@1384
    43
    CT_DoLog EXTRA "Building MPC"
yann@2275
    44
    CT_DoExecLog ALL make ${JOBSFLAGS}
yann@1384
    45
yann@1890
    46
    if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
yann@1384
    47
        CT_DoLog EXTRA "Checking MPC"
yann@2275
    48
        CT_DoExecLog ALL make ${JOBSFLAGS} -s check
yann@1384
    49
    fi
yann@1384
    50
yann@1384
    51
    CT_DoLog EXTRA "Installing MPC"
yann@1384
    52
    CT_DoExecLog ALL make install
yann@1384
    53
yann@1384
    54
    CT_EndStep
yann@1384
    55
}
yann@1384
    56
yann@1808
    57
fi # CT_MPC