config/arch/arm.in.2
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 2484 d1a8c2ae7946
child 3150 1d6fd9bde73c
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
     1 # ARM specific configuration file
     2 
     3 config ARCH_ARM_MODE
     4     string
     5     default "arm"   if ARCH_ARM_MODE_ARM
     6     default "thumb" if ARCH_ARM_MODE_THUMB
     7 
     8 choice
     9     bool
    10     prompt "Default instruction set mode"
    11     default ARCH_ARM_MODE_ARM
    12 
    13 config ARCH_ARM_MODE_ARM
    14     bool
    15     prompt "arm"
    16     help
    17       Defaults to emitting instructions in the ARM mode.
    18 
    19 config ARCH_ARM_MODE_THUMB
    20     bool
    21     prompt "thumb (EXPERIMENTAL)"
    22     depends on EXPERIMENTAL
    23     help
    24       Defaults to emitting instructions in the THUMB mode.
    25 
    26 endchoice
    27 
    28 config ARCH_ARM_INTERWORKING
    29     bool
    30     prompt "Use Thumb-interworking (READ HELP)"
    31     depends on EXPERIMENTAL
    32     help
    33       Excerpt from the gcc manual:
    34       
    35       > Generate code which supports calling between the ARM and Thumb
    36       > instruction sets. Without this option the two instruction sets
    37       > cannot be reliably used inside one program. The default is
    38       > [not to use interwork], since slightly larger code is generated
    39       > when [interwork] is specified.
    40 
    41 config ARCH_ARM_EABI
    42     bool
    43     prompt "Use EABI"
    44     default y
    45     help
    46       Set up the toolchain so that it generates EABI-compliant binaries.
    47 
    48 config ARCH_ARM_ABI_OK
    49     bool
    50     default y
    51     depends on ! ARCH_ARM_EABI
    52     select ARCH_SUPPORTS_WITH_ABI