config/cc/gcc.in.2
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Tue May 31 16:27:39 2011 +0200 (2011-05-31)
changeset 2484 d1a8c2ae7946
parent 2469 3b08a7927e55
child 2486 328816f6e606
permissions -rw-r--r--
kconfig: remove useless 'default n'

kconfig bools are disabled by default, so specifying 'default n' is useless and
noisy. This patch removes all occurrences of 'default n'.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
     1 # gcc configuration options
     2 
     3 config CC_PKGVERSION
     4     string
     5     prompt "gcc ID string"
     6     depends on CC_GCC_4_3_or_later
     7     default "crosstool-NG-${CT_VERSION}"
     8     help
     9       Specify a string that identifies your package. You may wish to include
    10       a build number or build date. This version string will be included in
    11       the output of gcc --version.
    12 
    13       This is passed to the configure flag --with-pkgversion.
    14 
    15 config CC_BUGURL
    16     string
    17     prompt "gcc bug URL"
    18     depends on CC_GCC_4_3_or_later
    19     default ""
    20     help
    21       Specify the URL that users should visit if they wish to report a bug.
    22 
    23 config CC_ENABLE_CXX_FLAGS
    24     string
    25     prompt "Flags to pass to --enable-cxx-flags"
    26     default ""
    27     help
    28       Enter here the value of the gcc's ./configure option --enable-cxx-flags.
    29       Leave empty if you don't know better.
    30       
    31       Note: just pass in the option _value_, that is only the part that goes
    32       after the '=' sign.
    33 
    34 config CC_CORE_EXTRA_CONFIG_ARRAY
    35     string
    36     prompt "Core gcc extra config"
    37     default ""
    38     help
    39       Extra flags to pass onto ./configure when configuring the core gcc.
    40       
    41       The core gcc is a stripped down, C-only compiler needed to build
    42       the C library. Kinda bootstrap gcc, if you wish.
    43       
    44       You can enter multiple arguments here, and arguments can contain spaces
    45       if they are properly quoted (or escaped, but prefer quotes). Eg.:
    46           --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
    47 
    48 config CC_EXTRA_CONFIG_ARRAY
    49     string
    50     prompt "gcc extra config"
    51     default ""
    52     depends on ! BARE_METAL
    53     help
    54       Extra flags to pass onto ./configure when configuring gcc.
    55       
    56       You can enter multiple arguments here, and arguments can contain spaces
    57       if they are properly quoted (or escaped, but prefer quotes). Eg.:
    58           --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
    59 
    60 config STATIC_TOOLCHAIN
    61     select CC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later
    62 
    63 config CC_STATIC_LIBSTDCXX
    64     bool
    65     prompt "Link libstdc++ statically into the gcc binary"
    66     default y
    67     depends on CC_GCC_4_4_or_later
    68     help
    69       Newer gcc versions use the PPL library which is C++ code.  Statically
    70       linking libstdc++ increases the likeliness that the gcc binary will
    71       run on machines other than the one which it was built on, without
    72       having to worry about distributing the matching version of libstdc++
    73       along with it.
    74 
    75 #-----------------------------------------------------------------------------
    76 # Optimisation features
    77 
    78 comment "Optimisation features"
    79 
    80 config CC_GCC_USE_GRAPHITE
    81     bool
    82     prompt "Enable GRAPHITE loop optimisations"
    83     default y
    84     depends on CC_GCC_HAS_GRAPHITE
    85     select CC_GCC_USE_PPL_CLOOG
    86     help
    87       Enable the GRAPHITE loop optimsations.
    88       
    89       This requires the PPL and CLooG companion libraries, and
    90       those will be automatically build for you.
    91       
    92       On some systems (eg. Cygwin), PPL and/or CLooG may not
    93       build properly (yet), so you'll have to say 'N' here.
    94 
    95 # The way LTO works is a bit twisted.
    96 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
    97 # Basically:
    98 #   - if binutils has plugins: LTO is handled by ld/gold by loading
    99 #     the plugin when linking
   100 #   - if binutils does not have plugins: LTO is handled by collect2
   101 # In any case, LTO support does not depend on plugins, but takes
   102 # advantage of it
   103 # Also, only the 4.5 series needs libelf for LTO; 4.6 has dropped
   104 # the dependency.
   105 config CC_GCC_USE_LTO
   106     bool
   107     prompt "Enable LTO"
   108     default y
   109     depends on CC_GCC_HAS_LTO
   110     select CC_GCC_USE_LIBELF if CC_GCC_4_5
   111     help
   112       Enable the Link Time Optimisations.
   113       
   114       This will require the libelf companion library, and it
   115       wil be build automatically for you.
   116 
   117 #-----------------------------------------------------------------------------
   118 comment "Settings for libraries running on target"
   119 
   120 config CC_GCC_ENABLE_TARGET_OPTSPACE
   121     bool
   122     prompt "Optimize gcc libs for size"
   123     default y
   124     help
   125       Pass --enable-target-optspace to crossgcc's configure.
   126       
   127       This will compile crossgcc's libs with -Os.
   128 
   129 config CC_GCC_LIBMUDFLAP
   130     bool
   131     prompt "Compile libmudflap"
   132     help
   133       libmudflap is a pointer-use checking tool, which can detect
   134       various mis-usages of pointers in C and (to some extents) C++.
   135       
   136       You should say 'N' here, as libmduflap generates instrumented
   137       code (thus it is a bit bigger and a bit slower) and requires
   138       re-compilation and re-link, while it exists better run-time
   139       alternatives (eg. DUMA, dmalloc...) that need neither re-
   140       compilation nor re-link.
   141 
   142 config CC_GCC_LIBGOMP
   143     bool
   144     prompt "Compile libgomp"
   145     help
   146       libgomp is "the GNU implementation of the OpenMP Application Programming
   147       Interface (API) for multi-platform shared-memory parallel programming in
   148       C/C++ and Fortran". See:
   149         http://gcc.gnu.org/onlinedocs/libgomp/
   150       
   151       The default is 'N'. Say 'Y' if you need it, and report success/failure.
   152 
   153 config CC_GCC_LIBSSP
   154     bool
   155     prompt "Compile libssp"
   156     help
   157       libssp is the run-time Stack-Smashing Protection library.
   158       
   159       The default is 'N'. Say 'Y' if you need it, and report success/failure.
   160 
   161 #-----------------------------------------------------------------------------
   162 
   163 comment "Misc. obscure options."
   164 
   165 config CC_CXA_ATEXIT
   166     bool
   167     prompt "Use __cxa_atexit"
   168     default y
   169     depends on ! BARE_METAL
   170     help
   171       If you get the missing symbol "__cxa_atexit" when building C++ programs,
   172       you might want to try disabling this option.
   173 
   174 config CC_GCC_DISABLE_PCH
   175     bool
   176     prompt "Do not build PCH"
   177     help
   178       Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
   179       at the expense of speed when compiling C++ code.
   180       
   181       For some configurations (most notably canadian?), PCH are broken, and
   182       need to be disabled. Please see:
   183         http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
   184 
   185 config CC_GCC_SJLJ_EXCEPTIONS
   186     tristate
   187     prompt "Use sjlj for exceptions"
   188     depends on ! BARE_METAL
   189     default m
   190     help
   191       'sjlj' is short for setjmp/longjmp.
   192       
   193       On some architectures, stack unwinding during exception handling
   194       works perfectly well without using sjlj, while on some others,
   195       use of sjlj is required for proper stack unwinding.
   196       
   197        Option  | sjlj use           | Associated ./configure switch
   198       ---------+--------------------+--------------------------------
   199          Y     | forcibly used      | --enable-sjlj-exceptions
   200          M     | auto               | (none, ./configure decides)
   201          N     | forcibly not used  | --disable-sjlj-exceptions
   202       
   203       It should be safe to say 'M' or 'N'.
   204       
   205       It can happen that ./configure is wrong in some cases. Known
   206       case is for ARM big endian, where you should say 'N'.
   207 
   208 config CC_GCC_LDBL_128
   209     tristate
   210     prompt "Enable 128-bit long doubles"
   211     default m
   212     depends on CC_GCC_4_2_or_later
   213     help
   214       Saying 'Y' will force gcc to use 128-bit wide long doubles
   215       Saying 'N' will force gcc to use 64-bit wide long doubles
   216       Saying 'M' will let gcc choose (default is 128-bit for
   217                  glibc >= 2.4, 64-bit otherwise)
   218       
   219       If in doubt, keep the default, ie. 'M'.