1if BR2_TOOLCHAIN_EXTERNAL 2 3comment "Toolchain External Options" 4 5choice 6 prompt "Toolchain" 7 8# Kept toolchains sorted by architecture in order to use some toolchain 9# as default choice 10 11# Aarch64 (use ARM toolchain by default) 12source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in" 13source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" 14 15# Aarch64 big-endian 16source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in" 17source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in" 18 19# ARC 20source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" 21 22# ARM (use ARM toolchain by default) 23source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in" 24source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" 25 26# ARM big-endian 27source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" 28 29# MIPS 30source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" 31 32# Bootlin toolchains, available for virtually all architectures 33source "toolchain/toolchain-external/toolchain-external-bootlin/Config.in" 34 35# Kept last, so it remains the non-default choice, unless there isn't 36# any available toolchain profile for the currently selected 37# architecture, but before toolchains from br2-external trees. 38source "toolchain/toolchain-external/toolchain-external-custom/Config.in" 39 40# Toolchains from br2-external trees, if any 41source "$BR2_BASE_DIR/.br2-external.in.toolchains" 42 43endchoice 44 45choice 46 prompt "Toolchain origin" 47 # Keep compatibility with old defconfig files that are using 48 # custom toolchains, and which are therefore assuming that 49 # "preinstalled" in the default choice. 50 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM 51 52config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD 53 bool "Toolchain to be downloaded and installed" 54 help 55 Select this option if you want Buildroot to download and 56 install the toolchain. If you have selected a custom 57 toolchain, specify the URL in BR2_TOOLCHAIN_EXTERNAL_URL. 58 59config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED 60 bool "Pre-installed toolchain" 61 help 62 Select this option if you want to use a pre-installed 63 toolchain. Specify the path to this toolchain in 64 BR2_TOOLCHAIN_EXTERNAL_PATH. 65 66endchoice 67 68config BR2_TOOLCHAIN_EXTERNAL_PATH 69 string "Toolchain path" 70 default "" 71 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED 72 help 73 Path to where the external toolchain is installed. The 74 compiler itself is expected to be in the "bin" subdirectory 75 of this path. 76 77 If empty, the compiler will be searched in $PATH. 78 79config BR2_TOOLCHAIN_EXTERNAL_GLIBC 80 bool 81 select BR2_TOOLCHAIN_USES_GLIBC 82 83config BR2_TOOLCHAIN_EXTERNAL_UCLIBC 84 bool 85 select BR2_TOOLCHAIN_USES_UCLIBC 86 87config BR2_TOOLCHAIN_EXTERNAL_MUSL 88 bool 89 select BR2_TOOLCHAIN_USES_MUSL 90 # Compatibility headers: cdefs.h, queue.h 91 select BR2_PACKAGE_MUSL_COMPAT_HEADERS 92 93# Make sure the virtual-package infra checks the provider 94config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL 95 bool 96 default y 97 98config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL 99 string 100 101config BR2_TOOLCHAIN_EXTERNAL_PREFIX 102 string 103 104# Kept toolchains sorted as in the choice above 105# The toolchain Config.in.options must define 106# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX 107 108# Aarch64 109source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options" 110source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" 111 112# Aarch64 big-endian 113source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options" 114source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options" 115 116# ARC 117source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options" 118 119# ARM 120source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options" 121source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" 122 123# ARM big-endian 124source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" 125 126# MIPS 127source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" 128 129# Bootlin toolchains 130source "toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options" 131 132# Custom toolchains 133source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options" 134 135config BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER 136 bool 137 138config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY 139 bool "Copy gdb server to the Target" 140 depends on BR2_TOOLCHAIN_EXTERNAL 141 depends on !BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER 142 help 143 Copy the gdbserver provided by the external toolchain to the 144 target. 145 146endif # BR2_TOOLCHAIN_EXTERNAL 147