scripts/build/arch/powerpc.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sun May 11 23:43:52 2014 +0200 (2014-05-11)
changeset 3320 78af1c99bc6d
parent 2723 94e5cee905f2
child 3322 eb13867a034c
permissions -rw-r--r--
scripts/functions: add target_endian_le and target_endian_be

We currently define target_endian_el and target_endian_eb to be the
tuple extension depending on endianness, defined to be respectively
'el' or 'eb' according to the endianness.

Some architecture do not use 'el' or 'eb', but use 'le' or 'be'.

Provide that as well, as two new variables: target_endian_le and
target_endian_be.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <dev@codyps.com>
     1 # Compute powerpc-specific values
     2 
     3 CT_DoArchTupleValues () {
     4     # The architecture part of the tuple, override only for 64-bit
     5     if [ "${CT_ARCH_64}" = "y" ]; then
     6         CT_TARGET_ARCH="powerpc64${CT_ARCH_SUFFIX}"
     7     fi
     8 
     9     # Only override values when ABI is not the default
    10     case "${CT_ARCH_powerpc_ABI}" in
    11         eabi)
    12             # EABI is only for bare-metal, so libc ∈ [none,newlib]
    13             CT_TARGET_SYS="eabi"
    14             ;;
    15         spe)
    16             case "${CT_LIBC}" in
    17                 none|newlib)    CT_TARGET_SYS="spe";;
    18                 *glibc)         CT_TARGET_SYS="gnuspe";;
    19                 uClibc)         CT_TARGET_SYS="uclibcgnuspe";;
    20             esac
    21             ;;
    22     esac
    23 
    24     # Add extra flags for SPE if needed
    25     if [ "${CT_ARCH_powerpc_ABI_SPE}" = "y" ]; then
    26         CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe"
    27         CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double"
    28         CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
    29     fi
    30 }