config/cc/gcc.in.2
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Oct 09 11:38:04 2010 +0200 (2010-10-09)
changeset 2146 3b812ba8d001
parent 2145 efea409ff8be
child 2211 2f67667ee385
permissions -rw-r--r--
cc/gcc: add an option to enable/disable build of libssp

libssp is the run-time Stack-Smashing Protection library.
It can be usefull to have or miss, depends...

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