scripts/build/arch/sh.sh
author Yann Diorcet <diorcet.yann@gmail.com>
Fri Nov 16 15:25:57 2012 +0100 (2012-11-16)
changeset 3119 1c56c03b7ed5
parent 2760 b402a49734a3
child 3169 9d0b37f08a10
permissions -rw-r--r--
scripts: add BUILD/HOST extra cflags/ldflags

On some hosts, and for certain toolchains (eg. toolchain targetting
the upcoming Darwin), it may be necessary to pass arbitrary CFLAGS
and/or LDFLAGS when building the components.

And necessary infrastructure:
- EXTRA_{CFLAGS,LDFLAGS}_FOR_{BUILD,HOST} as config options
- pass those extra flags to components

Fix-up a slight typo in elf2flt at the same time (misnamed cflags).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <d24043276c9243a35421.1353077450@macbook-smorlat.local>
Patchwork-Id: 199645
     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_ENDIAN}" in
    17         big)    CT_ARCH_ENDIAN_CFLAG=-mb;;
    18         little) 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             # softfp is not possible for SuperH, no need to test for it.
    26             case "${CT_ARCH_FLOAT}" in
    27                 hard)
    28                     CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}"
    29                     ;;
    30                 soft)
    31                     CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}-nofpu"
    32                     ;;
    33             esac
    34             ;;
    35     esac
    36     CT_ARCH_FLOAT_CFLAG=
    37 }