config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jan 22 23:20:18 2011 +0100 (2011-01-22)
changeset 2305 2ed26c646568
parent 2211 2f67667ee385
child 2362 0888065f8c4d
permissions -rw-r--r--
scripts: create the makeinfo wrapper before we set PATH

If we set PATH to the tools wrappers before we create the
makeinfo wrapper, then we may well wrap an existing wrapper
from a previous run.

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