scripts/build/companion_tools.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:46:47 2011 +0200 (2011-07-17)
changeset 2892 aa934ec4b4ee
permissions -rw-r--r--
cc/gcc: add the backend/frontend infra for final gcc

Currently, we issue the bare-metal compiler from the pass_1 & pass_2
core compilers, because the final gcc breaks while doing so.

This implies we have to build some libces during the start_files step,
instead of the standard libc step. This is the case for newlib.

By adding a backend/frontend infra to the final gcc, we can abstract
what backend to call: the standard backend for non-bare-metal gcc,
and the core backend for bare-metal.

This patch is just an no-op, it just adds the final backend and
frontend without changing the way bare-metal is built, to come in a
subsequent patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # Wrapper to build the companion tools facilities
     2 
     3 # List all companion tools facilities, and parse their scripts
     4 CT_COMP_TOOLS_FACILITY_LIST=
     5 for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
     6     _f="$(basename "${f}" .sh)"
     7     _f="${_f#???-}"
     8     __f="CT_COMP_TOOLS_${_f}"
     9     if [ "${!__f}" = "y" ]; then
    10         CT_DoLog DEBUG "Enabling companion tools '${_f}'"
    11         . "${f}"
    12         CT_COMP_TOOLS_FACILITY_LIST="${CT_COMP_TOOLS_FACILITY_LIST} ${_f}"
    13     else
    14         CT_DoLog DEBUG "Disabling companion tools '${_f}'"
    15     fi
    16 done
    17 
    18 # Download the companion tools facilities
    19 do_companion_tools_get() {
    20     for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
    21         do_companion_tools_${f}_get
    22     done
    23 }
    24 
    25 # Extract and patch the companion tools facilities
    26 do_companion_tools_extract() {
    27     for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
    28         do_companion_tools_${f}_extract
    29     done
    30 }
    31 
    32 # Build the companion tools facilities
    33 do_companion_tools() {
    34     for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
    35         do_companion_tools_${f}_build
    36     done
    37 }
    38