1 # Misc library-related options
3 config CC_GCC_ENABLE_TARGET_OPTSPACE
5 prompt "Optimize gcc libs for size"
8 Pass --enable-target-optspace to crossgcc's configure.
10 This will compile crossgcc's libs with -Os.
12 config CC_GCC_USE_GRAPHITE
14 prompt "Enable GRAPHITE loop optimisations"
16 depends on CC_GCC_HAS_GRAPHITE
17 select CC_GCC_USE_PPL_CLOOG
19 Enable the GRAPHITE loop optimsations.
21 This requires the PPL and CLooG companion libraries, and
22 those will be automatically build for you.
24 On some systems (eg. Cygwin), PPL and/or CLooG may not
25 build properly (yet), so you'll have to say 'N' here.
31 depends on CC_GCC_HAS_LTO
32 select CC_GCC_USE_LIBELF
34 Enable the Link Time Optimisations.
36 This will require the libelf companion library, and it
37 wil be build automatically for you.
39 config CC_STATIC_LIBSTDCXX
41 prompt "Link libstdc++ statically into the gcc binary"
43 depends on CC_GCC_4_4_or_later
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++
51 config CC_GCC_LIBMUDFLAP
53 prompt "Compile libmudflap"
56 libmudflap is a pointer-use checking tool, which can detect
57 various mis-usages of pointers in C and (to some extents) C++.
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.
65 #-----------------------------------------------------------------------------
67 comment "Misc. obscure options."
71 prompt "Use __cxa_atexit"
73 depends on ! BARE_METAL
75 If you get the missing symbol "__cxa_atexit" when building C++ programs,
76 you might want to try disabling this option.
78 config CC_GCC_DISABLE_PCH
80 prompt "Do not build PCH"
83 Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
84 at the expense of speed when compiling C++ code.
86 For some configurations (most notably canadian?), PCH are broken, and
87 need to be disabled. Please see:
88 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
90 config CC_GCC_SJLJ_EXCEPTIONS
92 prompt "Use sjlj for exceptions"
93 depends on ! BARE_METAL
96 'sjlj' is short for setjmp/longjmp.
98 On some architectures, stack unwinding during exception handling
99 works perfectly well without using sjlj, while on some others,
100 use of sjlj is required for proper stack unwinding.
102 Option | sjlj use | Associated ./configure switch
103 ---------+--------------------+--------------------------------
104 Y | forcibly used | --enable-sjlj-exceptions
105 M | auto | (none, ./configure decides)
106 N | forcibly not used | --disable-sjlj-exceptions
108 It should be safe to say 'M' or 'N'.
110 It can happen that ./configure is wrong in some cases. Known
111 case is for ARM big endian, where you should say 'N'.
113 config CC_GCC_LDBL_128
115 prompt "Enable 128-bit long doubles"
117 depends on CC_GCC_4_2_or_later
119 Saying 'Y' will force gcc to use 128-bit wide long doubles
120 Saying 'N' will force gcc to use 64-bit wide long doubles
121 Saying 'M' will let gcc choose (default is 128-bit for
122 glibc >= 2.4, 64-bit otherwise)
124 If in doubt, keep the default, ie. 'M'.