diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/arch/microblaze.in | 2 | ||||
-rw-r--r-- | config/binutils/binutils.in | 25 | ||||
-rw-r--r-- | config/cc.in | 7 | ||||
-rw-r--r-- | config/cc/gcc.in | 236 | ||||
-rw-r--r-- | config/cc/gcc.in.2 | 10 | ||||
-rw-r--r-- | config/companion_libs/isl.in | 6 | ||||
-rw-r--r-- | config/debug/gdb.in | 19 | ||||
-rw-r--r-- | config/debug/strace.in | 12 | ||||
-rw-r--r-- | config/kernel/linux.in | 170 | ||||
-rw-r--r-- | config/libc/eglibc.in | 240 | ||||
-rw-r--r-- | config/libc/eglibc.in.2 | 1 | ||||
-rw-r--r-- | config/libc/glibc-eglibc.in-common | 268 | ||||
-rw-r--r-- | config/libc/glibc.in | 26 | ||||
-rw-r--r-- | config/libc/glibc.in.2 | 268 | ||||
-rw-r--r-- | config/libc/mingw.in | 37 | ||||
-rw-r--r-- | config/libc/musl.in | 12 | ||||
-rw-r--r-- | config/libc/newlib.in | 19 | ||||
-rw-r--r-- | config/toolchain.in | 2 |
18 files changed, 576 insertions, 784 deletions
diff --git a/config/arch/microblaze.in b/config/arch/microblaze.in index fb38e1f..c664498 100644 --- a/config/arch/microblaze.in +++ b/config/arch/microblaze.in @@ -19,4 +19,4 @@ ## help ## help Support is being added for a modern gcc, ## help binutils and gdb along with nptl threading -## help in eglibc for microblaze. +## help in glibc for microblaze. diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index 9800004..5ef69b5 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -2,6 +2,23 @@ comment "GNU binutils" +config CC_BINUTILS_SHOW_LINARO + bool + prompt "Show Linaro versions" + help + Linaro is maintaining some advanced/more stable/experimental versions + of binutils, especially for the ARM architecture. + + Those versions have not been blessed by the binutils comunity (nor have they + been cursed either!), but they look to be pretty much stable, and even + more stable than the upstream versions. YMMV... + + If you do not know what this Linaro stuff is, then simply say 'n' here, + and rest in peace. OTOH, if you know what you are doing, you will be + able to use and enjoy :-) the Linaro versions by saying 'y' here. + + Linaro: http://www.linaro.org/ + choice bool prompt "binutils version" @@ -12,6 +29,7 @@ config BINUTILS_LINARO_V_2_25 bool prompt "linaro-2.25.0-2015.01-2" select BINUTILS_2_25_or_later + depends on CC_BINUTILS_SHOW_LINARO config BINUTILS_V_2_25 bool @@ -22,6 +40,7 @@ config BINUTILS_LINARO_V_2_24 bool prompt "linaro-2.24.0-2014.11-2" select BINUTILS_2_24_or_later + depends on CC_BINUTILS_SHOW_LINARO config BINUTILS_V_2_24 bool @@ -160,8 +179,8 @@ config BINUTILS_HAS_PKGVERSION_BUGURL bool # Force using the BFD linker if needed -# This is the case for some C libraries (eg. glibc and -# eglibc at least) and affected components can select this +# This is the case for some C libraries (eg. glibc at least) and affected +# components can select this config BINUTILS_FORCE_LD_BFD bool @@ -219,7 +238,7 @@ endchoice # Enable linkers if BINUTILS_LINKER_GOLD comment "WARNING! gold is not capable of" -comment "| building glibc/eglibc!" +comment "| building glibc!" endif # BINUTILS_LINKER_GOLD config BINUTILS_GOLD_INSTALLED diff --git a/config/cc.in b/config/cc.in index 0c07f46..5603738 100644 --- a/config/cc.in +++ b/config/cc.in @@ -4,6 +4,7 @@ menu "C compiler" config CC string + default "gcc" config CC_VERSION string @@ -120,6 +121,8 @@ config CC_LANG_GOLANG Only select this if you know that your specific version of the compiler supports this language. +endif # ! BARE_METAL + config CC_LANG_OTHERS string prompt "Other languages (EXPERIMENTAL)" @@ -132,8 +135,4 @@ config CC_LANG_OTHERS Eg. gcc-4.1+ has a toy programming language, treelang. As it is not useful in real life, it is not available in the selection above. -endif # ! BARE_METAL - -source "config.gen/cc.in.2" - endmenu diff --git a/config/cc/gcc.in b/config/cc/gcc.in index d639cdd..4781060 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -1,5 +1,6 @@ # Compiler options # +## default y ## select CC_SUPPORT_CXX ## select CC_SUPPORT_FORTRAN ## select CC_SUPPORT_JAVA @@ -36,251 +37,255 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW -config CC_V_linaro_4_9 +config CC_GCC_V_5_1_0 bool - prompt "linaro-4.9-2015.02" + prompt "5.1.0" + select CC_GCC_5_1 + +config CC_GCC_V_linaro_4_9 + bool + prompt "linaro-4.9-2015.03" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_9 -config CC_V_4_9_2 +config CC_GCC_V_4_9_2 bool prompt "4.9.2" select CC_GCC_4_9 -config CC_V_4_9_1 +config CC_GCC_V_4_9_1 bool prompt "4.9.1" select CC_GCC_4_9 -config CC_V_4_9_0 +config CC_GCC_V_4_9_0 bool prompt "4.9.0" select CC_GCC_4_9 -config CC_V_linaro_4_8 +config CC_GCC_V_linaro_4_8 bool prompt "linaro-4.8-2015.02" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_8 -config CC_V_4_8_4 +config CC_GCC_V_4_8_4 bool prompt "4.8.4" select CC_GCC_4_8 -config CC_V_4_8_3 +config CC_GCC_V_4_8_3 bool prompt "4.8.3" select CC_GCC_4_8 -config CC_V_4_8_2 +config CC_GCC_V_4_8_2 bool prompt "4.8.2" select CC_GCC_4_8 -config CC_V_4_8_1 +config CC_GCC_V_4_8_1 bool prompt "4.8.1" select CC_GCC_4_8 -config CC_V_4_8_0 +config CC_GCC_V_4_8_0 bool prompt "4.8.0" select CC_GCC_4_8 -config CC_V_linaro_4_7 +config CC_GCC_V_linaro_4_7 bool prompt "linaro-4.7-2014.06" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_7 -config CC_V_4_7_4 +config CC_GCC_V_4_7_4 bool prompt "4.7.4" select CC_GCC_4_7 -config CC_V_4_7_3 +config CC_GCC_V_4_7_3 bool prompt "4.7.3" select CC_GCC_4_7 -config CC_V_4_7_2 +config CC_GCC_V_4_7_2 bool prompt "4.7.2" select CC_GCC_4_7 -config CC_V_4_7_1 +config CC_GCC_V_4_7_1 bool prompt "4.7.1" select CC_GCC_4_7 -config CC_V_4_7_0 +config CC_GCC_V_4_7_0 bool prompt "4.7.0" select CC_GCC_4_7 -config CC_V_linaro_4_6 +config CC_GCC_V_linaro_4_6 bool prompt "linaro-4.6-2013.05" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_6 -config CC_V_4_6_4 +config CC_GCC_V_4_6_4 bool prompt "4.6.4" select CC_GCC_4_6 -config CC_V_4_6_3 +config CC_GCC_V_4_6_3 bool prompt "4.6.3" select CC_GCC_4_6 -config CC_V_4_6_2 +config CC_GCC_V_4_6_2 bool prompt "4.6.2" select CC_GCC_4_6 -config CC_V_4_6_1 +config CC_GCC_V_4_6_1 bool prompt "4.6.1" select CC_GCC_4_6 -config CC_V_4_6_0 +config CC_GCC_V_4_6_0 bool prompt "4.6.0" select CC_GCC_4_6 -config CC_V_linaro_4_5 +config CC_GCC_V_linaro_4_5 bool prompt "linaro-4.5-2012.03" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_5 -config CC_V_4_5_3 +config CC_GCC_V_4_5_3 bool prompt "4.5.3" select CC_GCC_4_5 -config CC_V_4_5_2 +config CC_GCC_V_4_5_2 bool prompt "4.5.2" select CC_GCC_4_5 -config CC_V_4_5_1 +config CC_GCC_V_4_5_1 bool prompt "4.5.1" select CC_GCC_4_5 -config CC_V_4_5_0 +config CC_GCC_V_4_5_0 bool prompt "4.5.0" select CC_GCC_4_5 - -config CC_V_linaro_4_4 +config CC_GCC_V_linaro_4_4 bool prompt "linaro-4.4-2011.02-0" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_4 -config CC_V_4_4_7 +config CC_GCC_V_4_4_7 bool prompt "4.4.7" select CC_GCC_4_4 -config CC_V_4_4_6 +config CC_GCC_V_4_4_6 bool prompt "4.4.6" select CC_GCC_4_4 -config CC_V_4_4_5 +config CC_GCC_V_4_4_5 bool prompt "4.4.5" select CC_GCC_4_4 -config CC_V_4_4_4 +config CC_GCC_V_4_4_4 bool prompt "4.4.4" select CC_GCC_4_4 -config CC_V_4_4_3 +config CC_GCC_V_4_4_3 bool prompt "4.4.3" select CC_GCC_4_4 -config CC_V_4_4_2 +config CC_GCC_V_4_4_2 bool prompt "4.4.2" select CC_GCC_4_4 -config CC_V_4_4_1 +config CC_GCC_V_4_4_1 bool prompt "4.4.1" select CC_GCC_4_4 -config CC_V_4_4_0 +config CC_GCC_V_4_4_0 bool prompt "4.4.0" select CC_GCC_4_4 -config CC_V_4_3_6 +config CC_GCC_V_4_3_6 bool prompt "4.3.6" select CC_GCC_4_3 -config CC_V_4_3_5 +config CC_GCC_V_4_3_5 bool prompt "4.3.5" select CC_GCC_4_3 -config CC_V_4_3_4 +config CC_GCC_V_4_3_4 bool prompt "4.3.4" select CC_GCC_4_3 -config CC_V_4_3_3 +config CC_GCC_V_4_3_3 bool prompt "4.3.3" select CC_GCC_4_3 -config CC_V_4_3_2 +config CC_GCC_V_4_3_2 bool prompt "4.3.2" select CC_GCC_4_3 -config CC_V_4_3_1 +config CC_GCC_V_4_3_1 bool prompt "4.3.1" select CC_GCC_4_3 -config CC_V_4_2_4 +config CC_GCC_V_4_2_4 bool prompt "4.2.4" select CC_GCC_4_2 # We need that one, it's the only version with avr32 support # because we have a patch for it -config CC_V_4_2_2 +config CC_GCC_V_4_2_2 bool prompt "4.2.2" select CC_GCC_4_2 -config CC_V_4_1_2 +config CC_GCC_V_4_1_2 bool prompt "4.1.2 (OBSOLETE)" depends on OBSOLETE -config CC_V_4_0_4 +config CC_GCC_V_4_0_4 bool prompt "4.0.4 (OBSOLETE)" depends on OBSOLETE -config CC_V_3_4_6 +config CC_GCC_V_3_4_6 bool prompt "3.4.6 (OBSOLETE)" depends on OBSOLETE -config CC_CUSTOM +config CC_GCC_CUSTOM bool prompt "Custom gcc" depends on EXPERIMENTAL @@ -288,9 +293,9 @@ config CC_CUSTOM endchoice -if CC_CUSTOM +if CC_GCC_CUSTOM -config CC_CUSTOM_LOCATION +config CC_GCC_CUSTOM_LOCATION string prompt "Full path to custom gcc source" default "" @@ -298,7 +303,7 @@ config CC_CUSTOM_LOCATION Enter the path to the directory (or tarball) of your source for gcc, or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc -endif #CC_CUSTOM +endif #CC_GCC_CUSTOM config CC_GCC_4_2 bool @@ -409,9 +414,27 @@ config CC_GCC_4_9_or_later bool select CC_GCC_4_8_or_later -config CC_GCC_latest +config CC_GCC_5_1 + bool + select CC_GCC_5_1_or_later + select CC_GCC_USE_GMP_MPFR + select CC_GCC_USE_MPC + select CC_GCC_HAS_GRAPHITE + select CC_GCC_HAS_LTO + select CC_GCC_HAS_PKGVERSION_BUGURL + select CC_GCC_HAS_BUILD_ID + select CC_GCC_HAS_LNK_HASH_STYLE + select CC_GCC_HAS_LIBQUADMATH + select CC_GCC_HAS_LIBSANITIZER + select CC_SUPPORT_GOLANG + +config CC_GCC_5_1_or_later bool select CC_GCC_4_9_or_later + +config CC_GCC_latest + bool + select CC_GCC_5_1_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC select CC_GCC_HAS_GRAPHITE @@ -431,7 +454,7 @@ config CC_GCC_USE_GRAPHITE bool default y depends on CC_GCC_HAS_GRAPHITE - select CLOOG_NEEDED + select CLOOG_NEEDED if !CC_GCC_5_1_or_later select PPL_NEEDED if !CC_GCC_4_8_or_later select ISL_NEEDED if CC_GCC_4_8_or_later help @@ -504,59 +527,60 @@ config CC_GCC_HAS_LIBQUADMATH config CC_GCC_HAS_LIBSANITIZER bool -config CC_VERSION +config CC_GCC_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW - default "linaro-4.9-2015.02" if CC_V_linaro_4_9 - default "4.9.2" if CC_V_4_9_2 - default "4.9.1" if CC_V_4_9_1 - default "4.9.0" if CC_V_4_9_0 - default "linaro-4.8-2015.02" if CC_V_linaro_4_8 - default "4.8.4" if CC_V_4_8_4 - default "4.8.3" if CC_V_4_8_3 - default "4.8.2" if CC_V_4_8_2 - default "4.8.1" if CC_V_4_8_1 - default "4.8.0" if CC_V_4_8_0 - default "linaro-4.7-2014.06" if CC_V_linaro_4_7 - default "4.7.4" if CC_V_4_7_4 - default "4.7.3" if CC_V_4_7_3 - default "4.7.2" if CC_V_4_7_2 - default "4.7.1" if CC_V_4_7_1 - default "4.7.0" if CC_V_4_7_0 - default "linaro-4.6-2013.05" if CC_V_linaro_4_6 - default "4.6.4" if CC_V_4_6_4 - default "4.6.3" if CC_V_4_6_3 - default "4.6.2" if CC_V_4_6_2 - default "4.6.1" if CC_V_4_6_1 - default "4.6.0" if CC_V_4_6_0 - default "linaro-4.5-2012.03" if CC_V_linaro_4_5 - default "4.5.3" if CC_V_4_5_3 - default "4.5.2" if CC_V_4_5_2 - default "4.5.1" if CC_V_4_5_1 - default "4.5.0" if CC_V_4_5_0 - default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4 - default "4.4.7" if CC_V_4_4_7 - default "4.4.6" if CC_V_4_4_6 - default "4.4.5" if CC_V_4_4_5 - 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.6" if CC_V_4_3_6 - default "4.3.5" if CC_V_4_3_5 - 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.2" if CC_V_4_2_2 - 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 - default "custom" if CC_CUSTOM + default "5.1.0" if CC_GCC_V_5_1_0 + default "linaro-4.9-2015.03" if CC_GCC_V_linaro_4_9 + default "4.9.2" if CC_GCC_V_4_9_2 + default "4.9.1" if CC_GCC_V_4_9_1 + default "4.9.0" if CC_GCC_V_4_9_0 + default "linaro-4.8-2015.02" if CC_GCC_V_linaro_4_8 + default "4.8.4" if CC_GCC_V_4_8_4 + default "4.8.3" if CC_GCC_V_4_8_3 + default "4.8.2" if CC_GCC_V_4_8_2 + default "4.8.1" if CC_GCC_V_4_8_1 + default "4.8.0" if CC_GCC_V_4_8_0 + default "linaro-4.7-2014.06" if CC_GCC_V_linaro_4_7 + default "4.7.4" if CC_GCC_V_4_7_4 + default "4.7.3" if CC_GCC_V_4_7_3 + default "4.7.2" if CC_GCC_V_4_7_2 + default "4.7.1" if CC_GCC_V_4_7_1 + default "4.7.0" if CC_GCC_V_4_7_0 + default "linaro-4.6-2013.05" if CC_GCC_V_linaro_4_6 + default "4.6.4" if CC_GCC_V_4_6_4 + default "4.6.3" if CC_GCC_V_4_6_3 + default "4.6.2" if CC_GCC_V_4_6_2 + default "4.6.1" if CC_GCC_V_4_6_1 + default "4.6.0" if CC_GCC_V_4_6_0 + default "linaro-4.5-2012.03" if CC_GCC_V_linaro_4_5 + default "4.5.3" if CC_GCC_V_4_5_3 + default "4.5.2" if CC_GCC_V_4_5_2 + default "4.5.1" if CC_GCC_V_4_5_1 + default "4.5.0" if CC_GCC_V_4_5_0 + default "linaro-4.4-2011.02-0" if CC_GCC_V_linaro_4_4 + default "4.4.7" if CC_GCC_V_4_4_7 + default "4.4.6" if CC_GCC_V_4_4_6 + default "4.4.5" if CC_GCC_V_4_4_5 + default "4.4.4" if CC_GCC_V_4_4_4 + default "4.4.3" if CC_GCC_V_4_4_3 + default "4.4.2" if CC_GCC_V_4_4_2 + default "4.4.1" if CC_GCC_V_4_4_1 + default "4.4.0" if CC_GCC_V_4_4_0 + default "4.3.6" if CC_GCC_V_4_3_6 + default "4.3.5" if CC_GCC_V_4_3_5 + default "4.3.4" if CC_GCC_V_4_3_4 + default "4.3.3" if CC_GCC_V_4_3_3 + default "4.3.2" if CC_GCC_V_4_3_2 + default "4.3.1" if CC_GCC_V_4_3_1 + default "4.3.0" if CC_GCC_V_4_3_0 + default "4.2.4" if CC_GCC_V_4_2_4 + default "4.2.2" if CC_GCC_V_4_2_2 + default "4.1.2" if CC_GCC_V_4_1_2 + default "4.0.4" if CC_GCC_V_4_0_4 + default "3.4.6" if CC_GCC_V_3_4_6 + default "custom" if CC_GCC_CUSTOM config CC_LANG_JAVA_USE_ECJ bool @@ -567,3 +591,5 @@ config CC_LANG_JAVA_USE_ECJ # Fortran always requires GMP+MPFR, whatever the gcc version config CC_LANG_FORTRAN select CC_GCC_USE_GMP_MPFR + +source "config/cc/gcc.in.2" diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index b088515..fb19938 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -1,6 +1,6 @@ # gcc configuration options -config CC_ENABLE_CXX_FLAGS +config CC_GCC_ENABLE_CXX_FLAGS string prompt "Flags to pass to --enable-cxx-flags" default "" @@ -11,7 +11,7 @@ config CC_ENABLE_CXX_FLAGS Note: just pass in the option _value_, that is only the part that goes after the '=' sign. -config CC_CORE_EXTRA_CONFIG_ARRAY +config CC_GCC_CORE_EXTRA_CONFIG_ARRAY string prompt "Core gcc extra config" default "" @@ -26,7 +26,7 @@ config CC_CORE_EXTRA_CONFIG_ARRAY 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 +config CC_GCC_EXTRA_CONFIG_ARRAY string prompt "gcc extra config" default "" @@ -38,9 +38,9 @@ config CC_EXTRA_CONFIG_ARRAY --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 + select CC_GCC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later -config CC_STATIC_LIBSTDCXX +config CC_GCC_STATIC_LIBSTDCXX bool prompt "Link libstdc++ statically into the gcc binary" default y diff --git a/config/companion_libs/isl.in b/config/companion_libs/isl.in index a6b53fb..93babe7 100644 --- a/config/companion_libs/isl.in +++ b/config/companion_libs/isl.in @@ -6,6 +6,10 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW +config ISL_V_0_14 + bool + prompt "0.14" + config ISL_V_0_12_2 bool prompt "0.12.2" @@ -13,6 +17,7 @@ config ISL_V_0_12_2 config ISL_V_0_11_1 bool prompt "0.11.1" + depends on ! CC_GCC_5_1_or_later endchoice @@ -20,5 +25,6 @@ config ISL_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "0.14" if ISL_V_0_14 default "0.12.2" if ISL_V_0_12_2 default "0.11.1" if ISL_V_0_11_1 diff --git a/config/debug/gdb.in b/config/debug/gdb.in index 9ca84f5..2d92251 100644 --- a/config/debug/gdb.in +++ b/config/debug/gdb.in @@ -33,12 +33,28 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW +config GDB_V_7_9_1 + bool + prompt "7.9.1" + select GDB_7_2_or_later + +config GDB_V_7_9 + bool + prompt "7.9" + select GDB_7_2_or_later + config GDB_V_linaro_7_8 bool prompt "linaro-7.8-2014.09" depends on DEBUG_GDB_SHOW_LINARO select GDB_7_2_or_later +config GDB_V_7_8_2 + bool + prompt "7.8.2" + select GDB_7_2_or_later + + config GDB_V_7_8_1 bool prompt "7.8.1" @@ -174,6 +190,9 @@ config GDB_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "7.9.1" if GDB_V_7_9_1 + default "7.9" if GDB_V_7_9 + default "7.8.2" if GDB_V_7_8_2 default "linaro-7.8-2014.09" if GDB_V_linaro_7_8 default "7.8.1" if GDB_V_7_8_1 default "7.8" if GDB_V_7_8 diff --git a/config/debug/strace.in b/config/debug/strace.in index 19563a9..5566129 100644 --- a/config/debug/strace.in +++ b/config/debug/strace.in @@ -8,6 +8,16 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW +config STRACE_V_4_10 + bool + prompt "4.10" + depends on CONFIGURE_has_xz + +config STRACE_V_4_9 + bool + prompt "4.9" + depends on CONFIGURE_has_xz + config STRACE_V_4_8 bool prompt "4.8" @@ -41,6 +51,8 @@ config STRACE_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "4.10" if STRACE_V_4_10 + default "4.9" if STRACE_V_4_9 default "4.8" if STRACE_V_4_8 default "4.7" if STRACE_V_4_7 default "4.6" if STRACE_V_4_6 diff --git a/config/kernel/linux.in b/config/kernel/linux.in index 96d02d1..75918b4 100644 --- a/config/kernel/linux.in +++ b/config/kernel/linux.in @@ -26,151 +26,43 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW -config KERNEL_V_3_18 - bool - prompt "3.18.7" - -config KERNEL_V_3_17 +config KERNEL_V_4_0 bool - prompt "3.17.8" + prompt "4.0.4 (stable)" -config KERNEL_V_3_16 +config KERNEL_V_3_19 bool - prompt "3.16.7" + prompt "3.19.8 (EOL)" -config KERNEL_V_3_15 +config KERNEL_V_3_18 bool - prompt "3.15.10" + prompt "3.18.14" config KERNEL_V_3_14 bool - prompt "3.14.33 (longterm)" - -config KERNEL_V_3_13 - bool - prompt "3.13.11" + prompt "3.14.43" config KERNEL_V_3_12 bool - prompt "3.12.37 (longterm)" - -config KERNEL_V_3_11 - bool - prompt "3.11.10" + prompt "3.12.43" config KERNEL_V_3_10 bool - prompt "3.10.69 (longterm)" - -config KERNEL_V_3_9 - bool - prompt "3.9.11" - -config KERNEL_V_3_8 - bool - prompt "3.8.13" - -config KERNEL_V_3_7 - bool - prompt "3.7.10" - -config KERNEL_V_3_6 - bool - prompt "3.6.11" - -config KERNEL_V_3_5 - bool - prompt "3.5.7" + prompt "3.10.79" config KERNEL_V_3_4 bool - prompt "3.4.106 (longterm)" - -config KERNEL_V_3_3 - bool - prompt "3.3.8" + prompt "3.4.107" config KERNEL_V_3_2 bool - prompt "3.2.66 (longterm)" - -config KERNEL_V_3_1 - bool - prompt "3.1.10" - -config KERNEL_V_3_0 - bool - prompt "3.0.101" - -config KERNEL_V_2_6_39 - bool - prompt "2.6.39.4" - -config KERNEL_V_2_6_38 - bool - prompt "2.6.38.8" - -config KERNEL_V_2_6_37 - bool - prompt "2.6.37.6" - -config KERNEL_V_2_6_36 - bool - prompt "2.6.36.4" - -config KERNEL_V_2_6_33 - bool - prompt "2.6.33.20" - help - This is primarily for the use of those people who are stuck using the - .33-rt kernel. Anyone else who really wants to use the .33 kernel tree - is welcome to use this one as well. + prompt "3.2.69" config KERNEL_V_2_6_32 bool - prompt "2.6.32.65 (longterm)" + prompt "2.6.32.66" help - The Linux 2.6.32 tree is a "longterm" maintenance branch. - - It is intended to fill the niche for users who are not using distribution - kernels but want to use a regression-free kernel for a longer time. - - Critical bug fixes to later 2.6 releases are often ported to this branch - which makes 2.6.32 a very useful base for many embedded developers seeking - stable APIs or those who do not need the latest bleeding edge features. - - ... and no, this kernel has not undergone any specific QA testing. - - See the original announcement by Greg Kroah-Hartman in the following - mailing list entry: - http://marc.info/?l=linux-kernel&m=126384198403392&w=4 - -config KERNEL_V_2_6_31 - bool - prompt "2.6.31.14" - -config KERNEL_V_2_6_27 - bool - prompt "2.6.27.62 (longterm)" - help - The Linux 2.6.27 tree is a "longterm" maintenance branch. - - It is intended to fill the niche for users who are not using distribution - kernels but want to use a regression-free kernel for a longer time. - - Critical bug fixes to later 2.6 releases are often ported to this branch - which makes 2.6.27 a very useful base for many embedded developers seeking - stable APIs or those who do not need the latest bleeding edge features. - - ... and no, this kernel has not undergone any specific QA testing. - - See the original announcement by Adrian Bunk in the following mailing list - entry: - http://marc.info/?l=linux-kernel&m=122375909403298&w=4 - - It is now maintained by Greg Kroah-Hartman, see this mailing list entry: - http://marc.info/?l=linux-kernel&m=129133701916793&w=4 - + config KERNEL_LINUX_CUSTOM bool prompt "custom tarball or directory" @@ -191,33 +83,15 @@ config KERNEL_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW - default "3.18.7" if KERNEL_V_3_18 - default "3.17.8" if KERNEL_V_3_17 - default "3.16.7" if KERNEL_V_3_16 - default "3.15.10" if KERNEL_V_3_15 - default "3.14.33" if KERNEL_V_3_14 - default "3.13.11" if KERNEL_V_3_13 - default "3.12.37" if KERNEL_V_3_12 - default "3.11.10" if KERNEL_V_3_11 - default "3.10.69" if KERNEL_V_3_10 - default "3.9.11" if KERNEL_V_3_9 - default "3.8.13" if KERNEL_V_3_8 - default "3.7.10" if KERNEL_V_3_7 - default "3.6.11" if KERNEL_V_3_6 - default "3.5.7" if KERNEL_V_3_5 - default "3.4.106" if KERNEL_V_3_4 - default "3.3.8" if KERNEL_V_3_3 - default "3.2.66" if KERNEL_V_3_2 - default "3.1.10" if KERNEL_V_3_1 - default "3.0.101" if KERNEL_V_3_0 - default "2.6.39.4" if KERNEL_V_2_6_39 - default "2.6.38.8" if KERNEL_V_2_6_38 - default "2.6.37.6" if KERNEL_V_2_6_37 - default "2.6.36.4" if KERNEL_V_2_6_36 - default "2.6.33.20" if KERNEL_V_2_6_33 - default "2.6.32.65" if KERNEL_V_2_6_32 - default "2.6.31.14" if KERNEL_V_2_6_31 - default "2.6.27.62" if KERNEL_V_2_6_27 + default "4.0.4" if KERNEL_V_4_0 + default "3.19.8" if KERNEL_V_3_19 + default "3.18.14" if KERNEL_V_3_18 + default "3.14.43" if KERNEL_V_3_14 + default "3.12.43" if KERNEL_V_3_12 + default "3.10.79" if KERNEL_V_3_10 + default "3.4.107" if KERNEL_V_3_4 + default "3.2.69" if KERNEL_V_3_2 + default "2.6.32.66" if KERNEL_V_2_6_32 default "custom" if KERNEL_LINUX_CUSTOM endif # ! KERNEL_LINUX_USE_CUSTOM_HEADERS diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in deleted file mode 100644 index d1ecd0f..0000000 --- a/config/libc/eglibc.in +++ /dev/null @@ -1,240 +0,0 @@ -# eglibc options - -## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU -## -## select LIBC_SUPPORT_THREADS_NATIVE -## select CC_CORE_PASSES_NEEDED -## -## help EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC -## help that is designed to work well on embedded systems. EGLIBC strives -## help to be source and binary compatible with GLIBC. Its goals include -## help a reduced footprint, configurable components, and improved -## help cross-compilation support. EGLIBC also includes some embedded ports -## help (such as e500/spe) that are normally separate add-ons of GLIBC. - -config THREADS - default "nptl" - -choice - bool - prompt "eglibc version" -# Don't remove next line -# CT_INSERT_VERSION_BELOW - -config LIBC_EGLIBC_LINARO_V_2_19 - bool - prompt "Linaro 2.19-2014.08" - select LIBC_EGLIBC_2_16_or_later - -config LIBC_EGLIBC_V_2_18 - bool - prompt "2_18" - select LIBC_EGLIBC_2_16_or_later - -config LIBC_EGLIBC_V_2_17 - bool - prompt "2_17" - select LIBC_EGLIBC_2_16_or_later - -config LIBC_EGLIBC_V_2_16 - bool - prompt "2_16" - select LIBC_GLIBC_PORTS_EXTERNAL - select LIBC_EGLIBC_2_16_or_later - -config LIBC_EGLIBC_V_2_15 - bool - prompt "2_15" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_14 - bool - prompt "2_14" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_13 - bool - prompt "2_13" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_12 - bool - prompt "2_12" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_11 - bool - prompt "2_11" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_10 - bool - prompt "2_10" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_2_9 - bool - prompt "2_9" - select LIBC_GLIBC_PORTS_EXTERNAL - -config LIBC_EGLIBC_V_TRUNK - bool - prompt "'trunk'" - select LIBC_EGLIBC_2_16_or_later - help - Selecting this will export the trunk of the eglibc subversion repository. - -config LIBC_EGLIBC_CUSTOM - bool - prompt "Custom eglibc" - depends on EXPERIMENTAL - select LIBC_EGLIBC_2_16_or_later - select LIBC_CUSTOM - -endchoice - -config LIBC_VERSION - string -# Don't remove next line -# CT_INSERT_VERSION_STRING_BELOW - default "linaro-2.19-2014.08" if LIBC_EGLIBC_LINARO_V_2_19 - default "2_18" if LIBC_EGLIBC_V_2_18 - default "2_17" if LIBC_EGLIBC_V_2_17 - default "2_16" if LIBC_EGLIBC_V_2_16 - default "2_15" if LIBC_EGLIBC_V_2_15 - default "2_14" if LIBC_EGLIBC_V_2_14 - default "2_13" if LIBC_EGLIBC_V_2_13 - default "2_12" if LIBC_EGLIBC_V_2_12 - default "2_11" if LIBC_EGLIBC_V_2_11 - default "2_10" if LIBC_EGLIBC_V_2_10 - default "2_9" if LIBC_EGLIBC_V_2_9 - default "trunk" if LIBC_EGLIBC_V_TRUNK - default "custom" if LIBC_EGLIBC_CUSTOM - -config LIBC_EGLIBC_2_16_or_later - bool - -config LIBC_CUSTOM - bool - -if LIBC_EGLIBC_CUSTOM - -config LIBC_EGLIBC_CUSTOM_LOCATION - string - prompt "Full path to custom eglibc source" - default "" - help - Enter the path to the directory (or tarball) of your source for eglibc, - or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc - -endif # LIBC_EGLIBC_CUSTOM -if ! LIBC_EGLIBC_CUSTOM - -if CONFIGURE_has_svn - -config EGLIBC_REVISION - string - prompt "Revision to use" - default "HEAD" - help - Enter the revision of trunk you want to use. - Default is HEAD. - - A revision argument can be one of: - NUMBER revision number - '{' DATE '}' revision at start of the date (*) - 'HEAD' latest in repository - - (*) If you want to use a date, please use ISO-8601 formats if - at all possible. - -config EGLIBC_HTTP - bool - prompt "use http:// instead of svn://" - help - By default, when eglibc is downloaded it is checked out using - svn://svn.eglibc.org. This option allows you to download eglibc - from http://www.eglibc.org, if you are behind a proxy or firewall. - If you are behind a proxy, don't forget to update your - .subversion/servers file with your proxy info in [global]. - -config EGLIBC_CHECKOUT - bool - prompt "checkout instead of export" - default y if LIBC_EGLIBC_V_TRUNK - help - By default, the eglibc download will be an export of the subversion - repository. If you say 'y' here, then the repository will instead be - checked-out, so that you can update it later. - - Note that crosstool-NG will *not* update your working copy, you will - have to do that yourself. - -endif # ! CONFIGURE_has_svn -if ! CONFIGURE_has_svn - -comment "svn is missing. You'll have to either:" -comment "| - have a pre-downloaded local tarball" -comment "| - or have a LAN mirror with a pre-downloaded tarball" -comment "otherwise you won't be able to download eglibc" - -endif # ! CONFIGURE_has_svn -endif # ! LIBC_EGLIBC_CUSTOM - -config EGLIBC_OPT_SIZE - bool - prompt "optimize eglibc for size (-Os)" - help - Optimize eglibc for size using -Os instead of -O2. This will make eglibc - smaller but may make it slower. - -config EGLIBC_CUSTOM_CONFIG - bool - prompt "Use custom configuration file" - help - Use a custom configuration file to disable some features in the eglibc - library. The configuration file options are described in detail in the - option-groups.def file in the eglibc source directory. - -if EGLIBC_CUSTOM_CONFIG - config EGLIBC_OPTION_GROUPS_FILE - string - prompt "Path to the option-groups configuration file" - default "" - help - Path to the option groups configuration file. - - config EGLIBC_BUNDLED_NSS_CONFIG - bool - prompt "Use bundled NSS config file" - default y - help - Use minimal nsswitch configuration file bundled in eglibc. - This option is only meaningful when runtime nss configuration - is disabled in the option groups file. - - config EGLIBC_NSS_CONFIG_FILE - string - prompt "Path to the NSS config file" - default "" - depends on !EGLIBC_BUNDLED_NSS_CONFIG - help - Path to the nsswitch configuration file - - config EGLIBC_BUNDLED_NSS_FUNCTIONS - bool - prompt "Use bundled NSS functions file" - default y - help - Use minimal nsswitch functions file bundled in eglibc. - This option is only meaningful when runtime nss configuration - is disabled in the option groups file. - - config EGLIBC_NSS_FUNCTIONS_FILE - string - prompt "Path to the NSS functions file" - default "" - depends on !EGLIBC_BUNDLED_NSS_FUNCTIONS - help - Path to the nsswitch functions file -endif diff --git a/config/libc/eglibc.in.2 b/config/libc/eglibc.in.2 deleted file mode 100644 index 84553f3..0000000 --- a/config/libc/eglibc.in.2 +++ /dev/null @@ -1 +0,0 @@ -source "config/libc/glibc-eglibc.in-common" diff --git a/config/libc/glibc-eglibc.in-common b/config/libc/glibc-eglibc.in-common deleted file mode 100644 index f199e3a..0000000 --- a/config/libc/glibc-eglibc.in-common +++ /dev/null @@ -1,268 +0,0 @@ -# This file contains the common configuration options -# that apply to both glibc and eglibc. - -# Some architectures require the ports addon. List them one by one here: -# This list must be carefully in sync with the architectures names -# we can find in config/arch/* - -config LIBC_GLIBC_PORTS_EXTERNAL - bool - default n - -config LIBC_GLIBC_MAY_FORCE_PORTS - bool - default y if ARCH_arm - default y if ARCH_mips - select LIBC_GLIBC_USE_PORTS - depends on !LIBC_GLIBC_2_20_or_later - -# Force using the BFD linker during the toolchain build -config LIBC_glibc_familly - bool - default y - select BINUTILS_FORCE_LD_BFD - -config LIBC_GLIBC_EXTRA_CONFIG_ARRAY - string - prompt "extra config" - default "" - help - Extra flags to pass onto ./configure when configuring. - - 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 LIBC_GLIBC_CONFIGPARMS - string - prompt "Extra config params (READ HELP)" - default "" if ! ARCH_sh - default "no-z-defs=yes" if ARCH_sh - help - Some architectures need to set options in the file configparms. - This is the case for sh3/4, which really need to set configparms - to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2. - - Unless you are building a toolchain for sh3/4, you should leave that empty. - - Note: If you need to pass more than one value, separate them with - '\n'. Eg.: var1=val1\nvar2=val2 - -config LIBC_GLIBC_EXTRA_CFLAGS - string - prompt "extra target CFLAGS" - default "" - help - Extra target CFLAGS to use when building. - -config LIBC_EXTRA_CC_ARGS - string - prompt "gcc extra flags" - default "" - help - Extra flags to pass gcc when building. - - Seldom used, except for sparc64 which seems to need the flag -64 - to be passed onto gcc. - -config LIBC_ENABLE_FORTIFIED_BUILD - bool - prompt "Enable fortified build (EXPERIMENTAL)" - depends on EXPERIMENTAL - help - If you say 'y' here, then glibc will be using fortified versions - of functions with format arguments (eg. vsyslog, printf...), and - do a sanity check on the format at runtime, to avoid some of the - common format string attacks. - - This is currently not supported, and will most probably result in - a broken build, with an error message like: - ../misc/syslog.c: In function '__vsyslog_chk': - ../misc/syslog.c:123: sorry, unimplemented: inlining failed in - call to 'syslog': function body not available - - If you are brave enough and want to debug the issue, then say 'y' - here. Otherwise, be still and say 'n' (the default). ;-) - - -config LIBC_DISABLE_VERSIONING - bool - prompt "Disable symbols versioning" - help - Do not include versioning information in the library objects. - -config LIBC_OLDEST_ABI - string - prompt "Oldest supported ABI" - default "" - help - Set the oldest ABI supported by the C library. - - Setting this option, for example, to 2.2 will provide ABI support - back to (e)glibc-2.2. - - If this option is not set, (e)glibc will choose for you. - -config LIBC_GLIBC_FORCE_UNWIND - bool - prompt "Force unwind support (READ HELP!)" - default y - help - If your toolchain fails building while building the C library - start files, or the complete C library, with a message like: - configure: error: forced unwind support is required - - then you may try changing this option. Otherwise, leave it to - the default 'y'. - - The issue seems to be related to building NPTL on old versions - of glibc (and possibly eglibc as well) on some architectures - (seen on s390, s390x and x86_64). - -config LIBC_GLIBC_USE_PORTS - bool - prompt "Use the ports addon" - depends on !LIBC_GLIBC_2_20_or_later - help - The ports addon contains some architecture ports that are not available - in the official distribution. - - For example, this is the case for ARM with glibc-2.4 and above. - - Say n only if you're sure that your architecture is in the official - distribution for your chosen version. - -config LIBC_ADDONS_LIST - string - prompt "Extra addons" - default "" - help - Extra addons to include. Space separated list. - - You need to specify neither linuxthreads nor nptl, as they are added - automagically for you depending on the threading model you chose - earlier. - - Eg.: crypt (for very old libces) - -if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) -comment "WARNING !!! " -comment "| For glibc >= 2.8, it can happen that the tarballs " -comment "| for the addons are not available for download. " -comment "| If that happens, bad luck... Try a previous version " -comment "| or try again later... :-( " -endif - -config LIBC_LOCALES - bool - prompt "Build and install locales" - help - Whether to build and install the libc locale files for the target, - which is required in order to support internationalization. - -if LIBC_glibc && LIBC_LOCALES -comment "WARNING! " -comment "| The built locales will be usable if and only if the build " -comment "| machine and the target: " -comment "| - have the same endianness, " -comment "| - and have the same alignment requirements for uint32_t. " -comment "| You will have to check by yourself (for now). " -endif # LIBC_glibc && LIBC_LOCALES - -if KERNEL_linux - -choice LIBC_GLIBC_SUPPORTED_KERNEL - bool - prompt "Minimum supported kernel version" - default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS - -config LIBC_GLIBC_KERNEL_VERSION_NONE - bool - prompt "Let ./configure decide" - help - Let ./configure decide what minimum kernel version glibc/eglibc - will be able to run against. - - This will include legacy compatibility code for older kernels in - the C library, thus ensuring that it will run on a large number - of old kernels. - - The minimum kernel version supported will be dependent upon the - target you build for. For example: - alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL - sh[34]-*-linux-gnu Requires Linux 2.6.11 - powerpc* Requires Linux 2.4.19 - arm*-*-linux-*gnueabi Requires Linux 2.6.16 - -config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS - bool - prompt "Same as kernel headers (default)" - help - Normally, you'll want glibc/eglibc to run against the same kernel - version as the one used for the headers. - - This is the default. - - If enabled, crosstool-ng will use the chosen version of kernel - headers for the glibc minimum kernel version supported, which is - what gets passed to "--enable-kernel=" when configuring glibc. - - Enabling this will ensure that no legacy compatibility code for - older kernels is built into your C libraries, but it will - be unable to run on kernel versions older than whichever kernel - headers version you've built the toolchain for. - - If you know for sure that your toolchain will never need to build - applications that will run under a kernel version older than your - chosen kernel headers version (CT_KERNEL_VERSION), you can choose - "y" here. - -config LIBC_GLIBC_KERNEL_VERSION_CHOSEN - bool - prompt "Specific kernel version" - help - Specify the earliest Linux kernel version you want glibc to - include support for. This does not have to match the kernel - headers version used for your toolchain. This controls what is - passed to the "--enable-kernel=" option to the glibc configure - script. - - If you want to be able to statically link programs with your - toolchain's C library, make sure this kernel version is lower than - all kernels you wish to support to avoid "FATAL: kernel too old" - errors. The higher the version you specify, the less legacy code - will be built into libc. - - Most people can leave this at the default value of "2.6.9". - -if LIBC_GLIBC_KERNEL_VERSION_CHOSEN - -config LIBC_GLIBC_MIN_KERNEL_VERSION - string - prompt "Minimum kernel version to support" - default "2.6.9" - help - Enter here the lowest kernel version glibc/eglibc will be able to - run against. - - The minimum kernel version supported will be dependent upon the - target you build for. For example: - alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL - sh[34]-*-linux-gnu Requires Linux 2.6.11 - powerpc* Requires Linux 2.4.19 - arm*-*-linux-*gnueabi Requires Linux 2.6.16 - - Note that no sanity check is performed by crosstool-NG to ensure - that the value you enter here is appropriate for your target. - -endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN - -endchoice - -config LIBC_GLIBC_MIN_KERNEL - string - default "" if LIBC_GLIBC_KERNEL_VERSION_NONE - default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS - default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN - -endif # KERNEL_linux diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 42575f7..fbc82d5 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -6,21 +6,44 @@ ## select CC_CORE_PASSES_NEEDED ## ## help The de-facto standard for Linux distributions. -## help Feature-rich, but large... Most usefull for desktop-like systems. +## help Feature-rich, but large... Most useful for desktop-like systems. config THREADS default "nptl" +config CC_GLIBC_SHOW_LINARO + bool + prompt "Show Linaro versions" + help + Linaro is maintaining some advanced/more stable/experimental versions + of glibc, especially for the ARM architecture. + + Those versions have not been blessed by the glibc comunity (nor have they + been cursed either!), but they look to be pretty much stable, and even + more stable than the upstream versions. YMMV... + + If you do not know what this Linaro stuff is, then simply say 'n' here, + and rest in peace. OTOH, if you know what you are doing, you will be + able to use and enjoy :-) the Linaro versions by saying 'y' here. + + Linaro: http://www.linaro.org/ + choice bool prompt "glibc version" # Don't remove next line # CT_INSERT_VERSION_BELOW +config LIBC_GLIBC_V_2_21 + bool + prompt "2.21" + select LIBC_GLIBC_2_20_or_later + config LIBC_GLIBC_LINARO_V_2_20 bool prompt "Linaro 2.20-2014.11" select LIBC_GLIBC_2_20_or_later + depends on CC_GLIBC_SHOW_LINARO config LIBC_GLIBC_V_2_20 bool @@ -131,6 +154,7 @@ config LIBC_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "2.21" if LIBC_GLIBC_V_2_21 default "linaro-2.20-2014.11" if LIBC_GLIBC_LINARO_V_2_20 default "2.20" if LIBC_GLIBC_V_2_20 default "2.19" if LIBC_GLIBC_V_2_19 diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2 index 84553f3..346f9b7 100644 --- a/config/libc/glibc.in.2 +++ b/config/libc/glibc.in.2 @@ -1 +1,267 @@ -source "config/libc/glibc-eglibc.in-common" +# This file contains the common configuration options +# that apply to both glibc. + +# Some architectures require the ports addon. List them one by one here: +# This list must be carefully in sync with the architectures names +# we can find in config/arch/* + +config LIBC_GLIBC_PORTS_EXTERNAL + bool + default n + +config LIBC_GLIBC_MAY_FORCE_PORTS + bool + default y if ARCH_arm + default y if ARCH_mips + select LIBC_GLIBC_USE_PORTS + depends on !LIBC_GLIBC_2_20_or_later + +# Force using the BFD linker during the toolchain build +config LIBC_glibc_familly + bool + default y + select BINUTILS_FORCE_LD_BFD + +config LIBC_GLIBC_EXTRA_CONFIG_ARRAY + string + prompt "extra config" + default "" + help + Extra flags to pass onto ./configure when configuring. + + 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 LIBC_GLIBC_CONFIGPARMS + string + prompt "Extra config params (READ HELP)" + default "" if ! ARCH_sh + default "no-z-defs=yes" if ARCH_sh + help + Some architectures need to set options in the file configparms. + This is the case for sh3/4, which really need to set configparms + to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2. + + Unless you are building a toolchain for sh3/4, you should leave that empty. + + Note: If you need to pass more than one value, separate them with + '\n'. Eg.: var1=val1\nvar2=val2 + +config LIBC_GLIBC_EXTRA_CFLAGS + string + prompt "extra target CFLAGS" + default "" + help + Extra target CFLAGS to use when building. + +config LIBC_EXTRA_CC_ARGS + string + prompt "gcc extra flags" + default "" + help + Extra flags to pass gcc when building. + + Seldom used, except for sparc64 which seems to need the flag -64 + to be passed onto gcc. + +config LIBC_ENABLE_FORTIFIED_BUILD + bool + prompt "Enable fortified build (EXPERIMENTAL)" + depends on EXPERIMENTAL + help + If you say 'y' here, then glibc will be using fortified versions + of functions with format arguments (eg. vsyslog, printf...), and + do a sanity check on the format at runtime, to avoid some of the + common format string attacks. + + This is currently not supported, and will most probably result in + a broken build, with an error message like: + ../misc/syslog.c: In function '__vsyslog_chk': + ../misc/syslog.c:123: sorry, unimplemented: inlining failed in + call to 'syslog': function body not available + + If you are brave enough and want to debug the issue, then say 'y' + here. Otherwise, be still and say 'n' (the default). ;-) + + +config LIBC_DISABLE_VERSIONING + bool + prompt "Disable symbols versioning" + help + Do not include versioning information in the library objects. + +config LIBC_OLDEST_ABI + string + prompt "Oldest supported ABI" + default "" + help + Set the oldest ABI supported by the C library. + + Setting this option, for example, to 2.2 will provide ABI support + back to (e)glibc-2.2. + + If this option is not set, (e)glibc will choose for you. + +config LIBC_GLIBC_FORCE_UNWIND + bool + prompt "Force unwind support (READ HELP!)" + default y + help + If your toolchain fails building while building the C library + start files, or the complete C library, with a message like: + configure: error: forced unwind support is required + + then you may try changing this option. Otherwise, leave it to + the default 'y'. + + The issue seems to be related to building NPTL on old versions + of glibc on some architectures + (seen on s390, s390x and x86_64). + +config LIBC_GLIBC_USE_PORTS + bool + prompt "Use the ports addon" + depends on !LIBC_GLIBC_2_20_or_later + help + The ports addon contains some architecture ports that are not available + in the official distribution. + + For example, this is the case for ARM with glibc-2.4 and above. + + Say n only if you're sure that your architecture is in the official + distribution for your chosen version. + +config LIBC_ADDONS_LIST + string + prompt "Extra addons" + default "" + help + Extra addons to include. Space separated list. + + You need to specify neither linuxthreads nor nptl, as they are added + automagically for you depending on the threading model you chose + earlier. + + Eg.: crypt (for very old libces) + +if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) +comment "WARNING !!! " +comment "| For glibc >= 2.8, it can happen that the tarballs " +comment "| for the addons are not available for download. " +comment "| If that happens, bad luck... Try a previous version " +comment "| or try again later... :-( " +endif + +config LIBC_LOCALES + bool + prompt "Build and install locales" + help + Whether to build and install the libc locale files for the target, + which is required in order to support internationalization. + +if LIBC_glibc && LIBC_LOCALES +comment "WARNING! " +comment "| The built locales will be usable if and only if the build " +comment "| machine and the target: " +comment "| - have the same endianness, " +comment "| - and have the same alignment requirements for uint32_t. " +comment "| You will have to check by yourself (for now). " +endif # LIBC_glibc && LIBC_LOCALES + +if KERNEL_linux + +choice LIBC_GLIBC_SUPPORTED_KERNEL + bool + prompt "Minimum supported kernel version" + default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS + +config LIBC_GLIBC_KERNEL_VERSION_NONE + bool + prompt "Let ./configure decide" + help + Let ./configure decide what minimum kernel version glibc will be + able to run against. + + This will include legacy compatibility code for older kernels in + the C library, thus ensuring that it will run on a large number + of old kernels. + + The minimum kernel version supported will be dependent upon the + target you build for. For example: + alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL + sh[34]-*-linux-gnu Requires Linux 2.6.11 + powerpc* Requires Linux 2.4.19 + arm*-*-linux-*gnueabi Requires Linux 2.6.16 + +config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS + bool + prompt "Same as kernel headers (default)" + help + Normally, you'll want glibc to run against the same kernel + version as the one used for the headers. + + This is the default. + + If enabled, crosstool-ng will use the chosen version of kernel + headers for the glibc minimum kernel version supported, which is + what gets passed to "--enable-kernel=" when configuring glibc. + + Enabling this will ensure that no legacy compatibility code for + older kernels is built into your C libraries, but it will + be unable to run on kernel versions older than whichever kernel + headers version you've built the toolchain for. + + If you know for sure that your toolchain will never need to build + applications that will run under a kernel version older than your + chosen kernel headers version (CT_KERNEL_VERSION), you can choose + "y" here. + +config LIBC_GLIBC_KERNEL_VERSION_CHOSEN + bool + prompt "Specific kernel version" + help + Specify the earliest Linux kernel version you want glibc to + include support for. This does not have to match the kernel + headers version used for your toolchain. This controls what is + passed to the "--enable-kernel=" option to the glibc configure + script. + + If you want to be able to statically link programs with your + toolchain's C library, make sure this kernel version is lower than + all kernels you wish to support to avoid "FATAL: kernel too old" + errors. The higher the version you specify, the less legacy code + will be built into libc. + + Most people can leave this at the default value of "2.6.9". + +if LIBC_GLIBC_KERNEL_VERSION_CHOSEN + +config LIBC_GLIBC_MIN_KERNEL_VERSION + string + prompt "Minimum kernel version to support" + default "2.6.9" + help + Enter here the lowest kernel version glibc will be able to run against. + + The minimum kernel version supported will be dependent upon the + target you build for. For example: + alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL + sh[34]-*-linux-gnu Requires Linux 2.6.11 + powerpc* Requires Linux 2.4.19 + arm*-*-linux-*gnueabi Requires Linux 2.6.16 + + Note that no sanity check is performed by crosstool-NG to ensure + that the value you enter here is appropriate for your target. + +endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN + +endchoice + +config LIBC_GLIBC_MIN_KERNEL + string + default "" if LIBC_GLIBC_KERNEL_VERSION_NONE + default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS + default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN + +endif # KERNEL_linux diff --git a/config/libc/mingw.in b/config/libc/mingw.in index 6997600..895bc81 100644 --- a/config/libc/mingw.in +++ b/config/libc/mingw.in @@ -16,6 +16,36 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW + +config WINAPI_V_DEVEL + bool + prompt "devel" + depends on EXPERIMENTAL + +config WINAPI_V_4_0_2 + bool + prompt "4.0.2" + +config WINAPI_V_4_0_1 + bool + prompt "4.0.1" + +config WINAPI_V_4_0_0 + bool + prompt "4.0.0" + +config WINAPI_V_3_1_0 + bool + prompt "3.1.0" + +config WINAPI_V_3_0_0 + bool + prompt "3.0.0" + +config WINAPI_V_2_0_8 + bool + prompt "2.0.8" + config WINAPI_V_2_0_7 bool prompt "2.0.7" @@ -31,6 +61,13 @@ config WINAPI_VERSION prompt "Windows API version" if WINAPI_V_select # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "devel" if WINAPI_V_DEVEL + default "4.0.2" if WINAPI_V_4_0_2 + default "4.0.1" if WINAPI_V_4_0_1 + default "4.0.0" if WINAPI_V_4_0_0 + default "3.1.0" if WINAPI_V_3_1_0 + default "3.0.0" if WINAPI_V_3_0_0 + default "2.0.8" if WINAPI_V_2_0_8 default "2.0.7" if WINAPI_V_2_0_7 help Enter the version number of the Windows API files to use diff --git a/config/libc/musl.in b/config/libc/musl.in index 0ab7229..9ecae01 100644 --- a/config/libc/musl.in +++ b/config/libc/musl.in @@ -18,14 +18,14 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW -config LIBC_MUSL_V_1_1_5 +config LIBC_MUSL_V_1_1 bool - prompt "1.1.5 (Mainline)" + prompt "1.1.9 (Mainline)" depends on EXPERIMENTAL -config LIBC_MUSL_V_1_0_4 +config LIBC_MUSL_V_1_0 bool - prompt "1.0.4 (Stable)" + prompt "1.0.5 (Stable)" config LIBC_MUSL_V_CUSTOM bool @@ -38,6 +38,6 @@ config LIBC_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW - default "1.1.5" if LIBC_MUSL_V_1_1_5 - default "1.0.4" if LIBC_MUSL_V_1_0_4 + default "1.1.9" if LIBC_MUSL_V_1_1 + default "1.0.5" if LIBC_MUSL_V_1_0 default "custom" if LIBC_MUSL_V_CUSTOM diff --git a/config/libc/newlib.in b/config/libc/newlib.in index 8109354..67ecf54 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -13,6 +13,23 @@ ## help array of processors, and will usually work on any architecture with ## help the addition of a few low-level routines. +config CC_NEWLIB_SHOW_LINARO + bool + prompt "Show Linaro versions" + help + Linaro is maintaining some advanced/more stable/experimental versions + of newlib, especially for the ARM architecture. + + Those versions have not been blessed by the newlib comunity (nor have they + been cursed either!), but they look to be pretty much stable, and even + more stable than the upstream versions. YMMV... + + If you do not know what this Linaro stuff is, then simply say 'n' here, + and rest in peace. OTOH, if you know what you are doing, you will be + able to use and enjoy :-) the Linaro versions by saying 'y' here. + + Linaro: http://www.linaro.org/ + choice bool prompt "newlib version" @@ -22,6 +39,7 @@ choice config LIBC_NEWLIB_LINARO_V_2_2_0 bool prompt "Linaro 2.2.0-2015.01" + depends on CC_NEWLIB_SHOW_LINARO config LIBC_NEWLIB_V_2_2_0 bool @@ -30,6 +48,7 @@ config LIBC_NEWLIB_V_2_2_0 config LIBC_NEWLIB_LINARO_V_2_1_0 bool prompt "Linaro 2.1.0-2014.09" + depends on CC_NEWLIB_SHOW_LINARO config LIBC_NEWLIB_V_2_1_0 bool diff --git a/config/toolchain.in b/config/toolchain.in index b242444..5048e91 100644 --- a/config/toolchain.in +++ b/config/toolchain.in @@ -77,7 +77,7 @@ config TOOLCHAIN_PKGVERSION 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, and also in binutils, eglibc, gdb and + the output of gcc --version, and also in binutils, glibc, gdb and gdbserver. If this string is left empty, the actual package version will be: |