2
1

Config.in.options 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
  2. config BR2_TOOLCHAIN_EXTERNAL_PREFIX
  3. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
  4. config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
  5. default "toolchain-external-custom"
  6. config BR2_TOOLCHAIN_EXTERNAL_URL
  7. string "Toolchain URL"
  8. depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  9. help
  10. URL of the custom toolchain tarball to download and install.
  11. config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH
  12. string "Toolchain relative binary path"
  13. default "bin"
  14. depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
  15. help
  16. Path to where the binaries (e.g. the compiler) can be found,
  17. relative to the downloaded toolchain root directory. The
  18. default is "bin" and is correct for most toolchains.
  19. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
  20. string "Toolchain prefix"
  21. default "$(ARCH)-linux"
  22. choice
  23. bool "External toolchain gcc version"
  24. default BR2_TOOLCHAIN_EXTERNAL_GCC_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  25. default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  26. default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  27. default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  28. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  29. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  30. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  31. help
  32. Set to the gcc version that is used by your external
  33. toolchain.
  34. config BR2_TOOLCHAIN_EXTERNAL_GCC_8
  35. bool "8.x"
  36. select BR2_TOOLCHAIN_GCC_AT_LEAST_8
  37. config BR2_TOOLCHAIN_EXTERNAL_GCC_7
  38. bool "7.x"
  39. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  40. select BR2_TOOLCHAIN_GCC_AT_LEAST_7
  41. config BR2_TOOLCHAIN_EXTERNAL_GCC_6
  42. bool "6.x"
  43. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  44. select BR2_TOOLCHAIN_GCC_AT_LEAST_6
  45. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  46. bool "5.x"
  47. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  48. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  49. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  50. bool "4.9.x"
  51. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  52. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  53. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  54. bool "4.8.x"
  55. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  56. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  57. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  58. bool "4.7.x"
  59. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  60. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  61. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  62. bool "4.6.x"
  63. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  64. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  65. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  66. bool "4.5.x"
  67. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  68. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  69. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  70. bool "4.4.x"
  71. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  72. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  73. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  74. bool "4.3.x"
  75. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  76. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  77. config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
  78. bool "older"
  79. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  80. help
  81. Use this option if your GCC version is older than any of the
  82. above.
  83. Note that the Buildroot community doesn't do any testing with
  84. such old toolchains. Some packages may fail to build in
  85. surprising ways, or the generated root filesystem may not
  86. work at all. Use such old toolchains at your own risk.
  87. endchoice
  88. choice
  89. bool "External toolchain kernel headers series"
  90. default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  91. help
  92. Set to the kernel headers version that were used to build
  93. this external toolchain.
  94. This is used to hide/show some packages that have strict
  95. requirements on the version of kernel headers.
  96. If unsure what version your toolchain is using, you can look
  97. at the value of LINUX_VERSION_CODE in linux/version.h in your
  98. toolchain. The Linux version is M.m.p, with:
  99. M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
  100. m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
  101. p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
  102. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
  103. bool "4.18.x"
  104. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
  105. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
  106. bool "4.17.x"
  107. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
  108. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
  109. bool "4.16.x"
  110. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
  111. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
  112. bool "4.15.x"
  113. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
  114. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
  115. bool "4.14.x"
  116. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
  117. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
  118. bool "4.13.x"
  119. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
  120. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
  121. bool "4.12.x"
  122. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
  123. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
  124. bool "4.11.x"
  125. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
  126. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
  127. bool "4.10.x"
  128. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
  129. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
  130. bool "4.9.x"
  131. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
  132. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
  133. bool "4.8.x"
  134. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
  135. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  136. bool "4.7.x"
  137. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  138. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  139. bool "4.6.x"
  140. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  141. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  142. bool "4.5.x"
  143. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  144. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  145. bool "4.4.x"
  146. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  147. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  148. bool "4.3.x"
  149. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  150. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  151. bool "4.2.x"
  152. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  153. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  154. bool "4.1.x"
  155. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  156. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  157. bool "4.0.x"
  158. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  159. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  160. bool "3.19.x"
  161. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  162. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  163. bool "3.18.x"
  164. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  165. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  166. bool "3.17.x"
  167. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  168. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  169. bool "3.16.x"
  170. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  171. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  172. bool "3.15.x"
  173. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  174. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  175. bool "3.14.x"
  176. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  177. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  178. bool "3.13.x"
  179. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  180. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  181. bool "3.12.x"
  182. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  183. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  184. bool "3.11.x"
  185. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  186. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  187. bool "3.10.x"
  188. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  189. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  190. bool "3.9.x"
  191. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  192. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  193. bool "3.8.x"
  194. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  195. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  196. bool "3.7.x"
  197. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  198. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  199. bool "3.6.x"
  200. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  201. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  202. bool "3.5.x"
  203. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  204. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  205. bool "3.4.x"
  206. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  207. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  208. bool "3.3.x"
  209. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  210. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  211. bool "3.2.x"
  212. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  213. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  214. bool "3.1.x"
  215. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  216. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  217. bool "3.0.x"
  218. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  219. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  220. bool "2.6.x"
  221. endchoice
  222. choice
  223. prompt "External toolchain C library"
  224. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  225. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  226. bool "uClibc/uClibc-ng"
  227. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  228. help
  229. Select this option if your external toolchain uses the
  230. uClibc (available from http://www.uclibc.org/)
  231. or uClibc-ng (available from http://www.uclibc-ng.org)
  232. C library.
  233. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  234. bool "glibc/eglibc"
  235. depends on !BR2_STATIC_LIBS
  236. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  237. help
  238. Select this option if your external toolchain uses the GNU C
  239. library (available from https://www.gnu.org/software/libc/)
  240. or its variant the eglibc library (http://www.eglibc.org/).
  241. Note: eglibc is a variant of glibc that (among other things)
  242. can be configured to exclude some of its features. Using a
  243. toolchain with eglibc configured to exclude key features may
  244. cause build failures to some packages.
  245. comment "(e)glibc only available with shared lib support"
  246. depends on BR2_STATIC_LIBS
  247. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  248. bool "musl (experimental)"
  249. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  250. help
  251. Select this option if your external toolchain uses the
  252. 'musl' C library, available from http://www.musl-libc.org/.
  253. endchoice
  254. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  255. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  256. bool "Toolchain has WCHAR support?"
  257. select BR2_USE_WCHAR
  258. help
  259. Select this option if your external toolchain supports
  260. WCHAR. If you don't know, leave the default value, Buildroot
  261. will tell you if it's correct or not.
  262. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  263. bool "Toolchain has locale support?"
  264. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  265. select BR2_ENABLE_LOCALE
  266. help
  267. Select this option if your external toolchain has locale
  268. support. If you don't know, leave the default value,
  269. Buildroot will tell you if it's correct or not.
  270. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  271. bool "Toolchain has threads support?"
  272. default y
  273. select BR2_TOOLCHAIN_HAS_THREADS
  274. help
  275. Select this option if your external toolchain has thread
  276. support. If you don't know, leave the default value,
  277. Buildroot will tell you if it's correct or not.
  278. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  279. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  280. bool "Toolchain has threads debugging support?"
  281. default y
  282. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  283. help
  284. Select this option if your external toolchain has thread
  285. debugging support. If you don't know, leave the default
  286. value, Buildroot will tell you if it's correct or not.
  287. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  288. bool "Toolchain has NPTL threads support?"
  289. default y
  290. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  291. help
  292. Select this option if your external toolchain uses the NPTL
  293. (Native Posix Thread Library) implementation of Posix
  294. threads. If you don't know, leave the default value,
  295. Buildroot will tell you if it's correct or not.
  296. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  297. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  298. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  299. bool "Toolchain has SSP support?"
  300. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  301. default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
  302. select BR2_TOOLCHAIN_HAS_SSP
  303. help
  304. Selection this option if your external toolchain has Stack
  305. Smashing Protection support enabled. If you don't know,
  306. leave the default value, Buildroot will tell you if it's
  307. correct or not.
  308. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  309. bool "Toolchain has RPC support?"
  310. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  311. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  312. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  313. help
  314. Select this option if your external toolchain supports
  315. RPC. If you don't know, leave the default value, Buildroot
  316. will tell you if it's correct or not.
  317. config BR2_TOOLCHAIN_EXTERNAL_CXX
  318. bool "Toolchain has C++ support?"
  319. select BR2_INSTALL_LIBSTDCPP
  320. help
  321. Select this option if your external toolchain has C++
  322. support. If you don't know, leave the default value,
  323. Buildroot will tell you if it's correct or not.
  324. config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
  325. bool "Toolchain has Fortran support?"
  326. select BR2_TOOLCHAIN_HAS_FORTRAN
  327. help
  328. Select this option if your external toolchain has Fortran
  329. support. If you don't know, leave the default value,
  330. Buildroot will tell you if it's correct or not.
  331. config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
  332. string "Extra toolchain libraries to be copied to target"
  333. help
  334. If your external toolchain provides extra libraries that
  335. need to be copied to the target filesystem, enter them
  336. here, separated by spaces. They will be copied to the
  337. target's /lib directory.
  338. endif