config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Nov 16 17:49:15 2010 +0100 (2010-11-16)
changeset 2204 ea1c9143e1e3
parent 2145 efea409ff8be
child 2211 2f67667ee385
permissions -rw-r--r--
scripts: call curl and wget in sequence

It can happen, in some circumpstances, than one can succeed where
the other would fail. Those cases involves convoluted enterprise
networks with proxies playing tricks.

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@2122
    27
config CC_GCC_USE_LTO
yann@2122
    28
    bool
yann@2122
    29
    prompt "Enable LTO"
yann@2122
    30
    default y
yann@2122
    31
    depends on CC_GCC_HAS_LTO
yann@2122
    32
    select CC_GCC_USE_LIBELF
yann@2122
    33
    help
yann@2122
    34
      Enable the Link Time Optimisations.
yann@2122
    35
      
yann@2122
    36
      This will require the libelf companion library, and it
yann@2122
    37
      wil be build automatically for you.
yann@2122
    38
js@2045
    39
config CC_STATIC_LIBSTDCXX
js@2045
    40
    bool
js@2045
    41
    prompt "Link libstdc++ statically into the gcc binary"
js@2045
    42
    default y
js@2045
    43
    depends on CC_GCC_4_4_or_later
js@2045
    44
    help
js@2045
    45
      Newer gcc versions use the PPL library which is C++ code.  Statically
js@2045
    46
      linking libstdc++ increases the likeliness that the gcc binary will
js@2045
    47
      run on machines other than the one which it was built on, without
js@2045
    48
      having to worry about distributing the matching version of libstdc++
js@2045
    49
      along with it.
js@2045
    50
yann@2144
    51
config CC_GCC_LIBMUDFLAP
yann@2144
    52
    bool
yann@2144
    53
    prompt "Compile libmudflap"
yann@2144
    54
    default n
yann@2144
    55
    help
yann@2144
    56
      libmudflap is a pointer-use checking tool, which can detect
yann@2144
    57
      various mis-usages of pointers in C and (to some extents) C++.
yann@2144
    58
      
yann@2144
    59
      You should say 'N' here, as libmduflap generates instrumented
yann@2144
    60
      code (thus it is a bit bigger and a bit slower) and requires
yann@2144
    61
      re-compilation and re-link, while it exists better run-time
yann@2144
    62
      alternatives (eg. DUMA, dmalloc...) that need neither re-
yann@2144
    63
      compilation nor re-link.
yann@2144
    64
yann@2145
    65
config CC_GCC_LIBGOMP
yann@2145
    66
    bool
yann@2145
    67
    prompt "Compile libgomp"
yann@2145
    68
    default n
yann@2145
    69
    help
yann@2145
    70
      libgomp is "the GNU implementation of the OpenMP Application Programming
yann@2145
    71
      Interface (API) for multi-platform shared-memory parallel programming in
yann@2145
    72
      C/C++ and Fortran". See:
yann@2145
    73
        http://gcc.gnu.org/onlinedocs/libgomp/
yann@2145
    74
      
yann@2145
    75
      The default is 'N'. Say 'Y' if you need it, and report success/failure.
yann@2145
    76
yann@2146
    77
config CC_GCC_LIBSSP
yann@2146
    78
    bool
yann@2146
    79
    prompt "Compile libssp"
yann@2146
    80
    default n
yann@2146
    81
    help
yann@2146
    82
      libssp is the run-time Stack-Smashing Protection library.
yann@2146
    83
      
yann@2146
    84
      The default is 'N'. Say 'Y' if you need it, and report success/failure.
yann@2146
    85
yann@2144
    86
#-----------------------------------------------------------------------------
yann@2144
    87
yann@2041
    88
comment "Misc. obscure options."
yann@2041
    89
yann@2041
    90
config CC_CXA_ATEXIT
yann@2041
    91
    bool
yann@2041
    92
    prompt "Use __cxa_atexit"
yann@2041
    93
    default y
yann@2041
    94
    depends on ! BARE_METAL
yann@2041
    95
    help
yann@2041
    96
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
yann@2041
    97
      you might want to try disabling this option.
yann@2041
    98
yann@2041
    99
config CC_GCC_DISABLE_PCH
yann@2041
   100
    bool
yann@2041
   101
    prompt "Do not build PCH"
yann@2041
   102
    default n
yann@2041
   103
    help
yann@2041
   104
      Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
yann@2041
   105
      at the expense of speed when compiling C++ code.
yann@2041
   106
      
yann@2041
   107
      For some configurations (most notably canadian?), PCH are broken, and
yann@2041
   108
      need to be disabled. Please see:
yann@2041
   109
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
yann@2041
   110
yann@2042
   111
config CC_GCC_SJLJ_EXCEPTIONS
yann@2042
   112
    tristate
yann@2041
   113
    prompt "Use sjlj for exceptions"
yann@2054
   114
    depends on ! BARE_METAL
yann@2042
   115
    default m
yann@2041
   116
    help
yann@2042
   117
      'sjlj' is short for setjmp/longjmp.
yann@2041
   118
      
yann@2042
   119
      On some architectures, stack unwinding during exception handling
yann@2042
   120
      works perfectly well without using sjlj, while on some others,
yann@2042
   121
      use of sjlj is required for proper stack unwinding.
yann@2041
   122
      
yann@2042
   123
       Option  | sjlj use           | Associated ./configure switch
yann@2042
   124
      ---------+--------------------+--------------------------------
yann@2042
   125
         Y     | forcibly used      | --enable-sjlj-exceptions
yann@2042
   126
         M     | auto               | (none, ./configure decides)
yann@2042
   127
         N     | forcibly not used  | --disable-sjlj-exceptions
yann@2041
   128
      
yann@2042
   129
      It should be safe to say 'M' or 'N'.
yann@2042
   130
      
yann@2042
   131
      It can happen that ./configure is wrong in some cases. Known
yann@2042
   132
      case is for ARM big endian, where you should say 'N'.
yann@2043
   133
yann@2143
   134
config CC_GCC_LDBL_128
yann@2143
   135
    tristate
yann@2143
   136
    prompt "Enable 128-bit long doubles"
yann@2143
   137
    default m
yann@2143
   138
    depends on CC_GCC_4_2_or_later
yann@2143
   139
    help
yann@2143
   140
      Saying 'Y' will force gcc to use 128-bit wide long doubles
yann@2143
   141
      Saying 'N' will force gcc to use 64-bit wide long doubles
yann@2143
   142
      Saying 'M' will let gcc choose (default is 128-bit for
yann@2143
   143
                 glibc >= 2.4, 64-bit otherwise)
yann@2143
   144
      
yann@2143
   145
      If in doubt, keep the default, ie. 'M'.