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. help
  399. Sourcery CodeBench toolchain for the Nios-II architecture,
  400. from Mentor Graphics. It uses gcc 5.2, binutils 2.25.51,
  401. glibc 2.22, gdb 7.10.50 and kernel headers 4.2.
  402. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2
  403. bool "Sourcery CodeBench PowerPC 2012.03 (e500v2 only)"
  404. depends on BR2_powerpc
  405. depends on BR2_powerpc_8548 # e500v2 support only
  406. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  407. depends on !BR2_STATIC_LIBS
  408. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  409. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  410. select BR2_INSTALL_LIBSTDCPP
  411. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  412. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  413. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  414. help
  415. Sourcery CodeBench toolchain for the PowerPC architecture,
  416. from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
  417. glibc 2.15, gdb 7.2.50 and kernel headers 3.2.10. It has
  418. support for the following variants:
  419. - e500v2 glibc, SPE, 32 bits
  420. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
  421. bool "Sourcery CodeBench PowerPC 2011.03"
  422. depends on BR2_powerpc
  423. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  424. depends on !BR2_STATIC_LIBS
  425. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  426. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  427. select BR2_INSTALL_LIBSTDCPP
  428. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  429. # kernel headers: 2.6.38
  430. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  431. help
  432. Sourcery CodeBench toolchain for the PowerPC architecture,
  433. from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
  434. glibc 2.13, gdb 7.2.50 and kernel headers 2.6.38. It has
  435. support for the following variants:
  436. - 603 glibc, 32 bits
  437. Select a generic PowerPC core
  438. Disable BR2_SOFT_FLOAT
  439. - 603 soft float glibc, 32 bits
  440. Select a generic PowerPC core
  441. Enable BR2_SOFT_FLOAT
  442. - e600 altivec glibc, 32 bits
  443. Set BR2_TARGET_OPTIMIZATION to -te600
  444. - e500v1 glibc, 32 bits
  445. Set BR2_TARGET_OPTIMIZATION to -te500v1
  446. - e500v2 glibc, 32 bits
  447. Set BR2_TARGET_OPTIMIZATION to -te500v2
  448. - e500mc glibc, 32 bits
  449. Set BR2_TARGET_OPTIMIZATION to -te500mc
  450. - 970 glibc hard-float, 64 bits
  451. Set BR2_TARGET_OPTIMIZATION to -m64
  452. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
  453. bool "Sourcery CodeBench SH 2012.09"
  454. depends on BR2_sh4a || BR2_sh4aeb
  455. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  456. depends on !BR2_STATIC_LIBS
  457. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  458. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  459. select BR2_INSTALL_LIBSTDCPP
  460. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  461. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  462. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  463. help
  464. Sourcery CodeBench toolchain for the SuperH architecture,
  465. from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
  466. glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
  467. 3.5.4. It has support for the following variants:
  468. - SH4A, glibc, little endian
  469. Default.
  470. - SH4A, glibc, big endian
  471. Add -mb to BR2_TARGET_OPTIMIZATION
  472. - SH4A, uClibc, little endian
  473. Not usable in Buildroot yet.
  474. - SH4A, uClibc, big endian
  475. Not usable in Buildroot yet.
  476. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
  477. bool "Sourcery CodeBench AMD64 2015.11"
  478. depends on BR2_x86_64
  479. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  480. depends on !BR2_STATIC_LIBS
  481. depends on BR2_x86_jaguar || BR2_x86_steamroller
  482. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  483. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  484. select BR2_INSTALL_LIBSTDCPP
  485. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  486. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  487. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  488. help
  489. Sourcery CodeBench toolchain for the amd64 (x86_64)
  490. architectures, from Mentor Graphics. It uses gcc 5.2,
  491. binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
  492. 4.2. It has support for the following variants:
  493. - AMD Puma/Jaguar (family 16h), glibc
  494. Default for x86_64, nothing special to do.
  495. - AMD Steamroller (family 15h), glibc
  496. Select a steamroller core.
  497. No other architecture variants are supported since glibc
  498. is optimized for one of these two baselines.
  499. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
  500. bool "Sourcery CodeBench x86/x86_64 2012.09"
  501. depends on BR2_i386 || BR2_x86_64
  502. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  503. depends on !BR2_STATIC_LIBS
  504. depends on !BR2_x86_jaguar
  505. depends on !BR2_x86_steamroller
  506. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  507. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  508. select BR2_INSTALL_LIBSTDCPP
  509. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  510. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  511. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  512. help
  513. Sourcery CodeBench toolchain for the x86/x86_64
  514. architectures, from Mentor Graphics. It uses gcc 4.7.2,
  515. binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
  516. 3.5.4. It has support for the following variants:
  517. - Intel Pentium 4, glibc, 32 bits
  518. Default for x86, nothing special to do.
  519. - Intel Atom, glibc, 32 bits
  520. Select an Atom core
  521. - Intel Xeon, glibc, 64 bits
  522. Default for x86_64, nothing special to do.
  523. - Intel Core 2, glibc, 64 bits
  524. Select a Core 2 core
  525. Other architecture variants (beyond Pentium-4/Xeon) are
  526. supported as well, but glibc is not optimised for it.
  527. config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
  528. bool "Blackfin.uclinux.org 2014R1"
  529. depends on BR2_bfin
  530. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  531. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  532. select BR2_INSTALL_LIBSTDCPP
  533. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  534. select BR2_USE_WCHAR
  535. select BR2_TOOLCHAIN_HAS_THREADS
  536. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  537. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  538. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  539. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  540. help
  541. Toolchain for the Blackfin architecture, from
  542. http://blackfin.uclinux.org.
  543. # See note about Linaro ARM/ARMEB toolchains, above.
  544. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  545. bool "Linaro AArch64 14.09"
  546. depends on BR2_aarch64
  547. depends on BR2_HOSTARCH = "x86"
  548. depends on !BR2_STATIC_LIBS
  549. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  550. select BR2_INSTALL_LIBSTDCPP
  551. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  552. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  553. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  554. help
  555. Toolchain for the AArch64 architecture, from
  556. http://www.linaro.org/engineering/armv8/
  557. # See note about Linaro ARM/ARMEB toolchains, above.
  558. config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  559. bool "Linaro AArch64 2015.11"
  560. depends on BR2_aarch64
  561. depends on BR2_HOSTARCH = "x86_64"
  562. depends on !BR2_STATIC_LIBS
  563. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  564. select BR2_INSTALL_LIBSTDCPP
  565. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  566. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  567. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  568. help
  569. Toolchain for the AArch64 architecture, from
  570. http://www.linaro.org/engineering/armv8/
  571. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
  572. bool "CodeSourcery AArch64 2014.05"
  573. depends on BR2_aarch64
  574. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  575. depends on !BR2_STATIC_LIBS
  576. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  577. select BR2_INSTALL_LIBSTDCPP
  578. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  579. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  580. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  581. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  582. help
  583. Sourcery CodeBench toolchain for the AArch64 architecture,
  584. from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24,
  585. glibc 2.18, gdb 7.7.50 and kernel headers 3.13.
  586. config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
  587. bool "Musl 1.1.12 toolchain (experimental)"
  588. depends on (BR2_arm && BR2_ARM_EABI) || \
  589. (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \
  590. (BR2_armeb && BR2_ARM_EABI) || BR2_i386 || \
  591. (BR2_mips && !BR2_SOFT_FLOAT) || \
  592. BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
  593. BR2_sh4 || BR2_sh4eb || \
  594. BR2_x86_64
  595. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  596. # Unsupported for MIPS R6
  597. depends on !BR2_mips_32r6 && !BR2_mips_64r6
  598. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  599. select BR2_INSTALL_LIBSTDCPP
  600. select BR2_HOSTARCH_NEEDS_IA32_LIBS
  601. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  602. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  603. help
  604. Toolchain based on the Musl C library, provided by the
  605. musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
  606. musl 1.1.12. It does not have a cross debugger included.
  607. The ARM soft-float toolchain is built for ARMv4t, while the
  608. ARM hard-float toolchain is built for ARMv5t.
  609. The x86 toolchain is built for i486.
  610. http://musl.codu.org/
  611. config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
  612. bool "Synopsys ARC 2014.12 toolchain"
  613. depends on BR2_arc
  614. depends on BR2_HOSTARCH = "x86_64"
  615. # does not provide IPv6, and lacks many uClibc features
  616. # expected by Buildroot. The next Synopsys toolchain version
  617. # should fix those problems.
  618. depends on BROKEN
  619. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  620. select BR2_INSTALL_LIBSTDCPP
  621. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  622. select BR2_ENABLE_LOCALE
  623. select BR2_USE_WCHAR
  624. select BR2_TOOLCHAIN_HAS_THREADS
  625. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  626. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  627. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  628. help
  629. Toolchain for the ARC cores, from
  630. https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
  631. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  632. bool "Custom toolchain"
  633. help
  634. Use this option to use a custom toolchain pre-installed on
  635. your system.
  636. endchoice
  637. choice
  638. prompt "Toolchain origin"
  639. # Keep compatibility with old defconfig files that are using
  640. # custom toolchains, and which are therefore assuming that
  641. # "preinstalled" in the default choice.
  642. default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  643. config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  644. bool "Toolchain to be downloaded and installed"
  645. help
  646. Select this option if you want Buildroot to download and install the
  647. toolchain. If you have selected a custom toolchain, specify the URL
  648. in BR2_TOOLCHAIN_EXTERNAL_URL.
  649. config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
  650. bool "Pre-installed toolchain"
  651. help
  652. Select this option if you want to use a pre-installed toolchain.
  653. Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
  654. endchoice
  655. config BR2_TOOLCHAIN_EXTERNAL_PATH
  656. string "Toolchain path"
  657. default "/path/to/toolchain/usr"
  658. depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
  659. help
  660. Path to where the external toolchain is installed.
  661. config BR2_TOOLCHAIN_EXTERNAL_URL
  662. string "Toolchain URL"
  663. depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  664. help
  665. URL of the custom toolchain tarball to download and install.
  666. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
  667. string "Toolchain prefix"
  668. depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  669. default "$(ARCH)-linux"
  670. config BR2_TOOLCHAIN_EXTERNAL_PREFIX
  671. string
  672. default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
  673. default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
  674. default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
  675. default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
  676. default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
  677. default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
  678. default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
  679. default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
  680. default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
  681. default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
  682. default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
  683. default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
  684. default "powerpc-mentor-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2
  685. default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
  686. default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
  687. default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
  688. default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
  689. default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
  690. default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
  691. default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
  692. default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
  693. default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
  694. default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
  695. default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
  696. default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
  697. default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
  698. default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
  699. default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
  700. default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
  701. default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
  702. default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
  703. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
  704. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  705. config BR2_TOOLCHAIN_EXTERNAL_GLIBC
  706. bool
  707. select BR2_TOOLCHAIN_USES_GLIBC
  708. config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  709. bool
  710. select BR2_TOOLCHAIN_USES_UCLIBC
  711. config BR2_TOOLCHAIN_EXTERNAL_MUSL
  712. bool
  713. select BR2_TOOLCHAIN_USES_MUSL
  714. select BR2_PACKAGE_NETBSD_QUEUE
  715. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  716. choice
  717. bool "External toolchain gcc version"
  718. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  719. help
  720. Set to the gcc version that is used by your external
  721. toolchain.
  722. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  723. bool "5.x"
  724. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  725. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  726. bool "4.9.x"
  727. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  728. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  729. bool "4.8.x"
  730. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  731. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  732. bool "4.7.x"
  733. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  734. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  735. bool "4.6.x"
  736. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  737. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  738. bool "4.5.x"
  739. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  740. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  741. bool "4.4.x"
  742. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  743. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  744. bool "4.3.x"
  745. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  746. endchoice
  747. choice
  748. bool "External toolchain kernel headers series"
  749. default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  750. help
  751. Set to the kernel headers version that were used to build
  752. this external toolchain.
  753. This is used to hide/show some packages that have strict
  754. requirements on the version of kernel headers.
  755. If unsure what version your toolchain is using, you can look
  756. at the value of LINUX_VERSION_CODE in linux/version.h in your
  757. toolchain. The Linux version is M.m.p, with:
  758. M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
  759. m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
  760. p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
  761. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  762. bool "4.5.x"
  763. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  764. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  765. bool "4.4.x"
  766. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  767. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  768. bool "4.3.x"
  769. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  770. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  771. bool "4.2.x"
  772. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  773. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  774. bool "4.1.x"
  775. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  776. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  777. bool "4.0.x"
  778. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  779. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  780. bool "3.19.x"
  781. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  782. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  783. bool "3.18.x"
  784. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  785. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  786. bool "3.17.x"
  787. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  788. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  789. bool "3.16.x"
  790. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  791. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  792. bool "3.15.x"
  793. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  794. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  795. bool "3.14.x"
  796. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  797. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  798. bool "3.13.x"
  799. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  800. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  801. bool "3.12.x"
  802. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  803. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  804. bool "3.11.x"
  805. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  806. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  807. bool "3.10.x"
  808. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  809. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  810. bool "3.9.x"
  811. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  812. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  813. bool "3.8.x"
  814. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  815. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  816. bool "3.7.x"
  817. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  818. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  819. bool "3.6.x"
  820. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  821. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  822. bool "3.5.x"
  823. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  824. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  825. bool "3.4.x"
  826. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  827. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  828. bool "3.3.x"
  829. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  830. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  831. bool "3.2.x"
  832. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  833. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  834. bool "3.1.x"
  835. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  836. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  837. bool "3.0.x"
  838. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  839. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  840. bool "2.6.x"
  841. endchoice
  842. choice
  843. prompt "External toolchain C library"
  844. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  845. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  846. bool "uClibc"
  847. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  848. # For the time being, we assume that all custom external
  849. # toolchains have shadow password support.
  850. select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
  851. help
  852. Select this option if your external toolchain uses the
  853. uClibc C library (available from http://www.uclibc.org/).
  854. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  855. bool "glibc/eglibc"
  856. depends on !BR2_STATIC_LIBS
  857. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  858. help
  859. Select this option if your external toolchain uses the GNU C
  860. library (available from https://www.gnu.org/software/libc/)
  861. or its variant the eglibc library (http://www.eglibc.org/).
  862. Note: eglibc is a variant of glibc that (among other things)
  863. can be configured to exclude some of its features. Using a
  864. toolchain with eglibc configured to exclude key features may
  865. cause build failures to some packages.
  866. comment "(e)glibc only available with shared lib support"
  867. depends on BR2_STATIC_LIBS
  868. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  869. bool "musl (experimental)"
  870. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  871. help
  872. Select this option if your external toolchain uses the
  873. 'musl' C library, available from http://www.musl-libc.org/.
  874. endchoice
  875. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  876. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  877. bool "Toolchain has WCHAR support?"
  878. select BR2_USE_WCHAR
  879. help
  880. Select this option if your external toolchain supports
  881. WCHAR. If you don't know, leave the default value, Buildroot
  882. will tell you if it's correct or not.
  883. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  884. bool "Toolchain has locale support?"
  885. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  886. select BR2_ENABLE_LOCALE
  887. help
  888. Select this option if your external toolchain has locale
  889. support. If you don't know, leave the default value,
  890. Buildroot will tell you if it's correct or not.
  891. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  892. bool "Toolchain has threads support?"
  893. select BR2_TOOLCHAIN_HAS_THREADS
  894. default y
  895. help
  896. Select this option if your external toolchain has thread
  897. support. If you don't know, leave the default value,
  898. Buildroot will tell you if it's correct or not.
  899. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  900. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  901. bool "Toolchain has threads debugging support?"
  902. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  903. default y
  904. help
  905. Select this option if your external toolchain has thread
  906. debugging support. If you don't know, leave the default
  907. value, Buildroot will tell you if it's correct or not.
  908. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  909. bool "Toolchain has NPTL threads support?"
  910. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  911. default y
  912. help
  913. Select this option if your external toolchain uses the NPTL
  914. (Native Posix Thread Library) implementation of Posix
  915. threads. If you don't know, leave the default value,
  916. Buildroot will tell you if it's correct or not.
  917. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  918. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  919. bool "Toolchain has SSP support?"
  920. select BR2_TOOLCHAIN_HAS_SSP
  921. help
  922. Selection this option if your external toolchain has Stack
  923. Smashing Protection support enabled. If you don't know,
  924. leave the default value, Buildroot will tell you if it's
  925. correct or not.
  926. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  927. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  928. bool "Toolchain has RPC support?"
  929. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  930. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  931. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  932. help
  933. Select this option if your external toolchain supports
  934. RPC. If you don't know, leave the default value, Buildroot
  935. will tell you if it's correct or not.
  936. config BR2_TOOLCHAIN_EXTERNAL_CXX
  937. bool "Toolchain has C++ support?"
  938. select BR2_INSTALL_LIBSTDCPP
  939. help
  940. Select this option if your external toolchain has C++
  941. support. If you don't know, leave the default value,
  942. Buildroot will tell you if it's correct or not.
  943. config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
  944. string "Extra toolchain libraries to be copied to target"
  945. help
  946. If your external toolchain provides extra libraries that
  947. need to be copied to the target filesystem, enter them
  948. here, separated by spaces. They will be copied to the
  949. target's /lib directory.
  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