scripts/build/cc_core_gcc.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 01 16:49:15 2007 +0000 (2007-05-01)
changeset 56 07a6a48962b7
parent 20 e238f7fbc941
child 63 89b41dbffe8d
permissions -rw-r--r--
Merge patches sent by Robert P. J. Day <rpjday@mindspring.com>.
Warning: the buildroot folks purposedly removed the skip-comment patch but didn't really said why. Keeping it for the sake of having it in svn just in case (removing it will be easier thant not having it at all).
yann@1
     1
# This file adds the function to build the core gcc C compiler
yann@1
     2
# Copyright 2007 Yann E. MORIN
yann@1
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@1
     4
yann@1
     5
do_cc_core() {
yann@1
     6
    mkdir -p "${CT_BUILD_DIR}/build-cc-core"
yann@1
     7
    cd "${CT_BUILD_DIR}/build-cc-core"
yann@1
     8
yann@1
     9
    CT_DoStep INFO "Installing core C compiler"
yann@1
    10
yann@1
    11
    CT_DoLog EXTRA "Copy headers to install area of bootstrap gcc, so it can build libgcc2"
yann@1
    12
    mkdir -p "${CT_CC_CORE_PREFIX_DIR}/${CT_TARGET}/include"
yann@1
    13
    cp -r "${CT_HEADERS_DIR}"/* "${CT_CC_CORE_PREFIX_DIR}/${CT_TARGET}/include" 2>&1 |CT_DoLog DEBUG
yann@1
    14
yann@1
    15
    CT_DoLog EXTRA "Configuring core C compiler"
yann@1
    16
yann@1
    17
    extra_config=""
yann@1
    18
    [ "${CT_ARCH_FLOAT_SW}" = "y" ] && extra_config="${extra_config} --with-float=soft"
yann@45
    19
    [ -n "${CT_ARCH_ABI}" ]  && extra_config="${extra_config} --with-abi=${CT_ARCH_ABI}"
yann@1
    20
    [ -n "${CT_ARCH_CPU}" ]  && extra_config="${extra_config} --with-cpu=${CT_ARCH_CPU}"
yann@1
    21
    [ -n "${CT_ARCH_TUNE}" ] && extra_config="${extra_config} --with-tune=${CT_ARCH_TUNE}"
yann@1
    22
    [ -n "${CT_ARCH_ARCH}" ] && extra_config="${extra_config} --with-arch=${CT_ARCH_ARCH}"
yann@1
    23
    [ -n "${CT_ARCH_FPU}" ] && extra_config="${extra_config} --with-fpu=${CT_ARCH_FPU}"
yann@20
    24
    [ "${CT_CC_CXA_ATEXIT}" == "y" ] && extra_config="${extra_config} --enable-__cxa_atexit"
yann@1
    25
yann@1
    26
    CT_DoLog DEBUG "Extra config passed: \"${extra_config}\""
yann@1
    27
yann@1
    28
    # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
yann@1
    29
    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
yann@1
    30
    "${CT_SRC_DIR}/${CT_CC_CORE_FILE}/configure"    \
yann@1
    31
        ${CT_CANADIAN_OPT}                          \
yann@1
    32
        --target=${CT_TARGET}                       \
yann@1
    33
        --host=${CT_HOST}                           \
yann@1
    34
        --prefix="${CT_CC_CORE_PREFIX_DIR}"         \
yann@1
    35
        --with-local-prefix="${CT_SYSROOT_DIR}"     \
yann@1
    36
        --disable-multilib                          \
yann@1
    37
        --with-newlib                               \
yann@1
    38
        ${CC_CORE_SYSROOT_ARG}                      \
yann@1
    39
        ${extra_config}                             \
yann@1
    40
        --disable-nls                               \
yann@1
    41
        --enable-threads=no                         \
yann@1
    42
        --enable-symvers=gnu                        \
yann@1
    43
        --enable-languages=c                        \
yann@1
    44
        --disable-shared                            \
yann@1
    45
        ${CT_CC_CORE_EXTRA_CONFIG}                  2>&1 |CT_DoLog DEBUG
yann@1
    46
yann@1
    47
    if [ ! "${CT_CANADIAN}" = "y" ]; then
yann@1
    48
        CT_DoLog EXTRA "Building libiberty"
yann@1
    49
        make ${PARALLELMFLAGS} all-build-libiberty 2>&1 |CT_DoLog DEBUG
yann@1
    50
    fi
yann@1
    51
yann@1
    52
    CT_DoLog EXTRA "Building core C compiler"
yann@1
    53
    make ${PARALLELMFLAGS} all-gcc 2>&1 |CT_DoLog DEBUG
yann@1
    54
yann@1
    55
    CT_DoLog EXTRA "Installing core C compiler"
yann@1
    56
    make install-gcc 2>&1 |CT_DoLog DEBUG
yann@1
    57
yann@1
    58
    CT_EndStep
yann@1
    59
}