Config.in.options 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  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. help
  25. Set to the gcc version that is used by your external
  26. toolchain.
  27. config BR2_TOOLCHAIN_EXTERNAL_GCC_10
  28. bool "10.x"
  29. select BR2_TOOLCHAIN_GCC_AT_LEAST_10
  30. config BR2_TOOLCHAIN_EXTERNAL_GCC_9
  31. bool "9.x"
  32. select BR2_TOOLCHAIN_GCC_AT_LEAST_9
  33. config BR2_TOOLCHAIN_EXTERNAL_GCC_8
  34. bool "8.x"
  35. select BR2_TOOLCHAIN_GCC_AT_LEAST_8
  36. config BR2_TOOLCHAIN_EXTERNAL_GCC_7
  37. bool "7.x"
  38. select BR2_TOOLCHAIN_GCC_AT_LEAST_7
  39. config BR2_TOOLCHAIN_EXTERNAL_GCC_6
  40. bool "6.x"
  41. select BR2_TOOLCHAIN_GCC_AT_LEAST_6
  42. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  43. bool "5.x"
  44. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  45. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  46. bool "4.9.x"
  47. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  48. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  49. bool "4.8.x"
  50. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  51. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  52. bool "4.7.x"
  53. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  54. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  55. bool "4.6.x"
  56. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  57. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  58. bool "4.5.x"
  59. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  60. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  61. bool "4.4.x"
  62. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  63. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  64. bool "4.3.x"
  65. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  66. config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
  67. bool "older"
  68. help
  69. Use this option if your GCC version is older than any of the
  70. above.
  71. Note that the Buildroot community doesn't do any testing with
  72. such old toolchains. Some packages may fail to build in
  73. surprising ways, or the generated root filesystem may not
  74. work at all. Use such old toolchains at your own risk.
  75. endchoice
  76. comment "GCC older than 4.8 is not tested by Buildroot. Use at your own risk."
  77. depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  78. choice
  79. bool "External toolchain kernel headers series"
  80. default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  81. help
  82. Set to the kernel headers version that were used to build
  83. this external toolchain.
  84. This is used to hide/show some packages that have strict
  85. requirements on the version of kernel headers.
  86. If unsure what version your toolchain is using, you can look
  87. at the value of LINUX_VERSION_CODE in linux/version.h in your
  88. toolchain. The Linux version is M.m.p, with:
  89. M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
  90. m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
  91. p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
  92. If your toolchain uses headers newer than the latest version
  93. in the choice, then select the latest version.
  94. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9
  95. bool "5.9.x or later"
  96. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9
  97. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_8
  98. bool "5.8.x"
  99. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8
  100. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_7
  101. bool "5.7.x"
  102. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7
  103. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_6
  104. bool "5.6.x"
  105. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6
  106. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_5
  107. bool "5.5.x"
  108. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5
  109. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_4
  110. bool "5.4.x"
  111. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
  112. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_3
  113. bool "5.3.x"
  114. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3
  115. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_2
  116. bool "5.2.x"
  117. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
  118. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_1
  119. bool "5.1.x"
  120. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
  121. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0
  122. bool "5.0.x"
  123. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
  124. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20
  125. bool "4.20.x"
  126. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
  127. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
  128. bool "4.19.x"
  129. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
  130. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
  131. bool "4.18.x"
  132. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
  133. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
  134. bool "4.17.x"
  135. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
  136. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
  137. bool "4.16.x"
  138. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
  139. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
  140. bool "4.15.x"
  141. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
  142. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
  143. bool "4.14.x"
  144. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
  145. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
  146. bool "4.13.x"
  147. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
  148. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
  149. bool "4.12.x"
  150. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
  151. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
  152. bool "4.11.x"
  153. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
  154. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
  155. bool "4.10.x"
  156. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
  157. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
  158. bool "4.9.x"
  159. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
  160. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
  161. bool "4.8.x"
  162. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
  163. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  164. bool "4.7.x"
  165. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  166. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  167. bool "4.6.x"
  168. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  169. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  170. bool "4.5.x"
  171. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  172. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  173. bool "4.4.x"
  174. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  175. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  176. bool "4.3.x"
  177. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  178. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  179. bool "4.2.x"
  180. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  181. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  182. bool "4.1.x"
  183. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  184. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  185. bool "4.0.x"
  186. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  187. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  188. bool "3.19.x"
  189. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  190. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  191. bool "3.18.x"
  192. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  193. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  194. bool "3.17.x"
  195. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  196. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  197. bool "3.16.x"
  198. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  199. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  200. bool "3.15.x"
  201. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  202. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  203. bool "3.14.x"
  204. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  205. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  206. bool "3.13.x"
  207. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  208. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  209. bool "3.12.x"
  210. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  211. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  212. bool "3.11.x"
  213. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  214. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  215. bool "3.10.x"
  216. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  217. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  218. bool "3.9.x"
  219. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  220. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  221. bool "3.8.x"
  222. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  223. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  224. bool "3.7.x"
  225. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  226. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  227. bool "3.6.x"
  228. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  229. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  230. bool "3.5.x"
  231. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  232. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  233. bool "3.4.x"
  234. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  235. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  236. bool "3.3.x"
  237. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  238. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  239. bool "3.2.x"
  240. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  241. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  242. bool "3.1.x"
  243. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  244. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  245. bool "3.0.x"
  246. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  247. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  248. bool "2.6.x"
  249. endchoice
  250. comment "Kernel headers older than 3.13 is not tested by Buildroot. Use at your own risk."
  251. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  252. choice
  253. prompt "External toolchain C library"
  254. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  255. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  256. bool "uClibc/uClibc-ng"
  257. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  258. help
  259. Select this option if your external toolchain uses the
  260. uClibc (available from http://www.uclibc.org/)
  261. or uClibc-ng (available from http://www.uclibc-ng.org)
  262. C library.
  263. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  264. bool "glibc/eglibc"
  265. depends on !BR2_STATIC_LIBS
  266. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  267. help
  268. Select this option if your external toolchain uses the GNU C
  269. library (available from https://www.gnu.org/software/libc/)
  270. or its variant the eglibc library (http://www.eglibc.org/).
  271. Note: eglibc is a variant of glibc that (among other things)
  272. can be configured to exclude some of its features. Using a
  273. toolchain with eglibc configured to exclude key features may
  274. cause build failures to some packages.
  275. comment "(e)glibc only available with shared lib support"
  276. depends on BR2_STATIC_LIBS
  277. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  278. bool "musl (experimental)"
  279. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  280. help
  281. Select this option if your external toolchain uses the
  282. 'musl' C library, available from http://www.musl-libc.org/.
  283. endchoice
  284. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  285. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  286. bool "Toolchain has WCHAR support?"
  287. select BR2_USE_WCHAR
  288. help
  289. Select this option if your external toolchain supports
  290. WCHAR. If you don't know, leave the default value, Buildroot
  291. will tell you if it's correct or not.
  292. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  293. bool "Toolchain has locale support?"
  294. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  295. select BR2_ENABLE_LOCALE
  296. help
  297. Select this option if your external toolchain has locale
  298. support. If you don't know, leave the default value,
  299. Buildroot will tell you if it's correct or not.
  300. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  301. bool "Toolchain has threads support?"
  302. default y
  303. select BR2_TOOLCHAIN_HAS_THREADS
  304. help
  305. Select this option if your external toolchain has thread
  306. support. If you don't know, leave the default value,
  307. Buildroot will tell you if it's correct or not.
  308. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  309. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  310. bool "Toolchain has threads debugging support?"
  311. default y
  312. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  313. help
  314. Select this option if your external toolchain has thread
  315. debugging support. If you don't know, leave the default
  316. value, Buildroot will tell you if it's correct or not.
  317. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  318. bool "Toolchain has NPTL threads support?"
  319. default y
  320. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  321. help
  322. Select this option if your external toolchain uses the NPTL
  323. (Native Posix Thread Library) implementation of Posix
  324. threads. If you don't know, leave the default value,
  325. Buildroot will tell you if it's correct or not.
  326. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  327. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  328. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  329. bool "Toolchain has SSP support?"
  330. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  331. default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
  332. select BR2_TOOLCHAIN_HAS_SSP
  333. help
  334. Select this option if your external toolchain has Stack
  335. Smashing Protection support enabled. If you don't know,
  336. leave the default value, Buildroot will tell you if it's
  337. correct or not.
  338. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG
  339. bool "Toolchain has SSP strong support?"
  340. default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_GLIBC
  341. default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_MUSL
  342. depends on BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  343. select BR2_TOOLCHAIN_HAS_SSP_STRONG
  344. help
  345. Select this option if your external toolchain has strong
  346. Stack Smashing Protection support enabled. If you don't
  347. know, leave the default value, Buildroot will tell you if
  348. it's correct or not.
  349. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  350. bool "Toolchain has RPC support?"
  351. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  352. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  353. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  354. help
  355. Select this option if your external toolchain supports
  356. RPC. If you don't know, leave the default value, Buildroot
  357. will tell you if it's correct or not.
  358. config BR2_TOOLCHAIN_EXTERNAL_CXX
  359. bool "Toolchain has C++ support?"
  360. select BR2_INSTALL_LIBSTDCPP
  361. help
  362. Select this option if your external toolchain has C++
  363. support. If you don't know, leave the default value,
  364. Buildroot will tell you if it's correct or not.
  365. config BR2_TOOLCHAIN_EXTERNAL_DLANG
  366. bool "Toolchain has D support?"
  367. select BR2_TOOLCHAIN_HAS_DLANG
  368. help
  369. Select this option if your external toolchain has D
  370. support.
  371. config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
  372. bool "Toolchain has Fortran support?"
  373. select BR2_TOOLCHAIN_HAS_FORTRAN
  374. help
  375. Select this option if your external toolchain has Fortran
  376. support. If you don't know, leave the default value,
  377. Buildroot will tell you if it's correct or not.
  378. config BR2_TOOLCHAIN_EXTERNAL_OPENMP
  379. bool "Toolchain has OpenMP support?"
  380. select BR2_TOOLCHAIN_HAS_OPENMP
  381. help
  382. Select this option if your external toolchain has OpenMP
  383. support. If you don't know, leave the default value,
  384. Buildroot will tell you if it's correct or not.
  385. endif