Config.in.options 13 KB

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