Config.in 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087
  1. if BR2_TOOLCHAIN_EXTERNAL
  2. choice
  3. prompt "Toolchain"
  4. comment "glibc toolchains only available with shared lib support"
  5. depends on BR2_STATIC_LIBS
  6. comment "Linaro toolchains available for Cortex-A + EABIhf"
  7. depends on BR2_arm || BR2_armeb
  8. depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
  9. depends on !BR2_STATIC_LIBS
  10. # Note: we use the same symbol for both Linaro toolchains.
  11. # Since they have different dependencies (the host), we can
  12. # give them different prompts and different help texts.
  13. config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
  14. bool "Linaro ARM 2014.09"
  15. depends on BR2_arm
  16. depends on BR2_ARM_CPU_ARMV7A
  17. depends on BR2_HOSTARCH = "x86"
  18. depends on BR2_ARM_EABIHF
  19. depends on !BR2_STATIC_LIBS
  20. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  21. select BR2_TOOLCHAIN_HAS_SSP
  22. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  23. select BR2_INSTALL_LIBSTDCPP
  24. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  25. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  26. select BR2_TOOLCHAIN_HAS_FORTRAN
  27. help
  28. Linaro toolchain for the ARM architecture. It uses Linaro
  29. GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
  30. GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
  31. generates code that runs on all Cortex-A profile devices,
  32. but tuned for the Cortex-A9. The code generated is Thumb 2,
  33. with the hard floating point calling convention, and uses
  34. the VFPv3-D16 FPU instructions.
  35. # See the note above.
  36. config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
  37. bool "Linaro ARM 2016.02"
  38. depends on BR2_arm
  39. depends on BR2_ARM_CPU_ARMV7A
  40. depends on BR2_HOSTARCH = "x86_64"
  41. depends on BR2_ARM_EABIHF
  42. depends on !BR2_STATIC_LIBS
  43. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  44. select BR2_TOOLCHAIN_HAS_SSP
  45. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  46. select BR2_INSTALL_LIBSTDCPP
  47. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  48. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  49. select BR2_TOOLCHAIN_HAS_FORTRAN
  50. help
  51. Linaro toolchain for the ARM architecture. It uses Linaro
  52. GCC 2016.02 (based on gcc 5.3), Linaro GDB 2016.02 (based on
  53. GDB 7.10), glibc 2.21, Binutils 2015.10 (based on 2.25). It
  54. generates code that runs on all Cortex-A profile devices,
  55. but tuned for the Cortex-A9. The code generated is Thumb 2,
  56. with the hard floating point calling convention, and uses
  57. the VFPv3-D16 FPU instructions.
  58. # See the note above.
  59. config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
  60. bool "Linaro armeb 2014.09"
  61. depends on BR2_armeb
  62. depends on BR2_ARM_CPU_ARMV7A
  63. depends on BR2_HOSTARCH = "x86"
  64. depends on BR2_ARM_EABIHF
  65. depends on !BR2_STATIC_LIBS
  66. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  67. select BR2_TOOLCHAIN_HAS_SSP
  68. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  69. select BR2_INSTALL_LIBSTDCPP
  70. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  71. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  72. select BR2_TOOLCHAIN_HAS_FORTRAN
  73. help
  74. Linaro toolchain for the ARM big endian architecture. It
  75. uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
  76. 2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
  77. (based on 2.24). It generates code that runs on all Cortex-A
  78. profile devices, but tuned for the Cortex-A9. The code
  79. generated is Thumb 2, with the hard floating point calling
  80. convention, and uses the VFPv3-D16 FPU instructions.
  81. # See the note above.
  82. config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
  83. bool "Linaro armeb 2016.02"
  84. depends on BR2_armeb
  85. depends on BR2_ARM_CPU_ARMV7A
  86. depends on BR2_HOSTARCH = "x86_64"
  87. depends on BR2_ARM_EABIHF
  88. depends on !BR2_STATIC_LIBS
  89. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  90. select BR2_TOOLCHAIN_HAS_SSP
  91. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  92. select BR2_INSTALL_LIBSTDCPP
  93. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  94. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  95. help
  96. Linaro toolchain for the ARM big endian architecture. It
  97. uses Linaro GCC 2016.02 (based on gcc 5.3), Linaro GDB
  98. 2016.02 (based on GDB 7.10), glibc 2.21, Binutils 2015.10
  99. (based on 2.25). It generates code that runs on all Cortex-A
  100. profile devices, but tuned for the Cortex-A9. The code
  101. generated is Thumb 2, with the hard floating point calling
  102. convention, and uses the VFPv3-D16 FPU instructions.
  103. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
  104. bool "Sourcery CodeBench ARM 2014.05"
  105. depends on BR2_arm
  106. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  107. depends on BR2_ARM_EABI
  108. depends on !BR2_STATIC_LIBS
  109. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  110. select BR2_TOOLCHAIN_HAS_SSP
  111. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  112. select BR2_INSTALL_LIBSTDCPP
  113. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  114. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  115. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  116. help
  117. Sourcery CodeBench toolchain for the ARM architecture, from
  118. Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
  119. 2.18 and gdb 7.7.50, kernel headers 3.13. It has support
  120. for the following variants:
  121. - ARMv5TE, little endian, soft-float, glibc
  122. Select ARM926T, ARM10T, XScale or another ARMv5 core
  123. Select BR2_SOFT_FLOAT
  124. - ARMv4T, little endian, soft-float, glibc
  125. Select ARM720T, ARM920T, ARM922T or another ARMv4 core
  126. Select BR2_SOFT_FLOAT
  127. - ARMv7-A, Thumb 2, little endian, soft-float, glibc
  128. Select Cortex-A8, Cortex-A9 or another ARMv7-A core
  129. Select BR2_SOFT_FLOAT
  130. Set BR2_TARGET_OPTIMIZATION to -mthumb
  131. comment "Sourcery CodeBench toolchains available for the EABI ABI"
  132. depends on BR2_arm
  133. depends on !BR2_ARM_EABI
  134. depends on !BR2_STATIC_LIBS
  135. config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
  136. bool "Arago ARMv7 2011.09"
  137. depends on BR2_arm
  138. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  139. depends on BR2_ARM_CPU_ARMV7A
  140. depends on BR2_ARM_EABI
  141. depends on BR2_ARM_CPU_HAS_VFPV3
  142. depends on !BR2_STATIC_LIBS
  143. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  144. select BR2_TOOLCHAIN_HAS_SSP
  145. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  146. select BR2_INSTALL_LIBSTDCPP
  147. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  148. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  149. # kernel headers: 2.6.31
  150. help
  151. Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
  152. binutils 2.20.1, glibc 2.12, gdb 7.2.
  153. This toolchain uses -mfloat-abi=softfp (i.e can use FPU
  154. instructions, but passes floating point function arguments
  155. in integer registers), and requires a VFPv3 floating point
  156. unit to work properly. This unit is available on most
  157. Cortex-A ARM processors, but not all.
  158. config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
  159. bool "Arago ARMv5 2011.09"
  160. depends on BR2_arm
  161. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  162. depends on !BR2_ARM_CPU_ARMV4
  163. depends on BR2_ARM_EABI
  164. depends on !BR2_STATIC_LIBS
  165. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  166. select BR2_TOOLCHAIN_HAS_SSP
  167. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  168. select BR2_INSTALL_LIBSTDCPP
  169. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  170. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  171. # kernel headers: 2.6.31
  172. help
  173. Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
  174. 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
  175. This toolchain uses software-floating point.
  176. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
  177. bool "Sourcery CodeBench MIPS 2016.05"
  178. depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
  179. depends on BR2_mips_32r2 || BR2_mips_64r2
  180. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  181. depends on !BR2_MIPS_NABI32
  182. depends on !BR2_STATIC_LIBS
  183. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  184. select BR2_TOOLCHAIN_HAS_SSP
  185. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  186. select BR2_INSTALL_LIBSTDCPP
  187. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  188. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  189. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  190. help
  191. Sourcery CodeBench toolchain for the MIPS architecture, from
  192. Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
  193. 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
  194. has support for the following variants:
  195. - MIPS32r2 - Big-Endian, 2008 NaN, O32
  196. Select MIPS (big endian) core
  197. Disable BR2_SOFT_FLOAT
  198. Set BR2_TARGET_OPTIMIZATION to -mnan=2008
  199. - MIPS32r2 - Big-Endian, O32
  200. Select MIPS (big endian) core
  201. Disable BR2_SOFT_FLOAT
  202. - MIPS32r2 - Big-Endian, O32, MIPS16
  203. Select MIPS (big endian) core
  204. Disable BR2_SOFT_FLOAT
  205. Set BR2_TARGET_OPTIMIZATION to -mips16
  206. - MIPS32r2 - Big-Endian, Soft-Float, O32
  207. Select MIPS (big endian) core
  208. Select BR2_SOFT_FLOAT
  209. - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
  210. Select MIPS (big endian) core
  211. Select BR2_SOFT_FLOAT
  212. Set BR2_TARGET_OPTIMIZATION to -mips16
  213. - MIPS32r2 - Little-Endian, 2008 NaN, O32
  214. Select MIPS (little endian) core
  215. Disable BR2_SOFT_FLOAT
  216. Set BR2_TARGET_OPTIMIZATION to -mnan=2008
  217. - MIPS32r2 - Little-Endian, O32
  218. Select MIPS (little endian) core
  219. Disable BR2_SOFT_FLOAT
  220. - MIPS32r2 - Little-Endian, O32, MIPS16
  221. Select MIPS (little endian) core
  222. Disable BR2_SOFT_FLOAT
  223. Set BR2_TARGET_OPTIMIZATION to -mips16
  224. - MIPS32r2 - Little-Endian, Soft-Float, O32
  225. Select MIPS (little endian) core
  226. Select BR2_SOFT_FLOAT
  227. - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
  228. Select MIPS (little endian) core
  229. Select BR2_SOFT_FLOAT
  230. Set BR2_TARGET_OPTIMIZATION to -mips16
  231. - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
  232. Select MIPS (little endian) core
  233. Select BR2_SOFT_FLOAT
  234. Set BR2_TARGET_OPTIMIZATION to -mmicromips
  235. - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
  236. Not usable in Buildroot yet.
  237. - MIPS32r2 - uClibc, Big-Endian, O32
  238. Not usable in Buildroot yet.
  239. - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
  240. Not usable in Buildroot yet.
  241. - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
  242. Not usable in Buildroot yet.
  243. - MIPS32r2 - uClibc, Little-Endian, O32
  244. Not usable in Buildroot yet.
  245. - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
  246. Not usable in Buildroot yet.
  247. - MIPS64r2 - Big-Endian, N64
  248. Select MIPS64 (big endian) core
  249. Select the n64 ABI
  250. Disable BR2_SOFT_FLOAT
  251. - MIPS64r2 - Big-Endian, Soft-Float, N64
  252. Select MIPS64 (big endian) core
  253. Select the n64 ABI
  254. Select BR2_SOFT_FLOAT
  255. - MIPS64r2 - Little-Endian, N64
  256. Select MIPS64 (little endian) core
  257. Select the n64 ABI
  258. Disable BR2_SOFT_FLOAT
  259. - MIPS64r2 - Little-Endian, Soft-Float, N64
  260. Select MIPS64 (little endian) core
  261. Select the n64 ABI
  262. Select BR2_SOFT_FLOAT
  263. comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
  264. depends on BR2_MIPS_NABI32
  265. depends on !BR2_STATIC_LIBS
  266. config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
  267. bool "Codescape IMG GNU Linux Toolchain 2016.05"
  268. depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
  269. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  270. depends on BR2_mips_32r6 || (BR2_mips_64r6 && !BR2_MIPS_SOFT_FLOAT)
  271. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  272. select BR2_INSTALL_LIBSTDCPP
  273. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  274. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  275. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  276. select BR2_TOOLCHAIN_HAS_FORTRAN
  277. help
  278. Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
  279. architecture, from Imagination Technologies. It uses gcc
  280. 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
  281. headers 4.0. It has support for the following variants:
  282. - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
  283. Select 'MIPS (big endian)' Target Architecture
  284. Select 'mips 32r6' Target Architecture Variant
  285. Disable 'Use soft-float'
  286. - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
  287. Select 'MIPS (big endian)' Target Architecture
  288. Select 'mips 32r6' Target Architecture Variant
  289. Enable 'Use soft-float'
  290. - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
  291. Select 'MIPS (little endian)' Target Architecture
  292. Select 'mips 32r6' Target Architecture Variant
  293. Disable 'Use soft-float'
  294. - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
  295. Select 'MIPS (little endian)' Target Architecture
  296. Select 'mips 32r6' Target Architecture Variant
  297. Enable 'Use soft-float'
  298. - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
  299. Select 'MIPS (little endian)' Target Architecture
  300. Select 'mips 32r6' Target Architecture Variant
  301. Disable 'Use soft-float'
  302. Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
  303. - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
  304. Select 'MIPS (little endian)' Target Architecture
  305. Select 'mips 32r6' Target Architecture Variant
  306. Enable 'Use soft-float'
  307. Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
  308. - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
  309. Select 'MIPS64 (big endian)' Target Architecture
  310. Select 'mips 64r6' Target Architecture Variant
  311. Select 'n32' Target ABI
  312. Disable 'Use soft-float'
  313. - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
  314. Select 'MIPS64 (little endian)' Target Architecture
  315. Select 'mips 64r6' Target Architecture Variant
  316. Select 'n32' Target ABI
  317. Disable 'Use soft-float'
  318. - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
  319. Select 'MIPS64 (big endian)' Target Architecture
  320. Select 'mips 64r6' Target Architecture Variant
  321. Select 'n64' Target ABI
  322. Disable 'Use soft-float'
  323. - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
  324. Select 'MIPS64 (little endian)' Target Architecture
  325. Select 'mips 64r6' Target Architecture Variant
  326. Select 'n64' Target ABI
  327. Disable 'Use soft-float'
  328. config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
  329. bool "Codescape MTI GNU Linux Toolchain 2016.05"
  330. depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
  331. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  332. depends on BR2_mips_32r2 || (BR2_mips_64r2 && !BR2_MIPS_SOFT_FLOAT)
  333. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  334. select BR2_INSTALL_LIBSTDCPP
  335. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  336. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  337. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  338. select BR2_TOOLCHAIN_HAS_FORTRAN
  339. help
  340. Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
  341. architecture, from Imagination Technologies. It uses gcc
  342. 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
  343. headers 4.0. It has support for the following variants:
  344. - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
  345. Select 'MIPS (big endian)' Target Architecture
  346. Select 'mips 32r2' Target Architecture Variant
  347. Disable 'Use soft-float'
  348. - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
  349. Select 'MIPS (big endian)' Target Architecture
  350. Select 'mips 32r2' Target Architecture Variant
  351. Disable 'Use soft-float'
  352. Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
  353. - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
  354. Select 'MIPS (big endian)' Target Architecture
  355. Select 'mips 32r2' Target Architecture Variant
  356. Enable 'Use soft-float'
  357. - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
  358. Select 'MIPS (little endian)' Target Architecture
  359. Select 'mips 32r2' Target Architecture Variant
  360. Disable 'Use soft-float'
  361. - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
  362. Select 'MIPS (little endian)' Target Architecture
  363. Select 'mips 32r2' Target Architecture Variant
  364. Disable 'Use soft-float'
  365. Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
  366. - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
  367. Select 'MIPS (little endian)' Target Architecture
  368. Select 'mips 32r2' Target Architecture Variant
  369. Enable 'Use soft-float'
  370. - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
  371. Select 'MIPS (little endian)' Target Architecture
  372. Select 'mips 32r2' Target Architecture Variant
  373. Enable 'Use soft-float'
  374. Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
  375. - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
  376. Select 'MIPS (little endian)' Target Architecture
  377. Select 'mips 32r2' Target Architecture Variant
  378. Disable 'Use soft-float'
  379. Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
  380. - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
  381. Select 'MIPS64 (big endian)' Target Architecture
  382. Select 'mips 64r2' Target Architecture Variant
  383. Select 'n32' Target ABI
  384. Disable 'Use soft-float'
  385. - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
  386. Select 'MIPS64 (little endian)' Target Architecture
  387. Select 'mips 64r2' Target Architecture Variant
  388. Select 'n32' Target ABI
  389. Disable 'Use soft-float'
  390. - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
  391. Select 'MIPS64 (big endian)' Target Architecture
  392. Select 'mips 64r2' Target Architecture Variant
  393. Select 'n64' Target ABI
  394. Disable 'Use soft-float'
  395. - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
  396. Select 'MIPS64 (little endian)' Target Architecture
  397. Select 'mips 64r2' Target Architecture Variant
  398. Select 'n64' Target ABI
  399. Disable 'Use soft-float'
  400. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
  401. bool "Sourcery CodeBench Nios-II 2016.05"
  402. depends on BR2_nios2
  403. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  404. depends on !BR2_STATIC_LIBS
  405. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  406. select BR2_TOOLCHAIN_HAS_SSP
  407. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  408. select BR2_INSTALL_LIBSTDCPP
  409. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  410. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  411. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  412. select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
  413. help
  414. Sourcery CodeBench toolchain for the Nios-II architecture,
  415. from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
  416. glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
  417. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
  418. bool "Sourcery CodeBench SH 2012.09"
  419. depends on BR2_sh4a || BR2_sh4aeb
  420. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  421. depends on !BR2_STATIC_LIBS
  422. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  423. select BR2_TOOLCHAIN_HAS_SSP
  424. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  425. select BR2_INSTALL_LIBSTDCPP
  426. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  427. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  428. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  429. help
  430. Sourcery CodeBench toolchain for the SuperH architecture,
  431. from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
  432. glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
  433. 3.5.4. It has support for the following variants:
  434. - SH4A, glibc, little endian
  435. Default.
  436. - SH4A, glibc, big endian
  437. Add -mb to BR2_TARGET_OPTIMIZATION
  438. - SH4A, uClibc, little endian
  439. Not usable in Buildroot yet.
  440. - SH4A, uClibc, big endian
  441. Not usable in Buildroot yet.
  442. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
  443. bool "Sourcery CodeBench AMD64 2015.11"
  444. depends on BR2_x86_64
  445. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  446. depends on !BR2_STATIC_LIBS
  447. depends on BR2_x86_jaguar || BR2_x86_steamroller
  448. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  449. select BR2_TOOLCHAIN_HAS_SSP
  450. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  451. select BR2_INSTALL_LIBSTDCPP
  452. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  453. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  454. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  455. help
  456. Sourcery CodeBench toolchain for the amd64 (x86_64)
  457. architectures, from Mentor Graphics. It uses gcc 5.2,
  458. binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
  459. 4.2. It has support for the following variants:
  460. - AMD Puma/Jaguar (family 16h), glibc
  461. Default for x86_64, nothing special to do.
  462. - AMD Steamroller (family 15h), glibc
  463. Select a steamroller core.
  464. No other architecture variants are supported since glibc
  465. is optimized for one of these two baselines.
  466. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
  467. bool "Sourcery CodeBench x86/x86_64 2012.09"
  468. depends on BR2_i386 || BR2_x86_64
  469. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  470. depends on !BR2_STATIC_LIBS
  471. depends on !BR2_x86_jaguar
  472. depends on !BR2_x86_steamroller
  473. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  474. select BR2_TOOLCHAIN_HAS_SSP
  475. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  476. select BR2_INSTALL_LIBSTDCPP
  477. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  478. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  479. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  480. help
  481. Sourcery CodeBench toolchain for the x86/x86_64
  482. architectures, from Mentor Graphics. It uses gcc 4.7.2,
  483. binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
  484. 3.5.4. It has support for the following variants:
  485. - Intel Pentium 4, glibc, 32 bits
  486. Default for x86, nothing special to do.
  487. - Intel Atom, glibc, 32 bits
  488. Select an Atom core
  489. - Intel Xeon, glibc, 64 bits
  490. Default for x86_64, nothing special to do.
  491. - Intel Core 2, glibc, 64 bits
  492. Select a Core 2 core
  493. Other architecture variants (beyond Pentium-4/Xeon) are
  494. supported as well, but glibc is not optimised for it.
  495. config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
  496. bool "Blackfin.uclinux.org 2014R1"
  497. depends on BR2_bfin
  498. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  499. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  500. select BR2_INSTALL_LIBSTDCPP
  501. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  502. select BR2_USE_WCHAR
  503. select BR2_TOOLCHAIN_HAS_THREADS
  504. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  505. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  506. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  507. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  508. select BR2_TOOLCHAIN_HAS_FORTRAN
  509. help
  510. Toolchain for the Blackfin architecture, from
  511. http://blackfin.uclinux.org.
  512. # See note about Linaro ARM/ARMEB toolchains, above.
  513. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  514. bool "Linaro AArch64 14.09"
  515. depends on BR2_aarch64
  516. depends on BR2_HOSTARCH = "x86"
  517. depends on !BR2_STATIC_LIBS
  518. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  519. select BR2_TOOLCHAIN_HAS_SSP
  520. select BR2_INSTALL_LIBSTDCPP
  521. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  522. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  523. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  524. select BR2_TOOLCHAIN_HAS_FORTRAN
  525. help
  526. Toolchain for the AArch64 architecture, from
  527. http://www.linaro.org/engineering/armv8/
  528. # See note about Linaro ARM/ARMEB toolchains, above.
  529. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  530. bool "Linaro AArch64 2016.02"
  531. depends on BR2_aarch64
  532. depends on BR2_HOSTARCH = "x86_64"
  533. depends on !BR2_STATIC_LIBS
  534. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  535. select BR2_TOOLCHAIN_HAS_SSP
  536. select BR2_INSTALL_LIBSTDCPP
  537. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  538. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  539. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  540. select BR2_TOOLCHAIN_HAS_FORTRAN
  541. help
  542. Toolchain for the AArch64 architecture, from
  543. http://www.linaro.org/engineering/armv8/
  544. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
  545. bool "CodeSourcery AArch64 2014.11"
  546. depends on BR2_aarch64
  547. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  548. depends on !BR2_STATIC_LIBS
  549. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  550. select BR2_TOOLCHAIN_HAS_SSP
  551. select BR2_INSTALL_LIBSTDCPP
  552. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  553. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  554. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  555. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  556. help
  557. Sourcery CodeBench toolchain for the AArch64 architecture,
  558. from Mentor Graphics. It uses gcc 4.9.1, binutils
  559. 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
  560. 3.16.2.
  561. config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
  562. bool "Musl 1.1.12 toolchain"
  563. depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
  564. (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
  565. (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
  566. BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
  567. BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
  568. BR2_sh4 || BR2_sh4eb || \
  569. BR2_x86_64
  570. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  571. # Unsupported for MIPS R6
  572. depends on !BR2_mips_32r6 && !BR2_mips_64r6
  573. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  574. select BR2_TOOLCHAIN_HAS_SSP
  575. select BR2_INSTALL_LIBSTDCPP
  576. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  577. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  578. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  579. help
  580. Toolchain based on the Musl C library, provided by the
  581. musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
  582. musl 1.1.12. It does not have a cross debugger included.
  583. The ARM soft-float toolchain is built for ARMv4t, while the
  584. ARM hard-float toolchain is built for ARMv5t.
  585. The x86 toolchain is built for i486.
  586. http://musl.codu.org/
  587. config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
  588. bool "Synopsys ARC 2014.12 toolchain"
  589. depends on BR2_arc
  590. depends on BR2_HOSTARCH = "x86_64"
  591. # does not provide IPv6, and lacks many uClibc features
  592. # expected by Buildroot. The next Synopsys toolchain version
  593. # should fix those problems.
  594. depends on BROKEN
  595. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  596. select BR2_INSTALL_LIBSTDCPP
  597. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  598. select BR2_ENABLE_LOCALE
  599. select BR2_USE_WCHAR
  600. select BR2_TOOLCHAIN_HAS_THREADS
  601. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  602. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  603. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  604. help
  605. Toolchain for the ARC cores, from
  606. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
  607. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  608. bool "Custom toolchain"
  609. help
  610. Use this option to use a custom toolchain pre-installed on
  611. your system.
  612. endchoice
  613. choice
  614. prompt "Toolchain origin"
  615. # Keep compatibility with old defconfig files that are using
  616. # custom toolchains, and which are therefore assuming that
  617. # "preinstalled" in the default choice.
  618. default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  619. config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  620. bool "Toolchain to be downloaded and installed"
  621. help
  622. Select this option if you want Buildroot to download and install the
  623. toolchain. If you have selected a custom toolchain, specify the URL
  624. in BR2_TOOLCHAIN_EXTERNAL_URL.
  625. config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
  626. bool "Pre-installed toolchain"
  627. help
  628. Select this option if you want to use a pre-installed toolchain.
  629. Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
  630. endchoice
  631. config BR2_TOOLCHAIN_EXTERNAL_PATH
  632. string "Toolchain path"
  633. default "/path/to/toolchain/usr"
  634. depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
  635. help
  636. Path to where the external toolchain is installed.
  637. config BR2_TOOLCHAIN_EXTERNAL_URL
  638. string "Toolchain URL"
  639. depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  640. help
  641. URL of the custom toolchain tarball to download and install.
  642. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
  643. string "Toolchain prefix"
  644. depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  645. default "$(ARCH)-linux"
  646. config BR2_TOOLCHAIN_EXTERNAL_PREFIX
  647. string
  648. default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
  649. default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
  650. default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
  651. default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
  652. default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
  653. default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
  654. default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
  655. default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  656. default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
  657. default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
  658. default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
  659. default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
  660. default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
  661. default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
  662. default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
  663. default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
  664. default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
  665. default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
  666. default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
  667. default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
  668. default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
  669. default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
  670. default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
  671. default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
  672. default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
  673. default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
  674. default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
  675. default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
  676. default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
  677. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
  678. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  679. config BR2_TOOLCHAIN_EXTERNAL_GLIBC
  680. bool
  681. select BR2_TOOLCHAIN_USES_GLIBC
  682. config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  683. bool
  684. select BR2_TOOLCHAIN_USES_UCLIBC
  685. config BR2_TOOLCHAIN_EXTERNAL_MUSL
  686. bool
  687. select BR2_TOOLCHAIN_USES_MUSL
  688. # Compatibility headers: cdefs.h, queue.h
  689. select BR2_PACKAGE_MUSL_COMPAT_HEADERS
  690. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  691. choice
  692. bool "External toolchain gcc version"
  693. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  694. help
  695. Set to the gcc version that is used by your external
  696. toolchain.
  697. config BR2_TOOLCHAIN_EXTERNAL_GCC_6
  698. bool "6.x"
  699. select BR2_TOOLCHAIN_GCC_AT_LEAST_6
  700. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  701. bool "5.x"
  702. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  703. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  704. bool "4.9.x"
  705. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  706. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  707. bool "4.8.x"
  708. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  709. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  710. bool "4.7.x"
  711. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  712. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  713. bool "4.6.x"
  714. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  715. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  716. bool "4.5.x"
  717. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  718. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  719. bool "4.4.x"
  720. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  721. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  722. bool "4.3.x"
  723. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  724. endchoice
  725. choice
  726. bool "External toolchain kernel headers series"
  727. default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  728. help
  729. Set to the kernel headers version that were used to build
  730. this external toolchain.
  731. This is used to hide/show some packages that have strict
  732. requirements on the version of kernel headers.
  733. If unsure what version your toolchain is using, you can look
  734. at the value of LINUX_VERSION_CODE in linux/version.h in your
  735. toolchain. The Linux version is M.m.p, with:
  736. M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
  737. m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
  738. p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
  739. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  740. bool "4.7.x"
  741. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  742. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  743. bool "4.6.x"
  744. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  745. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  746. bool "4.5.x"
  747. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  748. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  749. bool "4.4.x"
  750. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  751. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  752. bool "4.3.x"
  753. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  754. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  755. bool "4.2.x"
  756. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  757. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  758. bool "4.1.x"
  759. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  760. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  761. bool "4.0.x"
  762. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  763. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  764. bool "3.19.x"
  765. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  766. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  767. bool "3.18.x"
  768. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  769. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  770. bool "3.17.x"
  771. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  772. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  773. bool "3.16.x"
  774. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  775. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  776. bool "3.15.x"
  777. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  778. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  779. bool "3.14.x"
  780. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  781. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  782. bool "3.13.x"
  783. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  784. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  785. bool "3.12.x"
  786. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  787. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  788. bool "3.11.x"
  789. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  790. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  791. bool "3.10.x"
  792. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  793. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  794. bool "3.9.x"
  795. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  796. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  797. bool "3.8.x"
  798. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  799. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  800. bool "3.7.x"
  801. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  802. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  803. bool "3.6.x"
  804. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  805. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  806. bool "3.5.x"
  807. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  808. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  809. bool "3.4.x"
  810. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  811. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  812. bool "3.3.x"
  813. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  814. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  815. bool "3.2.x"
  816. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  817. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  818. bool "3.1.x"
  819. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  820. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  821. bool "3.0.x"
  822. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  823. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  824. bool "2.6.x"
  825. endchoice
  826. choice
  827. prompt "External toolchain C library"
  828. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  829. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  830. bool "uClibc"
  831. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  832. # For the time being, we assume that all custom external
  833. # toolchains have shadow password support.
  834. select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
  835. help
  836. Select this option if your external toolchain uses the
  837. uClibc C library (available from http://www.uclibc.org/).
  838. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  839. bool "glibc/eglibc"
  840. depends on !BR2_STATIC_LIBS
  841. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  842. help
  843. Select this option if your external toolchain uses the GNU C
  844. library (available from https://www.gnu.org/software/libc/)
  845. or its variant the eglibc library (http://www.eglibc.org/).
  846. Note: eglibc is a variant of glibc that (among other things)
  847. can be configured to exclude some of its features. Using a
  848. toolchain with eglibc configured to exclude key features may
  849. cause build failures to some packages.
  850. comment "glibc only available with shared lib support"
  851. depends on BR2_STATIC_LIBS
  852. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  853. bool "musl"
  854. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  855. help
  856. Select this option if your external toolchain uses the
  857. 'musl' C library, available from http://www.musl-libc.org/.
  858. endchoice
  859. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  860. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  861. bool "Toolchain has WCHAR support?"
  862. select BR2_USE_WCHAR
  863. help
  864. Select this option if your external toolchain supports
  865. WCHAR. If you don't know, leave the default value, Buildroot
  866. will tell you if it's correct or not.
  867. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  868. bool "Toolchain has locale support?"
  869. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  870. select BR2_ENABLE_LOCALE
  871. help
  872. Select this option if your external toolchain has locale
  873. support. If you don't know, leave the default value,
  874. Buildroot will tell you if it's correct or not.
  875. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  876. bool "Toolchain has threads support?"
  877. select BR2_TOOLCHAIN_HAS_THREADS
  878. default y
  879. help
  880. Select this option if your external toolchain has thread
  881. support. If you don't know, leave the default value,
  882. Buildroot will tell you if it's correct or not.
  883. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  884. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  885. bool "Toolchain has threads debugging support?"
  886. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  887. default y
  888. help
  889. Select this option if your external toolchain has thread
  890. debugging support. If you don't know, leave the default
  891. value, Buildroot will tell you if it's correct or not.
  892. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  893. bool "Toolchain has NPTL threads support?"
  894. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  895. default y
  896. help
  897. Select this option if your external toolchain uses the NPTL
  898. (Native Posix Thread Library) implementation of Posix
  899. threads. If you don't know, leave the default value,
  900. Buildroot will tell you if it's correct or not.
  901. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  902. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  903. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  904. bool "Toolchain has SSP support?"
  905. select BR2_TOOLCHAIN_HAS_SSP
  906. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  907. default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
  908. help
  909. Selection this option if your external toolchain has Stack
  910. Smashing Protection support enabled. If you don't know,
  911. leave the default value, Buildroot will tell you if it's
  912. correct or not.
  913. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  914. bool "Toolchain has RPC support?"
  915. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  916. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  917. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  918. help
  919. Select this option if your external toolchain supports
  920. RPC. If you don't know, leave the default value, Buildroot
  921. will tell you if it's correct or not.
  922. config BR2_TOOLCHAIN_EXTERNAL_CXX
  923. bool "Toolchain has C++ support?"
  924. select BR2_INSTALL_LIBSTDCPP
  925. help
  926. Select this option if your external toolchain has C++
  927. support. If you don't know, leave the default value,
  928. Buildroot will tell you if it's correct or not.
  929. config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
  930. bool "Toolchain has Fortran support?"
  931. select BR2_TOOLCHAIN_HAS_FORTRAN
  932. help
  933. Select this option if your external toolchain has Fortran
  934. support. If you don't know, leave the default value,
  935. Buildroot will tell you if it's correct or not.
  936. config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
  937. string "Extra toolchain libraries to be copied to target"
  938. help
  939. If your external toolchain provides extra libraries that
  940. need to be copied to the target filesystem, enter them
  941. here, separated by spaces.
  942. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  943. config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
  944. bool "Copy gdb server to the Target"
  945. depends on BR2_TOOLCHAIN_EXTERNAL
  946. help
  947. Copy the gdbserver provided by the external toolchain to the
  948. target.
  949. # When the FDPIC shared binary format is used, the corresponding libraries are
  950. # always installed. When a different binary format is used, we offer the option
  951. # of installing the FDPIC shared libraries.
  952. config BR2_BFIN_INSTALL_FDPIC_SHARED
  953. bool "Install FDPIC shared libraries"
  954. depends on BR2_bfin && !BR2_BINFMT_FDPIC
  955. help
  956. The Linux kernel supports running both FDPIC and FLAT applications
  957. concurrently if the binary format specific libraries are installed
  958. properly. This option allows developer to install FDPIC libraries
  959. into a buildroot rootfs image built with binary format that is not
  960. FDPIC.
  961. # When the FLAT shared binary format is used, we force the installation
  962. # of the corresponding libraries. When a different binary format is
  963. # used, we offer the option of installing the FLAT shared libraries.
  964. config BR2_BFIN_INSTALL_FLAT_SHARED
  965. bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
  966. depends on BR2_bfin
  967. default y if BR2_BINFMT_FLAT_SHARED
  968. help
  969. The Linux kernel supports running both FDPIC and FLAT applications
  970. concurrently if the binary format specific libraries are installed
  971. properly. This option allows developer to install FLAT libraries
  972. into a buildroot rootfs image built with binary format that is not
  973. shared FLAT.
  974. endif # BR2_TOOLCHAIN_EXTERNAL