diff options
author | Alexey Neyman <stilor@att.net> | 2017-07-04 19:19:42 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-07-08 10:57:56 -0700 |
commit | ff0a1a3da605ca157e3f3d0ed2d8b9acb30c2f69 (patch) | |
tree | 3866631ee0fa3fc650fd71de948f9a8b32bfc359 /config/arch | |
parent | 50a387afa7abd24255ef865dada5d324265e1250 (diff) | |
download | crosstool-ng-ff0a1a3da605ca157e3f3d0ed2d8b9acb30c2f69.tar.gz crosstool-ng-ff0a1a3da605ca157e3f3d0ed2d8b9acb30c2f69.tar.bz2 crosstool-ng-ff0a1a3da605ca157e3f3d0ed2d8b9acb30c2f69.zip |
Switch gen-kconfig to new framework
Also:
- Move companion_* to comp_* to match the kconfig symbols
- Replace bootstrap with former gen-versions.sh
- Fold *.in.2 into their respective first parts; this moves common
options to the end - if it is undesirable, inclusion of *.in
can be moved where *.in.2 used to be (but that will also move
version selection after common options).
- Retire addToolVersion.sh (may later replace with a more
comprehensive script that tries to download the added tarballs,
copy the patches and try to apply them, and create a version.desc).
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'config/arch')
-rw-r--r-- | config/arch/alpha.in | 57 | ||||
-rw-r--r-- | config/arch/alpha.in.2 | 56 | ||||
-rw-r--r-- | config/arch/arm.in | 97 | ||||
-rw-r--r-- | config/arch/arm.in.2 | 96 | ||||
-rw-r--r-- | config/arch/mips.in | 39 | ||||
-rw-r--r-- | config/arch/mips.in.2 | 38 | ||||
-rw-r--r-- | config/arch/powerpc.in | 43 | ||||
-rw-r--r-- | config/arch/powerpc.in.2 | 42 | ||||
-rw-r--r-- | config/arch/sh.in | 24 | ||||
-rw-r--r-- | config/arch/sh.in.2 | 25 | ||||
-rw-r--r-- | config/arch/xtensa.in | 15 | ||||
-rw-r--r-- | config/arch/xtensa.in.2 | 12 |
12 files changed, 270 insertions, 274 deletions
diff --git a/config/arch/alpha.in b/config/arch/alpha.in index 1c7ec96d..f0d7fe0b 100644 --- a/config/arch/alpha.in +++ b/config/arch/alpha.in @@ -5,5 +5,60 @@ ## select ARCH_USE_MMU ## select ARCH_SUPPORTS_WITH_CPU ## select ARCH_SUPPORTS_WITH_TUNE -## + ## help The Alpha architecture. + +choice + bool + prompt "Variant" + +config ARCH_ALPHA_EV4 + bool + prompt "EV4" + +config ARCH_ALPHA_EV45 + bool + prompt "EV45" + +config ARCH_ALPHA_EV5 + bool + prompt "EV5" + +config ARCH_ALPHA_EV56 + bool + prompt "EV56" + +config ARCH_ALPHA_EV6 + bool + prompt "EV6" + +config ARCH_ALPHA_EV67 + bool + prompt "EV67" + +endchoice + +config ARCH_ALPHA_VARIANT + string + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 + +config ARCH_CPU + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 + +config ARCH_TUNE + default "ev4" if ARCH_ALPHA_EV4 + default "ev45" if ARCH_ALPHA_EV45 + default "ev5" if ARCH_ALPHA_EV5 + default "ev56" if ARCH_ALPHA_EV56 + default "ev6" if ARCH_ALPHA_EV6 + default "ev67" if ARCH_ALPHA_EV67 diff --git a/config/arch/alpha.in.2 b/config/arch/alpha.in.2 deleted file mode 100644 index aa52624c..00000000 --- a/config/arch/alpha.in.2 +++ /dev/null @@ -1,56 +0,0 @@ -# Alpha specific configuration file - -choice - bool - prompt "Variant" - -config ARCH_ALPHA_EV4 - bool - prompt "EV4" - -config ARCH_ALPHA_EV45 - bool - prompt "EV45" - -config ARCH_ALPHA_EV5 - bool - prompt "EV5" - -config ARCH_ALPHA_EV56 - bool - prompt "EV56" - -config ARCH_ALPHA_EV6 - bool - prompt "EV6" - -config ARCH_ALPHA_EV67 - bool - prompt "EV67" - -endchoice - -config ARCH_ALPHA_VARIANT - string - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 - -config ARCH_CPU - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 - -config ARCH_TUNE - default "ev4" if ARCH_ALPHA_EV4 - default "ev45" if ARCH_ALPHA_EV45 - default "ev5" if ARCH_ALPHA_EV5 - default "ev56" if ARCH_ALPHA_EV56 - default "ev6" if ARCH_ALPHA_EV6 - default "ev67" if ARCH_ALPHA_EV67 diff --git a/config/arch/arm.in b/config/arch/arm.in index 5dbc717d..269310d6 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -14,6 +14,101 @@ ## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32 ## select ARCH_SUPPORTS_WITH_FPU if ARCH_32 ## select ARCH_SUPPORTS_SOFTFP if ARCH_32 -## + ## help The ARM architecture, as defined by: ## help http://www.arm.com/ + +if ARCH_32 +config ARCH_ARM_MODE + string + default "arm" if ARCH_ARM_MODE_ARM + default "thumb" if ARCH_ARM_MODE_THUMB + +choice + bool + prompt "Default instruction set mode" + default ARCH_ARM_MODE_ARM + +config ARCH_ARM_MODE_ARM + bool + prompt "arm" + help + Defaults to emitting instructions in the ARM mode. + +config ARCH_ARM_MODE_THUMB + bool + prompt "thumb" + help + Defaults to emitting instructions in the THUMB mode. + +endchoice + +config ARCH_ARM_INTERWORKING + bool + prompt "Use Thumb-interworking (READ HELP)" + help + Excerpt from the gcc manual: + + > Generate code which supports calling between the ARM and Thumb + > instruction sets. Without this option the two instruction sets + > cannot be reliably used inside one program. The default is + > [not to use interwork], since slightly larger code is generated + > when [interwork] is specified. + + NOTE: Interworking in crosstool-NG is not sell-tested. Use at your + own risks, and report success and/or failure. + +# Until we only support EABI: +config ARCH_ARM_ABI_OK + def_bool y + depends on ! ARCH_ARM_EABI + select ARCH_SUPPORTS_WITH_ABI + +# Little trick to force EABI *and* always show the prompt +config ARCH_ARM_EABI_FORCE + bool + default y if ! OBSOLETE + select ARCH_ARM_EABI + +config ARCH_ARM_EABI + bool + prompt "Use EABI" + default y + help + Set up the toolchain so that it generates EABI-compliant binaries. + + If you say 'n' here, then the toolchain will generate OABI binaries. + OABI has long been deprecated, and is now considered legacy. + +config ARCH_ARM_TUPLE_USE_EABIHF + bool + prompt "append 'hf' to the tuple (EXPERIMENTAL)" + depends on ARCH_FLOAT_HW + depends on ARCH_ARM_EABI # Until we only support that... + default y + help + Is you say 'y' here, then the tuple for the toolchain will end + up with *eabihf, instead of the usual *eabi. + + *eabihf is used to denote that the toolchain *is* using the + hard-float ABI, while *eabi is just an indication of using the + soft-float ABI. + + Ie. all one can say is: *eabihf ⊢ hard-float ABI + + Saying 'n' here does *not* impact the ability of the toolchain to + generate hard-float instructions with the hard-float ABI. It is a + purely cosmetic thing, used by distros to differentiate their + hard-float-ABI-using ports from their soft-float-ABI-using ports. + (eg. Debian Wheezy and above). + + This is an option, as not all versions of gcc/binutils do support + such tuple, and fail to build with *eabihf. Stock gcc version up + to, and including 4.7.2 have an issue or another with *eabihf. + + This option is here for the future. + + Say 'n', unless you are trying to fix gcc to properly recognise + the *eabihf tuples. + +endif diff --git a/config/arch/arm.in.2 b/config/arch/arm.in.2 deleted file mode 100644 index 166c78f0..00000000 --- a/config/arch/arm.in.2 +++ /dev/null @@ -1,96 +0,0 @@ -# ARM specific configuration file - -if ARCH_32 -config ARCH_ARM_MODE - string - default "arm" if ARCH_ARM_MODE_ARM - default "thumb" if ARCH_ARM_MODE_THUMB - -choice - bool - prompt "Default instruction set mode" - default ARCH_ARM_MODE_ARM - -config ARCH_ARM_MODE_ARM - bool - prompt "arm" - help - Defaults to emitting instructions in the ARM mode. - -config ARCH_ARM_MODE_THUMB - bool - prompt "thumb" - help - Defaults to emitting instructions in the THUMB mode. - -endchoice - -config ARCH_ARM_INTERWORKING - bool - prompt "Use Thumb-interworking (READ HELP)" - help - Excerpt from the gcc manual: - - > Generate code which supports calling between the ARM and Thumb - > instruction sets. Without this option the two instruction sets - > cannot be reliably used inside one program. The default is - > [not to use interwork], since slightly larger code is generated - > when [interwork] is specified. - - NOTE: Interworking in crosstool-NG is not sell-tested. Use at your - own risks, and report success and/or failure. - -# Until we only support EABI: -config ARCH_ARM_ABI_OK - def_bool y - depends on ! ARCH_ARM_EABI - select ARCH_SUPPORTS_WITH_ABI - -# Little trick to force EABI *and* always show the prompt -config ARCH_ARM_EABI_FORCE - bool - default y if ! OBSOLETE - select ARCH_ARM_EABI - -config ARCH_ARM_EABI - bool - prompt "Use EABI" - default y - help - Set up the toolchain so that it generates EABI-compliant binaries. - - If you say 'n' here, then the toolchain will generate OABI binaries. - OABI has long been deprecated, and is now considered legacy. - -config ARCH_ARM_TUPLE_USE_EABIHF - bool - prompt "append 'hf' to the tuple (EXPERIMENTAL)" - depends on ARCH_FLOAT_HW - depends on ARCH_ARM_EABI # Until we only support that... - default y - help - Is you say 'y' here, then the tuple for the toolchain will end - up with *eabihf, instead of the usual *eabi. - - *eabihf is used to denote that the toolchain *is* using the - hard-float ABI, while *eabi is just an indication of using the - soft-float ABI. - - Ie. all one can say is: *eabihf ⊢ hard-float ABI - - Saying 'n' here does *not* impact the ability of the toolchain to - generate hard-float instructions with the hard-float ABI. It is a - purely cosmetic thing, used by distros to differentiate their - hard-float-ABI-using ports from their soft-float-ABI-using ports. - (eg. Debian Wheezy and above). - - This is an option, as not all versions of gcc/binutils do support - such tuple, and fail to build with *eabihf. Stock gcc version up - to, and including 4.7.2 have an issue or another with *eabihf. - - This option is here for the future. - - Say 'n', unless you are trying to fix gcc to properly recognise - the *eabihf tuples. - -endif diff --git a/config/arch/mips.in b/config/arch/mips.in index 1168f5e6..850fe113 100644 --- a/config/arch/mips.in +++ b/config/arch/mips.in @@ -9,6 +9,43 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE ## select ARCH_SUPPORTS_WITH_FLOAT -## + ## help The MIPS architecture, as defined by: ## help http://www.mips.com/ + +choice + bool + prompt "ABI" + +config ARCH_mips_o32 + bool + prompt "o32" + depends on (ARCH_32 || MULTILIB) + help + This is the -mabi=32 gcc option. + +config ARCH_mips_n32 + bool + prompt "n32" + depends on ARCH_64 + help + This is the -mabi=n32 gcc option. + +config ARCH_mips_n64 + bool + prompt "n64" + depends on ARCH_64 + help + This is the -mabi=64 gcc option. + +# Not supported on Linux: +# o64 : seems related to *BSD +# eabi : seems related to bare-metal + +endchoice + +config ARCH_mips_ABI + string + default "32" if ARCH_mips_o32 + default "n32" if ARCH_mips_n32 + default "64" if ARCH_mips_n64 diff --git a/config/arch/mips.in.2 b/config/arch/mips.in.2 deleted file mode 100644 index 35c60e05..00000000 --- a/config/arch/mips.in.2 +++ /dev/null @@ -1,38 +0,0 @@ -# MIPS specific config options - -choice - bool - prompt "ABI" - -config ARCH_mips_o32 - bool - prompt "o32" - depends on (ARCH_32 || MULTILIB) - help - This is the -mabi=32 gcc option. - -config ARCH_mips_n32 - bool - prompt "n32" - depends on ARCH_64 - help - This is the -mabi=n32 gcc option. - -config ARCH_mips_n64 - bool - prompt "n64" - depends on ARCH_64 - help - This is the -mabi=64 gcc option. - -# Not supported on Linux: -# o64 : seems related to *BSD -# eabi : seems related to bare-metal - -endchoice - -config ARCH_mips_ABI - string - default "32" if ARCH_mips_o32 - default "n32" if ARCH_mips_n32 - default "64" if ARCH_mips_n64 diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in index 6dfc742c..276438f4 100644 --- a/config/arch/powerpc.in +++ b/config/arch/powerpc.in @@ -1,4 +1,4 @@ -# powerpc specific configuration file +# Powerpc specific configuration file ## select ARCH_SUPPORTS_32 ## select ARCH_SUPPORTS_64 @@ -13,3 +13,44 @@ ## ## help The PowerPC architecture, as defined by: ## help http://www.ibm.com/developerworks/eserver/articles/archguide.html + +config ARCH_powerpc_ABI + string + default "" if ARCH_powerpc_ABI_DEFAULT + default "eabi" if ARCH_powerpc_ABI_EABI + default "spe" if ARCH_powerpc_ABI_SPE + +choice + bool + prompt "ABI" + default ARCH_powerpc_ABI_DEFAULT + +config ARCH_powerpc_ABI_DEFAULT + bool + prompt "default" + help + The default ABI (System V.4). + +config ARCH_powerpc_ABI_EABI + bool + prompt "EABI" + depends on BARE_METAL + help + The Embedded ABI (stack alignment of 8 bytes, etc). + +config ARCH_powerpc_ABI_SPE + bool + prompt "SPE" + help + Add support for the Signal Processing Engine. This will set up + the toolchain so that it supports the SPE ABI extensions. This + mainly targets Freescale e500 processors. + + Setting this option will append "spe" to the end of your target + tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc + configure/build system will know to include SPE ABI support. It + will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS, + and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you + do not need to explicitly add them. + +endchoice diff --git a/config/arch/powerpc.in.2 b/config/arch/powerpc.in.2 deleted file mode 100644 index 2cbc3700..00000000 --- a/config/arch/powerpc.in.2 +++ /dev/null @@ -1,42 +0,0 @@ -# powerpc specific configuration file - -config ARCH_powerpc_ABI - string - default "" if ARCH_powerpc_ABI_DEFAULT - default "eabi" if ARCH_powerpc_ABI_EABI - default "spe" if ARCH_powerpc_ABI_SPE - -choice - bool - prompt "ABI" - default ARCH_powerpc_ABI_DEFAULT - -config ARCH_powerpc_ABI_DEFAULT - bool - prompt "default" - help - The default ABI (System V.4). - -config ARCH_powerpc_ABI_EABI - bool - prompt "EABI" - depends on BARE_METAL - help - The Embedded ABI (stack alignment of 8 bytes, etc). - -config ARCH_powerpc_ABI_SPE - bool - prompt "SPE" - help - Add support for the Signal Processing Engine. This will set up - the toolchain so that it supports the SPE ABI extensions. This - mainly targets Freescale e500 processors. - - Setting this option will append "spe" to the end of your target - tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc - configure/build system will know to include SPE ABI support. It - will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS, - and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you - do not need to explicitly add them. - -endchoice diff --git a/config/arch/sh.in b/config/arch/sh.in index 60de3133..be525b42 100644 --- a/config/arch/sh.in +++ b/config/arch/sh.in @@ -9,3 +9,27 @@ ## ## help The Super-H architecture, as defined by: ## help http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/ + +choice + bool + prompt "Variant" + +config ARCH_SH_SH3 + bool + prompt "sh3" + +config ARCH_SH_SH4 + bool + prompt "sh4" + +config ARCH_SH_SH4A + bool + prompt "sh4a" + +endchoice + +config ARCH_SH_VARIANT + string + default "sh3" if ARCH_SH_SH3 + default "sh4" if ARCH_SH_SH4 + default "sh4a" if ARCH_SH_SH4A diff --git a/config/arch/sh.in.2 b/config/arch/sh.in.2 deleted file mode 100644 index 82856ee5..00000000 --- a/config/arch/sh.in.2 +++ /dev/null @@ -1,25 +0,0 @@ -# Super-H specific configuration file - -choice - bool - prompt "Variant" - -config ARCH_SH_SH3 - bool - prompt "sh3" - -config ARCH_SH_SH4 - bool - prompt "sh4" - -config ARCH_SH_SH4A - bool - prompt "sh4a" - -endchoice - -config ARCH_SH_VARIANT - string - default "sh3" if ARCH_SH_SH3 - default "sh4" if ARCH_SH_SH4 - default "sh4a" if ARCH_SH_SH4A diff --git a/config/arch/xtensa.in b/config/arch/xtensa.in index 3ffa4e80..bf4fcb67 100644 --- a/config/arch/xtensa.in +++ b/config/arch/xtensa.in @@ -5,7 +5,7 @@ ## select ARCH_DEFAULT_LE ## select ARCH_SUPPORTS_BOTH_MMU ## select ARCH_DEFAULT_HAS_MMU -## + ## help The xtensa architecture ## help ## help Xtensa is a configurable and extensible processor architecture. @@ -20,3 +20,16 @@ ## help ## help The default option (ARCH_xtensa_fsf) uses a built-in configuration, ## help which may or may not work for a particular Xtensa processor. + +choice + prompt "Target Architecture Variant" + default ARCH_xtensa_fsf + +config XTENSA_CUSTOM + bool "Custom Xtensa processor configuration" + select TARGET_USE_OVERLAY + +config ARCH_xtensa_fsf + bool "fsf - Default configuration" + +endchoice diff --git a/config/arch/xtensa.in.2 b/config/arch/xtensa.in.2 deleted file mode 100644 index 5ae14d2c..00000000 --- a/config/arch/xtensa.in.2 +++ /dev/null @@ -1,12 +0,0 @@ -choice - prompt "Target Architecture Variant" - default ARCH_xtensa_fsf - -config XTENSA_CUSTOM - bool "Custom Xtensa processor configuration" - select TARGET_USE_OVERLAY - -config ARCH_xtensa_fsf - bool "fsf - Default configuration" - -endchoice |