Yann E. MORIN" 799672a641 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

213 lines
4.6 KiB
Plaintext

# Compiler options
choice
bool
prompt "gcc version"
config CC_V_2_95_3
bool
prompt "2.95.3 (OBSOLETE)"
depends on OBSOLETE
config CC_V_3_2_3
bool
prompt "3.2.3 (OBSOLETE)"
depends on OBSOLETE
config CC_V_3_3_6
bool
prompt "3.3.6 (OBSOLETE)"
depends on OBSOLETE
config CC_V_3_4_6
bool
prompt "3.4.6 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_0_0
bool
prompt "4.0.0 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_0_1
bool
prompt "4.0.1 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_0_2
bool
prompt "4.0.2 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_0_3
bool
prompt "4.0.3 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_0_4
bool
prompt "4.0.4"
config CC_V_4_1_0
bool
prompt "4.1.0 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_1_1
bool
prompt "4.1.1 (OBSOLETE)"
depends on OBSOLETE
config CC_V_4_1_2
bool
prompt "4.1.2"
config CC_V_4_2_0
bool
prompt "4.2.0"
config CC_V_4_2_1
bool
prompt "4.2.1"
config CC_V_4_2_2
bool
prompt "4.2.2"
config CC_V_4_2_3
bool
prompt "4.2.3"
config CC_V_4_2_4
bool
prompt "4.2.4"
config CC_V_4_3_0
bool
prompt "4.3.0 (EXPERIMENTAL)"
depends on EXPERIMENTAL
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
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
endchoice
config CC_VERSION
string
default "2.95.3" if CC_V_2_95_3
default "3.2.3" if CC_V_3_2_3
default "3.3.6" if CC_V_3_3_6
default "3.4.6" if CC_V_3_4_6
default "4.0.0" if CC_V_4_0_0
default "4.0.1" if CC_V_4_0_1
default "4.0.2" if CC_V_4_0_2
default "4.0.3" if CC_V_4_0_3
default "4.0.4" if CC_V_4_0_4
default "4.1.0" if CC_V_4_1_0
default "4.1.1" if CC_V_4_1_1
default "4.1.2" if CC_V_4_1_2
default "4.2.0" if CC_V_4_2_0
default "4.2.1" if CC_V_4_2_1
default "4.2.2" if CC_V_4_2_2
default "4.2.3" if CC_V_4_2_3
default "4.2.4" if CC_V_4_2_4
default "4.3.0" if CC_V_4_3_0
default "4.3.1" if CC_V_4_3_1
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!
config CC_GCC_4_3_or_later
bool
default n
select GMP_MPFR
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.
choice
bool
prompt "Use sjlj for exceptions"
default CC_SJLJ_EXCEPTIONS_CONFIGURE
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_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 ""
depends on ! BARE_METAL
help
Extra flags to pass onto ./configure when configuring gcc.
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.