crosstool-ng/config/cc/gcc.in

308 lines
6.9 KiB
Plaintext
Raw Normal View History

# Compiler options
config CC_gcc
select CC_SUPPORT_CXX
select CC_SUPPORT_FORTRAN
select CC_SUPPORT_JAVA
select CC_SUPPORT_ADA
select CC_SUPPORT_OBJC
select CC_SUPPORT_OBJCXX
help
gcc is the full-blown GNU compiler. This is what most people will choose.
gcc supports many languages, a powerful code parser, optimised binary
output, and lots of other features.
choice
bool
prompt "gcc version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW
2010-04-15 20:35:22 +00:00
config CC_V_4_5_0
bool
prompt "4.5.0 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_5_or_later
config CC_V_4_4_4
bool
prompt "4.4.4 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CC_GCC_4_4_or_later
config CC_V_4_4_3
bool
prompt "4.4.3"
select CC_GCC_4_4_or_later
config CC_V_4_4_2
bool
prompt "4.4.2"
select CC_GCC_4_4_or_later
config CC_V_4_4_1
bool
prompt "4.4.1"
select CC_GCC_4_4_or_later
config CC_V_4_4_0
bool
prompt "4.4.0"
select CC_GCC_4_4_or_later
config CC_V_4_3_4
bool
prompt "4.3.4"
select CC_GCC_4_3_or_later
config CC_V_4_3_3
bool
prompt "4.3.3"
select CC_GCC_4_3_or_later
config CC_V_4_3_2
bool
prompt "4.3.2"
select CC_GCC_4_3_or_later
config CC_V_4_3_1
bool
prompt "4.3.1"
select CC_GCC_4_3_or_later
config CC_V_4_2_4
bool
prompt "4.2.4"
select CC_GCC_4_2_or_later
config CC_V_4_2_3
bool
prompt "4.2.3 (OBSOLETE)"
select CC_GCC_4_2_or_later
depends on OBSOLETE
config CC_V_4_2_2
bool
prompt "4.2.2"
select CC_GCC_4_2_or_later
config CC_V_4_2_1
bool
prompt "4.2.1 (OBSOLETE)"
select CC_GCC_4_2_or_later
depends on OBSOLETE
config CC_V_4_2_0
bool
prompt "4.2.0 (OBSOLETE)"
select CC_GCC_4_2_or_later
depends on OBSOLETE
config CC_V_4_1_2
2007-07-29 19:15:27 +00:00
bool
prompt "4.1.2 (OBSOLETE)"
depends on OBSOLETE
2007-07-29 19:15:27 +00:00
config CC_V_4_0_4
bool
prompt "4.0.4 (OBSOLETE)"
depends on OBSOLETE
config CC_V_3_4_6
bool
prompt "3.4.6 (OBSOLETE)"
depends on OBSOLETE
endchoice
config CC_GCC_4_2_or_later
bool
default n
config CC_GCC_4_3_or_later
bool
default n
select CC_GCC_4_2_or_later
2010-03-05 17:55:25 +00:00
select CC_GCC_USE_GMP_MPFR
config CC_GCC_4_4_or_later
bool
default n
2010-02-04 14:18:46 +00:00
select CC_GCC_4_3_or_later
select CC_GCC_4_2_or_later
2010-03-05 17:55:25 +00:00
select CC_GCC_USE_PPL_CLOOG_MPC
config CC_GCC_4_5_or_later
bool
default n
select CC_GCC_4_4_or_later
select CC_GCC_4_3_or_later
select CC_GCC_4_2_or_later
select CC_GCC_USE_LIBELF
2010-03-05 17:55:25 +00:00
config CC_GCC_USE_GMP_MPFR
bool
default n
select GMP
select MPFR
config CC_GCC_USE_PPL_CLOOG_MPC
bool
default n
select PPL
select CLOOG
select MPC
config CC_GCC_USE_LIBELF
bool
default n
select LIBELF
config CC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
2010-04-15 20:35:22 +00:00
default "4.5.0" if CC_V_4_5_0
default "4.4.4" if CC_V_4_4_4
default "4.4.3" if CC_V_4_4_3
default "4.4.2" if CC_V_4_4_2
default "4.4.1" if CC_V_4_4_1
default "4.4.0" if CC_V_4_4_0
default "4.3.4" if CC_V_4_3_4
default "4.3.3" if CC_V_4_3_3
default "4.3.2" if CC_V_4_3_2
default "4.3.1" if CC_V_4_3_1
default "4.3.0" if CC_V_4_3_0
default "4.2.4" if CC_V_4_2_4
default "4.2.3" if CC_V_4_2_3
default "4.2.2" if CC_V_4_2_2
default "4.2.1" if CC_V_4_2_1
default "4.2.0" if CC_V_4_2_0
default "4.1.2" if CC_V_4_1_2
default "4.0.4" if CC_V_4_0_4
default "3.4.6" if CC_V_3_4_6
config CC_CXA_ATEXIT
bool
prompt "Use __cxa_atexit"
default y
Introduce a new EXPERIMENTAL feature: BARE_METAL. This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library. Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal. Move the compiler build script to its own sub-directory. Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal. Update the ARM target tuples to enable bare-metal targets. Add two ARM bare-metal samples. Add latest Linux kernel versions. /trunk/scripts/build/kernel/none.sh | 77 6 71 0 +---- /trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++- /trunk/scripts/build/libc/none.sh | 513 9 504 0 +----------------------------- /trunk/scripts/crosstool.sh | 17 9 8 0 + /trunk/scripts/functions | 6 4 2 0 + /trunk/scripts/showSamples.sh | 6 3 3 0 /trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++ /trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++ /trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++-- /trunk/config/kernel.in | 9 8 1 0 + /trunk/config/toolchain.in | 1 1 0 0 + /trunk/config/cc/gcc.in | 3 3 0 0 + /trunk/config/debug/dmalloc.in | 1 1 0 0 + /trunk/config/debug/gdb.in | 4 3 1 0 + /trunk/config/debug/strace.in | 1 1 0 0 + /trunk/config/debug/duma.in | 1 1 0 0 + /trunk/config/cc.in | 8 8 0 0 + /trunk/config/target.in | 13 13 0 0 + /trunk/config/binutils.in | 1 1 0 0 + /trunk/config/gmp_mpfr.in | 1 1 0 0 + /trunk/config/libc.in | 17 11 6 0 + /trunk/arch/arm/functions | 3 1 2 0 - 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
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.
choice
bool
prompt "Use sjlj for exceptions"
default CC_SJLJ_EXCEPTIONS_CONFIGURE
Introduce a new EXPERIMENTAL feature: BARE_METAL. This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library. Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal. Move the compiler build script to its own sub-directory. Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal. Update the ARM target tuples to enable bare-metal targets. Add two ARM bare-metal samples. Add latest Linux kernel versions. /trunk/scripts/build/kernel/none.sh | 77 6 71 0 +---- /trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++- /trunk/scripts/build/libc/none.sh | 513 9 504 0 +----------------------------- /trunk/scripts/crosstool.sh | 17 9 8 0 + /trunk/scripts/functions | 6 4 2 0 + /trunk/scripts/showSamples.sh | 6 3 3 0 /trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++ /trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++ /trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++-- /trunk/config/kernel.in | 9 8 1 0 + /trunk/config/toolchain.in | 1 1 0 0 + /trunk/config/cc/gcc.in | 3 3 0 0 + /trunk/config/debug/dmalloc.in | 1 1 0 0 + /trunk/config/debug/gdb.in | 4 3 1 0 + /trunk/config/debug/strace.in | 1 1 0 0 + /trunk/config/debug/duma.in | 1 1 0 0 + /trunk/config/cc.in | 8 8 0 0 + /trunk/config/target.in | 13 13 0 0 + /trunk/config/binutils.in | 1 1 0 0 + /trunk/config/gmp_mpfr.in | 1 1 0 0 + /trunk/config/libc.in | 17 11 6 0 + /trunk/arch/arm/functions | 3 1 2 0 - 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
depends on ! BARE_METAL
# This config option is used nowhere in the code on purpose.
# It only serves as a choice entry to force neither using nor not using sjlj
config CC_SJLJ_EXCEPTIONS_CONFIGURE
bool
prompt "Let configure decide"
help
Let configure decide if setjmp/longjmp should be used to handle
exceptions.
Choose that if you trust configure to detect the correct settings.
This is the default choice.
config CC_SJLJ_EXCEPTIONS_USE
bool
prompt "Force using sjlj"
help
Do use setjmp/longjmp for exceptions.
This is gcc's --enable-sjlj-exceptions configure switch.
Choose that if you want to use setjmp/longjmp to handle exceptions.
config CC_SJLJ_EXCEPTIONS_DONT_USE
bool
prompt "Force not using sjlj"
help
Do not use setjmp/longjmp for exceptions.
This is gcc's --disable-sjlj-exceptions configure switch.
Choose that if you want to not use setjmp/longjmp to handle exceptions.
endchoice
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
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.
config CC_EXTRA_CONFIG
string
prompt "gcc extra config"
default ""
Introduce a new EXPERIMENTAL feature: BARE_METAL. This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library. Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal. Move the compiler build script to its own sub-directory. Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal. Update the ARM target tuples to enable bare-metal targets. Add two ARM bare-metal samples. Add latest Linux kernel versions. /trunk/scripts/build/kernel/none.sh | 77 6 71 0 +---- /trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++- /trunk/scripts/build/libc/none.sh | 513 9 504 0 +----------------------------- /trunk/scripts/crosstool.sh | 17 9 8 0 + /trunk/scripts/functions | 6 4 2 0 + /trunk/scripts/showSamples.sh | 6 3 3 0 /trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++ /trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++ /trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++-- /trunk/config/kernel.in | 9 8 1 0 + /trunk/config/toolchain.in | 1 1 0 0 + /trunk/config/cc/gcc.in | 3 3 0 0 + /trunk/config/debug/dmalloc.in | 1 1 0 0 + /trunk/config/debug/gdb.in | 4 3 1 0 + /trunk/config/debug/strace.in | 1 1 0 0 + /trunk/config/debug/duma.in | 1 1 0 0 + /trunk/config/cc.in | 8 8 0 0 + /trunk/config/target.in | 13 13 0 0 + /trunk/config/binutils.in | 1 1 0 0 + /trunk/config/gmp_mpfr.in | 1 1 0 0 + /trunk/config/libc.in | 17 11 6 0 + /trunk/arch/arm/functions | 3 1 2 0 - 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
depends on ! BARE_METAL
help
Extra flags to pass onto ./configure when configuring gcc.
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_DISABLE_PCH
bool
prompt "Do not build PCH"
default n
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_PKGVERSION
string
prompt "gcc ID string"
depends on CC_GCC_4_3_or_later
default "crosstool-NG-${CT_VERSION}"
help
Specify a string that identifies your package. You may wish to include
a build number or build date. This version string will be included in
the output of gcc --version.
This is passed to the configure flag --with-pkgversion.
config CC_BUGURL
string
prompt "gcc bug URL"
depends on CC_GCC_4_3_or_later
default ""
help
Specify the URL that users should visit if they wish to report a bug.
config CC_LANG_JAVA_USE_ECJ
bool
default y
depends on CC_LANG_JAVA
depends on CC_GCC_4_3_or_later