blob: fb337033f0af8b8ef184c39b07d14acfdb0c4095 [file] [log] [blame]
Bernhard Reutner-Fischer4b0d5a82007-09-26 21:12:38 +00001if BR2_TOOLCHAIN_EXTERNAL
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +00002
Petri Gynther8218ab82016-08-08 11:34:59 -07003comment "Toolchain External Options"
4
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01005choice
6 prompt "Toolchain"
7
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +02008comment "glibc toolchains only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +01009 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +010010
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +010011# Kept toolchains sorted by architecture in order to use some toolchain
12# as default choice
13
14# Aarch64 (use Linaro toolchain by default)
15source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
Thomas Petazzonif0f24982016-11-07 02:20:01 +010016source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +010017
Thomas Petazzonia7ec3582016-11-07 02:20:16 +010018# ARC
19source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in"
20
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +010021# ARM (use Linaro toolchain by default)
22source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
Thomas Petazzoni5b3c5b32016-11-07 02:20:03 +010023source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +010024
Thomas Petazzonic428f452016-11-07 02:20:05 +010025# ARM big-endian
26source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
Yann E. MORIN997ef602015-10-27 00:49:40 +010027
Thomas Petazzonicfacefe2016-11-07 02:20:06 +010028# Blackfin
29source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in"
30
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +010031# MIPS (use codesourcery toolchain by default)
32source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
Thomas Petazzoni95c75fc2016-11-07 02:20:08 +010033source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in"
Thomas Petazzonic4a62fa2016-11-07 02:20:09 +010034source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in"
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +010035
Thomas Petazzonif61661b2016-11-07 02:20:10 +010036# NIOSII
37source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in"
38
Thomas Petazzonia3b68652016-11-07 02:20:11 +010039# SH4a
40source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in"
41
Romain Naoura66b8192016-11-07 02:20:12 +010042# x86/x86_64 (use amd64 toolchain by default for AMD64)
43source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
Thomas Petazzoni25429ba2016-11-07 02:20:13 +010044source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in"
Romain Naoura66b8192016-11-07 02:20:12 +010045
Thomas Petazzoni06ba7f9e2016-11-07 02:20:14 +010046# Musl based toolchains (after all the others)
47source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in"
48
Thomas Petazzoniec540922016-11-07 02:20:15 +010049# Kept last, so it remains the non-default choice, unless there isn't
50# any available toolchain profile for the currently selected
51# architecture.
52source "toolchain/toolchain-external/toolchain-external-custom/Config.in"
53
Romain Naour18206242015-12-19 19:14:46 +010054config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020055 bool "Arago ARMv7 2011.09"
56 depends on BR2_arm
57 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +020058 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020059 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +010060 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010061 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020062 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000063 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020064 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
65 select BR2_INSTALL_LIBSTDCPP
66 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +020067 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +010068 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020069 help
70 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
71 binutils 2.20.1, glibc 2.12, gdb 7.2.
72
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020073 This toolchain uses -mfloat-abi=softfp (i.e can use FPU
74 instructions, but passes floating point function arguments
75 in integer registers), and requires a VFPv3 floating point
76 unit to work properly. This unit is available on most
77 Cortex-A ARM processors, but not all.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020078
Romain Naour18206242015-12-19 19:14:46 +010079config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +020080 bool "Arago ARMv5 2011.09"
81 depends on BR2_arm
82 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +020083 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020084 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010085 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +020086 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000087 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2592f252013-06-08 11:14:18 +020088 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
89 select BR2_INSTALL_LIBSTDCPP
90 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +020091 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +010092 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +020093 help
94 Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
95 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
96
97 This toolchain uses software-floating point.
98
Thomas Petazzoni6c492d52010-12-13 17:27:39 +010099endchoice
100
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200101choice
102 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200103 # Keep compatibility with old defconfig files that are using
104 # custom toolchains, and which are therefore assuming that
105 # "preinstalled" in the default choice.
106 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200107
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100108config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200109 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100110 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200111 Select this option if you want Buildroot to download and install the
112 toolchain. If you have selected a custom toolchain, specify the URL
113 in BR2_TOOLCHAIN_EXTERNAL_URL.
114
115config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
116 bool "Pre-installed toolchain"
117 help
118 Select this option if you want to use a pre-installed toolchain.
119 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
120
121endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100122
123config BR2_TOOLCHAIN_EXTERNAL_PATH
124 string "Toolchain path"
125 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200126 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100127 help
128 Path to where the external toolchain is installed.
129
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100130config BR2_TOOLCHAIN_EXTERNAL_PREFIX
131 string
Romain Naour18206242015-12-19 19:14:46 +0100132 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
133 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200134
135config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100136 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200137 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200138
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100139config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
140 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200141 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100142
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200143config BR2_TOOLCHAIN_EXTERNAL_MUSL
144 bool
145 select BR2_TOOLCHAIN_USES_MUSL
Yann E. MORINe31eb722016-08-18 23:50:13 +0200146 # Compatibility headers: cdefs.h, queue.h
147 select BR2_PACKAGE_MUSL_COMPAT_HEADERS
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200148
Arnout Vandecappelle1c99d702016-11-07 02:19:59 +0100149# Make sure the virtual-package infra checks the provider
150config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
151 bool
152 default y
153
154config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
155 string
156
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +0100157# Kept toolchains sorted as in the choice above
158# The toolchain Config.in.options must define
159# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX
160
161# Aarch64
162source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
Thomas Petazzonif0f24982016-11-07 02:20:01 +0100163source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +0100164
Thomas Petazzonia7ec3582016-11-07 02:20:16 +0100165# ARC
166source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options"
167
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +0100168# ARM
169source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
Thomas Petazzoni5b3c5b32016-11-07 02:20:03 +0100170source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +0100171
Thomas Petazzonic428f452016-11-07 02:20:05 +0100172# ARM big-endian
173source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"
174
Thomas Petazzonicfacefe2016-11-07 02:20:06 +0100175# Blackfin
176source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options"
177
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +0100178# MIPS
179source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
Thomas Petazzoni95c75fc2016-11-07 02:20:08 +0100180source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options"
Thomas Petazzonic4a62fa2016-11-07 02:20:09 +0100181source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options"
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +0100182
Thomas Petazzonif61661b2016-11-07 02:20:10 +0100183# NIOSII
184source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options"
185
Thomas Petazzonia3b68652016-11-07 02:20:11 +0100186# SH4a
187source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options"
188
Romain Naoura66b8192016-11-07 02:20:12 +0100189# x86/x86_64
190source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
Thomas Petazzoni25429ba2016-11-07 02:20:13 +0100191source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options"
Romain Naoura66b8192016-11-07 02:20:12 +0100192
Thomas Petazzoni06ba7f9e2016-11-07 02:20:14 +0100193# Musl based toolchains
194source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options"
195
Thomas Petazzoniec540922016-11-07 02:20:15 +0100196# Custom toolchains
197source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options"
Thomas Petazzonifff71172010-12-13 17:27:37 +0100198
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +0000199config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
200 bool "Copy gdb server to the Target"
201 depends on BR2_TOOLCHAIN_EXTERNAL
202 help
203 Copy the gdbserver provided by the external toolchain to the
204 target.
205
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200206# When the FDPIC shared binary format is used, the corresponding libraries are
207# always installed. When a different binary format is used, we offer the option
208# of installing the FDPIC shared libraries.
209config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100210 bool "Install FDPIC shared libraries"
211 depends on BR2_bfin && !BR2_BINFMT_FDPIC
212 help
213 The Linux kernel supports running both FDPIC and FLAT applications
214 concurrently if the binary format specific libraries are installed
215 properly. This option allows developer to install FDPIC libraries
216 into a buildroot rootfs image built with binary format that is not
217 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200218
219# When the FLAT shared binary format is used, we force the installation
220# of the corresponding libraries. When a different binary format is
221# used, we offer the option of installing the FLAT shared libraries.
222config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100223 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
224 depends on BR2_bfin
225 default y if BR2_BINFMT_FLAT_SHARED
226 help
227 The Linux kernel supports running both FDPIC and FLAT applications
228 concurrently if the binary format specific libraries are installed
229 properly. This option allows developer to install FLAT libraries
230 into a buildroot rootfs image built with binary format that is not
231 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200232
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100233endif # BR2_TOOLCHAIN_EXTERNAL