config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 03 23:40:22 2011 +0100 (2011-01-03)
changeset 2267 7af68e6083aa
parent 2146 3b812ba8d001
child 2287 61608c9365ab
permissions -rw-r--r--
libc-glibc: remove 2.3.6

This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

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