config/cc/gcc.in.2
author Bryan Hundven <bryanhundven@gmail.com>
Thu Dec 09 18:55:42 2010 +0100 (2010-12-09)
changeset 2211 2f67667ee385
parent 2146 3b812ba8d001
child 2287 61608c9365ab
permissions -rw-r--r--
cc/gcc: build final gcc statically

If the global static option is set, then build the final gcc statically.

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