scripts/build/arch/sh.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 964 0535f7bf1069
child 2760 b402a49734a3
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # Compute sh-specific values
     2 
     3 CT_DoArchTupleValues () {
     4     # The architecture part of the tuple:
     5     CT_TARGET_ARCH="${CT_ARCH_SH_VARIANT}${target_endian_eb}"
     6 
     7     # gcc ./configure flags
     8     CT_ARCH_WITH_ARCH=
     9     CT_ARCH_WITH_ABI=
    10     CT_ARCH_WITH_CPU=
    11     CT_ARCH_WITH_TUNE=
    12     CT_ARCH_WITH_FPU=
    13     CT_ARCH_WITH_FLOAT=
    14 
    15     # Endianness stuff
    16     case "${CT_ARCH_BE},${CT_ARCH_LE}" in
    17         y,) CT_ARCH_ENDIAN_CFLAG=-mb;;
    18         ,y) CT_ARCH_ENDIAN_CFLAG=-ml;;
    19     esac
    20 
    21     # CFLAGS
    22     case "${CT_ARCH_SH_VARIANT}" in
    23         sh3)    CT_ARCH_ARCH_CFLAG=-m3;;
    24         sh4*)
    25             case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW}" in
    26                 y,) CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}";;
    27                 ,y) CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}-nofpu";;
    28             esac
    29             ;;
    30     esac
    31     CT_ARCH_FLOAT_CFLAG=
    32 }