config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Oct 05 23:59:16 2010 +0200 (2010-10-05)
changeset 2134 af1a779a7f1a
parent 2054 2ec4260a4692
child 2143 c7126e94e286
permissions -rw-r--r--
scripts: update distclean

The toolchains are now built in .build/ rather than in targets/
so distclean has to get rid of that.

We also clean up the old dir, as users may have old samples that
still refer to the old location.

Do not hide messages during distclean, and do not ignore errors.

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.