config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jul 28 23:55:10 2010 +0200 (2010-07-28)
changeset 2043 efb1058baa31
parent 2042 d1f70bef45ba
child 2045 fdaa6c7f6dea
permissions -rw-r--r--
cc/gcc: add option to enable/disable libmudflap

For some scenarii, libmudflap is not very usefull
or can break the build. Make in an optioon that
defaults to 'N' to be on the safe side.

For the core gcc-s, there is absolutely no need
to build libmidflap.

Idea from: Bernhard Pfund <bernhard@chapter7.ch>
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@2041
    10
comment "Misc. obscure options."
yann@2041
    11
yann@2041
    12
config CC_CXA_ATEXIT
yann@2041
    13
    bool
yann@2041
    14
    prompt "Use __cxa_atexit"
yann@2041
    15
    default y
yann@2041
    16
    depends on ! BARE_METAL
yann@2041
    17
    help
yann@2041
    18
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
yann@2041
    19
      you might want to try disabling this option.
yann@2041
    20
yann@2041
    21
config CC_GCC_DISABLE_PCH
yann@2041
    22
    bool
yann@2041
    23
    prompt "Do not build PCH"
yann@2041
    24
    default n
yann@2041
    25
    help
yann@2041
    26
      Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
yann@2041
    27
      at the expense of speed when compiling C++ code.
yann@2041
    28
      
yann@2041
    29
      For some configurations (most notably canadian?), PCH are broken, and
yann@2041
    30
      need to be disabled. Please see:
yann@2041
    31
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
yann@2041
    32
yann@2042
    33
config CC_GCC_SJLJ_EXCEPTIONS
yann@2042
    34
    tristate
yann@2041
    35
    prompt "Use sjlj for exceptions"
yann@2042
    36
    default m
yann@2041
    37
    help
yann@2042
    38
      'sjlj' is short for setjmp/longjmp.
yann@2041
    39
      
yann@2042
    40
      On some architectures, stack unwinding during exception handling
yann@2042
    41
      works perfectly well without using sjlj, while on some others,
yann@2042
    42
      use of sjlj is required for proper stack unwinding.
yann@2041
    43
      
yann@2042
    44
       Option  | sjlj use           | Associated ./configure switch
yann@2042
    45
      ---------+--------------------+--------------------------------
yann@2042
    46
         Y     | forcibly used      | --enable-sjlj-exceptions
yann@2042
    47
         M     | auto               | (none, ./configure decides)
yann@2042
    48
         N     | forcibly not used  | --disable-sjlj-exceptions
yann@2041
    49
      
yann@2042
    50
      It should be safe to say 'M' or 'N'.
yann@2042
    51
      
yann@2042
    52
      It can happen that ./configure is wrong in some cases. Known
yann@2042
    53
      case is for ARM big endian, where you should say 'N'.
yann@2043
    54
yann@2043
    55
config CC_GCC_LIBMUDFLAP
yann@2043
    56
    bool
yann@2043
    57
    prompt "Compile libmudflap"
yann@2043
    58
    default n
yann@2043
    59
    help
yann@2043
    60
      libmudflap is a pointer-use checking tool, which can detect
yann@2043
    61
      various mis-usages of pointers in C and (to some extents) C++.
yann@2043
    62
      
yann@2043
    63
      You should say 'N' here, as libmduflap generates instrumented
yann@2043
    64
      code (thus it is a bit bigger and a bit slower) and requires
yann@2043
    65
      re-compilation and re-link, while it exists better run-time
yann@2043
    66
      alternatives (eg. DUMA, dmalloc...) that need neither re-
yann@2043
    67
      compilation nor re-link.