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