kumquat-buildroot/toolchain/toolchain-external/Config.in
Thomas Petazzoni ec54092c91 toolchain-external-custom: new package
This commit adds a new package to support custom external toolchains.

The legacy implementation is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 22:23:32 +01:00

251 lines
9.0 KiB
Plaintext

if BR2_TOOLCHAIN_EXTERNAL
comment "Toolchain External Options"
choice
prompt "Toolchain"
comment "glibc toolchains only available with shared lib support"
depends on BR2_STATIC_LIBS
# Kept toolchains sorted by architecture in order to use some toolchain
# as default choice
# Aarch64 (use Linaro toolchain by default)
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
# ARM (use Linaro toolchain by default)
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
# ARM big-endian
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
# Blackfin
source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in"
# MIPS (use codesourcery toolchain by default)
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in"
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in"
# NIOSII
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in"
# SH4a
source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in"
# x86/x86_64 (use amd64 toolchain by default for AMD64)
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in"
# Musl based toolchains (after all the others)
source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in"
# Kept last, so it remains the non-default choice, unless there isn't
# any available toolchain profile for the currently selected
# architecture.
source "toolchain/toolchain-external/toolchain-external-custom/Config.in"
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
bool "Arago ARMv7 2011.09"
depends on BR2_arm
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on BR2_ARM_CPU_ARMV7A
depends on BR2_ARM_EABI
depends on BR2_ARM_CPU_HAS_VFPV3
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
# kernel headers: 2.6.31
help
Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
binutils 2.20.1, glibc 2.12, gdb 7.2.
This toolchain uses -mfloat-abi=softfp (i.e can use FPU
instructions, but passes floating point function arguments
in integer registers), and requires a VFPv3 floating point
unit to work properly. This unit is available on most
Cortex-A ARM processors, but not all.
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
bool "Arago ARMv5 2011.09"
depends on BR2_arm
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_ARM_CPU_ARMV4
depends on BR2_ARM_EABI
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
# kernel headers: 2.6.31
help
Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
This toolchain uses software-floating point.
config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
bool "Synopsys ARC 2014.12 toolchain"
depends on BR2_arc
depends on BR2_HOSTARCH = "x86_64"
# does not provide IPv6, and lacks many uClibc features
# expected by Buildroot. The next Synopsys toolchain version
# should fix those problems.
depends on BROKEN
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_ENABLE_LOCALE
select BR2_USE_WCHAR
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help
Toolchain for the ARC cores, from
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
endchoice
choice
prompt "Toolchain origin"
# Keep compatibility with old defconfig files that are using
# custom toolchains, and which are therefore assuming that
# "preinstalled" in the default choice.
default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
bool "Toolchain to be downloaded and installed"
help
Select this option if you want Buildroot to download and install the
toolchain. If you have selected a custom toolchain, specify the URL
in BR2_TOOLCHAIN_EXTERNAL_URL.
config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
bool "Pre-installed toolchain"
help
Select this option if you want to use a pre-installed toolchain.
Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
endchoice
config BR2_TOOLCHAIN_EXTERNAL_PATH
string "Toolchain path"
default "/path/to/toolchain/usr"
depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
help
Path to where the external toolchain is installed.
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
string
default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
config BR2_TOOLCHAIN_EXTERNAL_GLIBC
bool
select BR2_TOOLCHAIN_USES_GLIBC
config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
bool
select BR2_TOOLCHAIN_USES_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_MUSL
bool
select BR2_TOOLCHAIN_USES_MUSL
# Compatibility headers: cdefs.h, queue.h
select BR2_PACKAGE_MUSL_COMPAT_HEADERS
# Make sure the virtual-package infra checks the provider
config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
bool
default y
config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
string
# Kept toolchains sorted as in the choice above
# The toolchain Config.in.options must define
# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX
# Aarch64
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
# ARM
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"
# ARM big-endian
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"
# Blackfin
source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options"
# MIPS
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options"
# NIOSII
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options"
# SH4a
source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options"
# x86/x86_64
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options"
# Musl based toolchains
source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options"
# Custom toolchains
source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options"
config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
bool "Copy gdb server to the Target"
depends on BR2_TOOLCHAIN_EXTERNAL
help
Copy the gdbserver provided by the external toolchain to the
target.
# When the FDPIC shared binary format is used, the corresponding libraries are
# always installed. When a different binary format is used, we offer the option
# of installing the FDPIC shared libraries.
config BR2_BFIN_INSTALL_FDPIC_SHARED
bool "Install FDPIC shared libraries"
depends on BR2_bfin && !BR2_BINFMT_FDPIC
help
The Linux kernel supports running both FDPIC and FLAT applications
concurrently if the binary format specific libraries are installed
properly. This option allows developer to install FDPIC libraries
into a buildroot rootfs image built with binary format that is not
FDPIC.
# When the FLAT shared binary format is used, we force the installation
# of the corresponding libraries. When a different binary format is
# used, we offer the option of installing the FLAT shared libraries.
config BR2_BFIN_INSTALL_FLAT_SHARED
bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
depends on BR2_bfin
default y if BR2_BINFMT_FLAT_SHARED
help
The Linux kernel supports running both FDPIC and FLAT applications
concurrently if the binary format specific libraries are installed
properly. This option allows developer to install FLAT libraries
into a buildroot rootfs image built with binary format that is not
shared FLAT.
endif # BR2_TOOLCHAIN_EXTERNAL