mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-19 12:57:53 +00:00
355586027b
Initial patch by Dmitry PLOTNIKOV: http://sourceware.org/ml/crossgcc/2009-03/msg00053.html It [the toolchain] uses current ct-ng (nightly snapshot 20090324, latest release 1.3.2 work also), glibc 2.9 (from CVS), binutils 2.19 and latest snapshot of GCC 4.4.0 (as of March 20, 2009). We have successfully built linux kernel 2.6.29 and a lot of other stuff with this toolchain. Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to download a 4.4.0 snapshot from ftp. Patch was adpated by me, mostly to better fit the configuration layout. /trunk/scripts/build/cc/gcc.sh | 34 22 12 0 ++++++++++++++++++++++------------ /trunk/config/cc/gcc.in | 35 30 5 0 ++++++++++++++++++++++++++++++----- 2 files changed, 52 insertions(+), 17 deletions(-)
264 lines
5.9 KiB
Plaintext
264 lines
5.9 KiB
Plaintext
# 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"
|
|
|
|
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
|
|
|
|
config CC_V_4_3_2
|
|
bool
|
|
prompt "4.3.2"
|
|
select CC_GCC_4_3_or_later
|
|
|
|
config CC_V_4_3_3
|
|
bool
|
|
prompt "4.3.3 (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
select CC_GCC_4_3_or_later
|
|
|
|
config CC_V_4_4_0
|
|
bool
|
|
prompt "4.4.0 snapshot"
|
|
depends on EXPERIMENTAL
|
|
select CC_GCC_4_3_or_later
|
|
select CC_GCC_4_4_snapshot
|
|
|
|
# CT_INSERT_VERSION_ABOVE
|
|
# Don't remove above line!
|
|
endchoice
|
|
|
|
config CC_GCC_4_3_or_later
|
|
bool
|
|
default n
|
|
select GMP_MPFR
|
|
|
|
config CC_GCC_4_4_snapshot
|
|
bool
|
|
default n
|
|
|
|
config CC_GCC_4_4_snapshot_date
|
|
string
|
|
prompt "Snapshot date"
|
|
depends on CC_GCC_4_4_snapshot
|
|
help
|
|
Enter the snapshot date in the form YYYYMMDD.
|
|
Snapshots are made every friday, at around 22:30 GMT+1,
|
|
so look at your calendar to find a suitable date.
|
|
|
|
Also, know that crosstool-NG does *not* carry any patch
|
|
for the gcc-4.4 snapshots. So, you may have to answer
|
|
'y' to CUSTOM_PATCH, and set CUSTOM_PATCH_DIR adequately.
|
|
|
|
config CC_VERSION
|
|
string
|
|
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
|
|
default "4.3.2" if CC_V_4_3_2
|
|
default "4.3.3" if CC_V_4_3_3
|
|
default "4.4-" if CC_V_4_4_0
|
|
# CT_INSERT_VERSION_STRING_ABOVE
|
|
# Don't remove above line!
|
|
|
|
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.
|
|
|
|
config CC_LANG_JAVA_USE_ECJ
|
|
bool
|
|
default y
|
|
depends on CC_LANG_JAVA
|
|
depends on CC_GCC_4_3_or_later
|