diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/binutils.in | 3 | ||||
-rw-r--r-- | config/cc.in | 11 | ||||
-rw-r--r-- | config/cc/gcc.in.2 | 7 | ||||
-rw-r--r-- | config/kernel.in | 6 | ||||
-rw-r--r-- | config/libc.in | 17 | ||||
-rw-r--r-- | config/libc/bionic.in | 2 | ||||
-rw-r--r-- | config/libc/glibc.in | 43 | ||||
-rw-r--r-- | config/libc/glibc.in.2 | 86 | ||||
-rw-r--r-- | config/libc/newlib.in | 8 | ||||
-rw-r--r-- | config/libc/newlib.in.2 | 4 | ||||
-rw-r--r-- | config/target.in | 3 |
11 files changed, 93 insertions, 97 deletions
diff --git a/config/binutils.in b/config/binutils.in index 0c6d5c0..7210f7c 100644 --- a/config/binutils.in +++ b/config/binutils.in @@ -33,9 +33,6 @@ config ARCH_BINFMT_FDPIC endchoice -config BINUTILS - string - source "config/gen/binutils.in" source "config/gen/binutils.in.2" diff --git a/config/cc.in b/config/cc.in index 03bc8d7..62aee4b 100644 --- a/config/cc.in +++ b/config/cc.in @@ -2,13 +2,6 @@ menu "C compiler" -config CC - string - default "gcc" - -config CC_VERSION - string - config CC_CORE_PASSES_NEEDED bool select CC_CORE_PASS_1_NEEDED @@ -20,8 +13,6 @@ config CC_CORE_PASS_1_NEEDED config CC_CORE_PASS_2_NEEDED bool -source "config/gen/cc.in" - config CC_SUPPORT_CXX bool @@ -43,6 +34,8 @@ config CC_SUPPORT_OBJCXX config CC_SUPPORT_GOLANG bool +source "config/gen/cc.in" + comment "Additional supported languages:" config CC_LANG_CXX diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index e238076..36ae939 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -7,6 +7,11 @@ config CC_GCC_ENABLE_PLUGINS depends on ! STATIC_TOOLCHAIN default y +# Affects the build of musl +config GCC_BUG_61144 + bool + default y if GCC_4_9_or_later && !GCC_4_9_2_or_later + # If binutils installs gold, enable support for gold in gcc config CC_GCC_GOLD bool @@ -133,7 +138,7 @@ comment "Optimisation features" config CC_GCC_USE_GRAPHITE bool "Enable GRAPHITE loop optimisations" default y - select CLOOG_NEEDED if !CC_GCC_5_or_later + select CLOOG_NEEDED if !GCC_5_or_later select ISL_NEEDED help Enable the GRAPHITE loop optimsations. diff --git a/config/kernel.in b/config/kernel.in index 2ae7656..31e83fc 100644 --- a/config/kernel.in +++ b/config/kernel.in @@ -18,12 +18,6 @@ config WINDOWS config KERNEL_SUPPORTS_SHARED_LIBS bool -config KERNEL - string - -config KERNEL_VERSION - string - source "config/gen/kernel.in" comment "Common kernel options" diff --git a/config/libc.in b/config/libc.in index 708c3b6..62490b9 100644 --- a/config/libc.in +++ b/config/libc.in @@ -2,23 +2,6 @@ menu "C-library" -config LIBC - string - -config LIBC_VERSION - string - help - Enter the date of the snapshot you want to use in the form: YYYYMMDD - where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit - day in the month. - - Please note: - - glibc has snapshots done every monday, and only the last ten are kept. - - uClibc has daily snapshots, and only the last 30-or-so are kept. - - So if you want to be able to re-build your toolchain later, you will - have to save your C library tarball by yourself. - source "config/gen/libc.in" config LIBC_SUPPORT_THREADS_ANY diff --git a/config/libc/bionic.in b/config/libc/bionic.in index ab51e6b..6bf708b 100644 --- a/config/libc/bionic.in +++ b/config/libc/bionic.in @@ -3,7 +3,7 @@ ## depends on ! WINDOWS && ! BARE_METAL ## depends on ARCH_arm || ARCH_mips || ARCH_x86 ## depends on EXPERIMENTAL -## depends on CC_GCC_6_or_later +## depends on GCC_6_or_later ## ## select LIBC_SUPPORT_THREADS_POSIX ## diff --git a/config/libc/glibc.in b/config/libc/glibc.in index c0c633d..803ba29 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -1,9 +1,13 @@ # glibc options +# TBD move all the remaining parts into glibc.in.2 and move the sourcing of versions +# into the auto-generated choice/menus? + ## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU ## ## select LIBC_SUPPORT_THREADS_NATIVE ## select CC_CORE_PASSES_NEEDED +# TBD: select GETTEXT for build only, not for host ## select GETTEXT_NEEDED ## select BINUTILS_FORCE_LD_BFD_DEFAULT ## @@ -16,39 +20,6 @@ # are still using quite ancient versions. Please do not retire versions # (including versions in between) until the EOL dates indicated in version.desc. source "config/versions/glibc.in" - -config THREADS - default "nptl" - -# SPARCv8 support retired in 2.23 -config GLIBC_NO_SPARC_V8 - def_bool y - depends on GLIBC_2_23_or_later - -# With 2.20, NPTL is in default glibc -config GLIBC_HAS_NPTL_ADDON - def_bool y - depends on !GLIBC_2_20_or_later - -# With 2.20, all architectures are in main tree -config GLIBC_HAS_PORTS_ADDON - def_bool y - depends on !GLIBC_2_20_or_later - -# With 2.17 and later, 'ports' addon is shipped in glibc tarball -config GLIBC_PORTS_EXTERNAL - def_bool y - depends on !GLIBC_2_17_or_later - -# 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 GLIBC_NEEDS_PORTS - def_bool y - depends on ARCH_alpha || ARCH_arm || ARCH_m68k || ARCH_mips || ARCH_powerpc - -# Ports are no longer an add-on starting with 2.20 -config GLIBC_USE_PORTS - def_bool y - depends on GLIBC_NEEDS_PORTS && GLIBC_HAS_PORTS_ADDON - +if GLIBC_USE_PORTS_EXTERNAL +source "config/versions/glibc-ports.in" +endif diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2 index f1c224c..7785aca 100644 --- a/config/libc/glibc.in.2 +++ b/config/libc/glibc.in.2 @@ -1,6 +1,70 @@ # This file contains the common configuration options # that apply to both glibc. +config THREADS + default "nptl" + +# Known add-ons and when they exist(ed) +# crypt external in 2.1, no longer an add-on since 2.2 +# libidn external in 2.3.4 .. 2.10, still an add-on +# linuxthreads external in 2.0.1 .. 2.5, no longer available since 2.6 [*] +# localedata external in 2.0.1 .. 2.0.6, no longer an add-on since 2.1 [*] +# ports external in 2.3.4 .. 2.16, no longer an add-on since 2.20 +# nptl never external, no longer an add-on since 2.20 +# +# Given the list of currently supported glibc releases, we only need to worry about +# 'libidn', 'ports' and 'nptl' add-ons. Of these, only 'ports' can be an external +# tarball; and only 'libidn' is user-selectable ('ports' & 'nptl' are selected +# by crosstool-NG, as dictated by the architecture and thread model). +# +# I had trouble locating the sources in the repository for some of the released +# versions. E.g., there is a 2.5 version of linuxthreads, but the tag for 2.5 in Git +# does not have the linuxthreads directory at all. Similarly, 2.0.6 tag did not have +# localedata. Since these releases are no longer supported by crosstool-NG, this is +# of pure historical interest now, however. + +config GLIBC_HAS_NPTL_ADDON + def_bool y + depends on !GLIBC_2_20_or_later + +config GLIBC_HAS_PORTS_ADDON + def_bool y + depends on !GLIBC_2_20_or_later + +config GLIBC_HAS_PORTS_ADDON_EXTERNAL + def_bool y + depends on !GLIBC_2_17_or_later + +# In case it folds into main distribution in some future release, too +config GLIBC_HAS_LIBIDN_ADDON + def_bool y + +# 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 GLIBC_USE_PORTS_ADDON + def_bool y + depends on ARCH_alpha || ARCH_arm || ARCH_m68k || ARCH_mips || ARCH_powerpc + depends on GLIBC_HAS_PORTS_ADDON + +config GLIBC_USE_PORTS_EXTERNAL + def_bool y + depends on GLIBC_USE_PORTS_ADDON && GLIBC_HAS_PORTS_ADDON_EXTERNAL + +config GLIBC_USE_NPTL_ADDON + def_bool y + depends on THREADS_NATIVE && GLIBC_HAS_NPTL_ADDON + +config GLIBC_USE_LIBIDN_ADDON + bool "Build libidn add-on" + help + Enables the libidn add-on in GNU libc. + +# SPARCv8 support retired in 2.23 +config GLIBC_NO_SPARC_V8 + def_bool y + depends on GLIBC_2_23_or_later + config GLIBC_EXTRA_CONFIG_ARRAY string prompt "extra config" @@ -88,22 +152,6 @@ config GLIBC_FORCE_UNWIND of glibc on some architectures (seen on s390, s390x and x86_64). -config GLIBC_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 and on libc version selected. - - Also, do not specify ports even if applicable to the selected libc - version/architecture; it is selected automatically. - - Eg.: libidn - config GLIBC_LOCALES bool prompt "Build and install locales" @@ -111,7 +159,7 @@ config GLIBC_LOCALES 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 +if LIBC_glibc && GLIBC_LOCALES comment "WARNING! " comment "| The built locales will be usable if and only if the build " comment "| machine and the target: " @@ -121,7 +169,7 @@ comment "| You will have to check by yourself (for now). " comment "WARNING! " comment "| Building GLIBC locales requires that GLIBC supports " comment "| the build machine as the target. " -endif # LIBC_glibc && LIBC_LOCALES +endif # LIBC_glibc && GLIBC_LOCALES if KERNEL_linux @@ -215,7 +263,7 @@ endchoice config GLIBC_MIN_KERNEL string default "" if GLIBC_KERNEL_VERSION_NONE - default KERNEL_VERSION if GLIBC_KERNEL_VERSION_AS_HEADERS + default LINUX_VERSION if GLIBC_KERNEL_VERSION_AS_HEADERS default GLIBC_MIN_KERNEL_VERSION if GLIBC_KERNEL_VERSION_CHOSEN endif # KERNEL_linux diff --git a/config/libc/newlib.in b/config/libc/newlib.in index 5354fef..a37eca7 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -21,3 +21,11 @@ config NEWLIB_CXA_ATEXIT def_bool y depends on NEWLIB_2_0_or_later select LIBC_PROVIDES_CXA_ATEXIT + +config NEWLIB_HAS_NANO_MALLOC + def_bool y + depends on NEWLIB_2_1_or_later + +config NEWLIB_HAS_NANO_FORMATTED_IO + def_bool y + depends on NEWLIB_2_2_or_later diff --git a/config/libc/newlib.in.2 b/config/libc/newlib.in.2 index f73128c..ed27e7a 100644 --- a/config/libc/newlib.in.2 +++ b/config/libc/newlib.in.2 @@ -164,7 +164,7 @@ config LIBC_NEWLIB_LTO config LIBC_NEWLIB_NANO_MALLOC bool prompt "Enable Nano Malloc" - depends on LIBC_NEWLIB_2_1_or_later + depends on NEWLIB_HAS_NANO_MALLOC help NEWLIB has two implementations of malloc family's functions, one in `mallocr.c' and the other one in `nano-mallocr.c'. This options @@ -175,7 +175,7 @@ config LIBC_NEWLIB_NANO_MALLOC config LIBC_NEWLIB_NANO_FORMATTED_IO bool prompt "Enable Nano Formatted I/O" - depends on LIBC_NEWLIB_2_2_or_later + depends on NEWLIB_HAS_NANO_FORMATTED_IO help This builds NEWLIB with a special implementation of formatted I/O functions, designed to lower the size of application on small systems diff --git a/config/target.in b/config/target.in index 50aaa61..3d86b55 100644 --- a/config/target.in +++ b/config/target.in @@ -2,9 +2,6 @@ menu "Target options" -config ARCH - string - source "config/gen/arch.in" config ARCH_SUFFIX |