Config.in 40 KB

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