config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Oct 09 22:49:28 2010 +0200 (2010-10-09)
changeset 2143 c7126e94e286
parent 2122 eb837be50f8f
child 2144 80f088eb0608
permissions -rw-r--r--
cc/gcc: add option to enable 128-bit long doubles

Needed by some PPC targets, at least.
Requires gcc 4.2+ (noticed by Arnaud LACOMBE).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@2041
     1
config CC_GCC_ENABLE_TARGET_OPTSPACE
yann@2041
     2
    bool
yann@2041
     3
    prompt "Optimize gcc libs for size"
yann@2041
     4
    default y
yann@2041
     5
    help
yann@2041
     6
      Pass --enable-target-optspace to crossgcc's configure.
yann@2041
     7
      
yann@2041
     8
      This will compile crossgcc's libs with -Os.
yann@2041
     9
yann@2122
    10
config CC_GCC_USE_GRAPHITE
yann@2122
    11
    bool
yann@2122
    12
    prompt "Enable GRAPHITE loop optimisations"
yann@2122
    13
    default y
yann@2122
    14
    depends on CC_GCC_HAS_GRAPHITE
yann@2122
    15
    select CC_GCC_USE_PPL_CLOOG
yann@2122
    16
    help
yann@2122
    17
      Enable the GRAPHITE loop optimsations.
yann@2122
    18
      
yann@2122
    19
      This requires the PPL and CLooG companion libraries, and
yann@2122
    20
      those will be automatically build for you.
yann@2122
    21
      
yann@2122
    22
      On some systems (eg. Cygwin), PPL and/or CLooG may not
yann@2122
    23
      build properly (yet), so you'll have to say 'N' here.
yann@2122
    24
yann@2122
    25
config CC_GCC_USE_LTO
yann@2122
    26
    bool
yann@2122
    27
    prompt "Enable LTO"
yann@2122
    28
    default y
yann@2122
    29
    depends on CC_GCC_HAS_LTO
yann@2122
    30
    select CC_GCC_USE_LIBELF
yann@2122
    31
    help
yann@2122
    32
      Enable the Link Time Optimisations.
yann@2122
    33
      
yann@2122
    34
      This will require the libelf companion library, and it
yann@2122
    35
      wil be build automatically for you.
yann@2122
    36
js@2045
    37
config CC_STATIC_LIBSTDCXX
js@2045
    38
    bool
js@2045
    39
    prompt "Link libstdc++ statically into the gcc binary"
js@2045
    40
    default y
js@2045
    41
    depends on CC_GCC_4_4_or_later
js@2045
    42
    help
js@2045
    43
      Newer gcc versions use the PPL library which is C++ code.  Statically
js@2045
    44
      linking libstdc++ increases the likeliness that the gcc binary will
js@2045
    45
      run on machines other than the one which it was built on, without
js@2045
    46
      having to worry about distributing the matching version of libstdc++
js@2045
    47
      along with it.
js@2045
    48
yann@2041
    49
comment "Misc. obscure options."
yann@2041
    50
yann@2041
    51
config CC_CXA_ATEXIT
yann@2041
    52
    bool
yann@2041
    53
    prompt "Use __cxa_atexit"
yann@2041
    54
    default y
yann@2041
    55
    depends on ! BARE_METAL
yann@2041
    56
    help
yann@2041
    57
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
yann@2041
    58
      you might want to try disabling this option.
yann@2041
    59
yann@2041
    60
config CC_GCC_DISABLE_PCH
yann@2041
    61
    bool
yann@2041
    62
    prompt "Do not build PCH"
yann@2041
    63
    default n
yann@2041
    64
    help
yann@2041
    65
      Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
yann@2041
    66
      at the expense of speed when compiling C++ code.
yann@2041
    67
      
yann@2041
    68
      For some configurations (most notably canadian?), PCH are broken, and
yann@2041
    69
      need to be disabled. Please see:
yann@2041
    70
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
yann@2041
    71
yann@2042
    72
config CC_GCC_SJLJ_EXCEPTIONS
yann@2042
    73
    tristate
yann@2041
    74
    prompt "Use sjlj for exceptions"
yann@2054
    75
    depends on ! BARE_METAL
yann@2042
    76
    default m
yann@2041
    77
    help
yann@2042
    78
      'sjlj' is short for setjmp/longjmp.
yann@2041
    79
      
yann@2042
    80
      On some architectures, stack unwinding during exception handling
yann@2042
    81
      works perfectly well without using sjlj, while on some others,
yann@2042
    82
      use of sjlj is required for proper stack unwinding.
yann@2041
    83
      
yann@2042
    84
       Option  | sjlj use           | Associated ./configure switch
yann@2042
    85
      ---------+--------------------+--------------------------------
yann@2042
    86
         Y     | forcibly used      | --enable-sjlj-exceptions
yann@2042
    87
         M     | auto               | (none, ./configure decides)
yann@2042
    88
         N     | forcibly not used  | --disable-sjlj-exceptions
yann@2041
    89
      
yann@2042
    90
      It should be safe to say 'M' or 'N'.
yann@2042
    91
      
yann@2042
    92
      It can happen that ./configure is wrong in some cases. Known
yann@2042
    93
      case is for ARM big endian, where you should say 'N'.
yann@2043
    94
yann@2043
    95
config CC_GCC_LIBMUDFLAP
yann@2043
    96
    bool
yann@2043
    97
    prompt "Compile libmudflap"
yann@2043
    98
    default n
yann@2043
    99
    help
yann@2043
   100
      libmudflap is a pointer-use checking tool, which can detect
yann@2043
   101
      various mis-usages of pointers in C and (to some extents) C++.
yann@2043
   102
      
yann@2043
   103
      You should say 'N' here, as libmduflap generates instrumented
yann@2043
   104
      code (thus it is a bit bigger and a bit slower) and requires
yann@2043
   105
      re-compilation and re-link, while it exists better run-time
yann@2043
   106
      alternatives (eg. DUMA, dmalloc...) that need neither re-
yann@2043
   107
      compilation nor re-link.
yann@2143
   108
yann@2143
   109
config CC_GCC_LDBL_128
yann@2143
   110
    tristate
yann@2143
   111
    prompt "Enable 128-bit long doubles"
yann@2143
   112
    default m
yann@2143
   113
    depends on CC_GCC_4_2_or_later
yann@2143
   114
    help
yann@2143
   115
      Saying 'Y' will force gcc to use 128-bit wide long doubles
yann@2143
   116
      Saying 'N' will force gcc to use 64-bit wide long doubles
yann@2143
   117
      Saying 'M' will let gcc choose (default is 128-bit for
yann@2143
   118
                 glibc >= 2.4, 64-bit otherwise)
yann@2143
   119
      
yann@2143
   120
      If in doubt, keep the default, ie. 'M'.