| # gcc configuration options |
| |
| config CC_ENABLE_CXX_FLAGS |
| string |
| prompt "Flags to pass to --enable-cxx-flags" |
| default "" |
| help |
| Enter here the value of the gcc's ./configure option --enable-cxx-flags. |
| Leave empty if you don't know better. |
| |
| Note: just pass in the option _value_, that is only the part that goes |
| after the '=' sign. |
| |
| config CC_CORE_EXTRA_CONFIG_ARRAY |
| string |
| prompt "Core gcc extra config" |
| default "" |
| help |
| Extra flags to pass onto ./configure when configuring the core gcc. |
| |
| The core gcc is a stripped down, C-only compiler needed to build |
| the C library. Kinda bootstrap gcc, if you wish. |
| |
| You can enter multiple arguments here, and arguments can contain spaces |
| if they are properly quoted (or escaped, but prefer quotes). Eg.: |
| --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space |
| |
| config CC_EXTRA_CONFIG_ARRAY |
| string |
| prompt "gcc extra config" |
| default "" |
| depends on ! BARE_METAL |
| help |
| Extra flags to pass onto ./configure when configuring gcc. |
| |
| You can enter multiple arguments here, and arguments can contain spaces |
| if they are properly quoted (or escaped, but prefer quotes). Eg.: |
| --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space |
| |
| config STATIC_TOOLCHAIN |
| select CC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later |
| |
| config CC_STATIC_LIBSTDCXX |
| bool |
| prompt "Link libstdc++ statically into the gcc binary" |
| default y |
| depends on CC_GCC_4_4_or_later |
| select WANTS_STATIC_LINK |
| help |
| Newer gcc versions use the PPL library which is C++ code. Statically |
| linking libstdc++ increases the likeliness that the gcc binary will |
| run on machines other than the one which it was built on, without |
| having to worry about distributing the matching version of libstdc++ |
| along with it. |
| |
| config CC_GCC_SYSTEM_ZLIB |
| bool |
| prompt "Use system zlib" |
| help |
| Do not use bundled zlib, and use the zlib already available for |
| the host (eg. the system library). |
| |
| If you want to build a static toolchain, you will need to also |
| install the static version of zlib for your host. |
| |
| If unsure, say 'n'. |
| |
| #----------------------------------------------------------------------------- |
| # Optimisation features |
| |
| comment "Optimisation features" |
| |
| # Defined in config/cc/gcc.in |
| config CC_GCC_USE_GRAPHITE |
| prompt "Enable GRAPHITE loop optimisations" |
| |
| # The way LTO works is a bit twisted. |
| # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements |
| # Basically: |
| # - if binutils has plugins: LTO is handled by ld/gold by loading |
| # the plugin when linking |
| # - if binutils does not have plugins: LTO is handled by collect2 |
| # In any case, LTO support does not depend on plugins, but takes |
| # advantage of it |
| # Also, only the 4.5 series needs libelf for LTO; 4.6 has dropped |
| # the dependency. |
| # Defined in config/cc/gcc.in |
| config CC_GCC_USE_LTO |
| prompt "Enable LTO" |
| |
| #----------------------------------------------------------------------------- |
| comment "Settings for libraries running on target" |
| |
| config CC_GCC_ENABLE_TARGET_OPTSPACE |
| bool |
| prompt "Optimize gcc libs for size" |
| default y |
| help |
| Pass --enable-target-optspace to crossgcc's configure. |
| |
| This will compile crossgcc's libs with -Os. |
| |
| config CC_GCC_LIBMUDFLAP |
| bool |
| prompt "Compile libmudflap" |
| help |
| libmudflap is a pointer-use checking tool, which can detect |
| various mis-usages of pointers in C and (to some extents) C++. |
| |
| You should say 'N' here, as libmduflap generates instrumented |
| code (thus it is a bit bigger and a bit slower) and requires |
| re-compilation and re-link, while it exists better run-time |
| alternatives (eg. DUMA, dmalloc...) that need neither re- |
| compilation nor re-link. |
| |
| config CC_GCC_LIBGOMP |
| bool |
| prompt "Compile libgomp" |
| help |
| libgomp is "the GNU implementation of the OpenMP Application Programming |
| Interface (API) for multi-platform shared-memory parallel programming in |
| C/C++ and Fortran". See: |
| http://gcc.gnu.org/onlinedocs/libgomp/ |
| |
| The default is 'N'. Say 'Y' if you need it, and report success/failure. |
| |
| config CC_GCC_LIBSSP |
| bool |
| prompt "Compile libssp" |
| help |
| libssp is the run-time Stack-Smashing Protection library. |
| |
| The default is 'N'. Say 'Y' if you need it, and report success/failure. |
| |
| config CC_GCC_LIBQUADMATH |
| bool |
| prompt "Compile libquadmath" |
| depends on CC_GCC_HAS_LIBQUADMATH |
| help |
| libquadmath is a library which provides quad-precision mathematical |
| functions on targets supporting the __float128 datatype. See: |
| http://gcc.gnu.org/onlinedocs/libquadmath/ |
| |
| The default is 'N'. Say 'Y' if you need it, and report success/failure. |
| |
| #----------------------------------------------------------------------------- |
| |
| comment "Misc. obscure options." |
| |
| config CC_CXA_ATEXIT |
| bool |
| prompt "Use __cxa_atexit" |
| default y |
| depends on ! BARE_METAL |
| help |
| If you get the missing symbol "__cxa_atexit" when building C++ programs, |
| you might want to try disabling this option. |
| |
| config CC_GCC_DISABLE_PCH |
| bool |
| prompt "Do not build PCH" |
| help |
| Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain. |
| at the expense of speed when compiling C++ code. |
| |
| For some configurations (most notably canadian?), PCH are broken, and |
| need to be disabled. Please see: |
| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974 |
| |
| config CC_GCC_SJLJ_EXCEPTIONS |
| tristate |
| prompt "Use sjlj for exceptions" |
| depends on ! BARE_METAL |
| default m |
| help |
| 'sjlj' is short for setjmp/longjmp. |
| |
| On some architectures, stack unwinding during exception handling |
| works perfectly well without using sjlj, while on some others, |
| use of sjlj is required for proper stack unwinding. |
| |
| Option | sjlj use | Associated ./configure switch |
| ---------+--------------------+-------------------------------- |
| Y | forcibly used | --enable-sjlj-exceptions |
| M | auto | (none, ./configure decides) |
| N | forcibly not used | --disable-sjlj-exceptions |
| |
| It should be safe to say 'M' or 'N'. |
| |
| It can happen that ./configure is wrong in some cases. Known |
| case is for ARM big endian, where you should say 'N'. |
| |
| config CC_GCC_LDBL_128 |
| tristate |
| prompt "Enable 128-bit long doubles" |
| default m |
| depends on CC_GCC_4_2_or_later |
| help |
| Saying 'Y' will force gcc to use 128-bit wide long doubles |
| Saying 'N' will force gcc to use 64-bit wide long doubles |
| Saying 'M' will let gcc choose (default is 128-bit for |
| glibc >= 2.4, 64-bit otherwise) |
| |
| If in doubt, keep the default, ie. 'M'. |
| |
| config CC_GCC_BUILD_ID |
| bool |
| prompt "Enable build-id" |
| depends on CC_GCC_HAS_BUILD_ID |
| help |
| Tells GCC to pass --build-id option to the linker for all final |
| links (links performed without the -r or --relocatable option), |
| if the linker supports it. If you say 'y' here, but your linker |
| does not support --build-id option, a warning is issued and this |
| option is ignored. |
| |
| The default is off. |
| |
| choice CC_GCC_LNK_HASH_STYLE_CHOICE |
| bool |
| prompt "linker hash style" |
| depends on CC_GCC_HAS_LNK_HASH_STYLE |
| depends on BINUTILS_HAS_HASH_STYLE |
| |
| config CC_GCC_LNK_HASH_STYLE_DEFAULT |
| bool |
| prompt "Default" |
| help |
| Do not specify any value, and use the default value (sysv). |
| |
| config CC_GCC_LNK_HASH_STYLE_SYSV |
| bool |
| prompt "sysv" |
| help |
| Force use of the SYSV hash style. |
| |
| config CC_GCC_LNK_HASH_STYLE_GNU |
| bool |
| prompt "gnu" |
| help |
| Force use of the GNU hash style. |
| |
| config CC_GCC_LNK_HASH_STYLE_BOTH |
| bool |
| prompt "both" |
| help |
| Force use of both hash styles. |
| |
| endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE |
| |
| config CC_GCC_LNK_HASH_STYLE |
| string |
| default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT |
| default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV |
| default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU |
| default "both" if CC_GCC_LNK_HASH_STYLE_BOTH |
| |
| #----------------------------------------------------------------------------- |
| |
| config CC_GCC_HAS_ARCH_OPTIONS |
| bool |
| |
| comment "archictecture-specific options" |
| depends on CC_GCC_HAS_ARCH_OPTIONS |
| |
| if ARCH_mips |
| source "config/cc/gcc.in.mips" |
| endif # ARCH_mips |