Config.in.options 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  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_10
  95. bool "5.10.x or later"
  96. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10
  97. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9
  98. bool "5.9.x"
  99. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9
  100. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_8
  101. bool "5.8.x"
  102. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8
  103. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_7
  104. bool "5.7.x"
  105. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7
  106. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_6
  107. bool "5.6.x"
  108. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6
  109. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_5
  110. bool "5.5.x"
  111. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5
  112. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_4
  113. bool "5.4.x"
  114. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
  115. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_3
  116. bool "5.3.x"
  117. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3
  118. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_2
  119. bool "5.2.x"
  120. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
  121. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_1
  122. bool "5.1.x"
  123. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
  124. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0
  125. bool "5.0.x"
  126. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
  127. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20
  128. bool "4.20.x"
  129. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
  130. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
  131. bool "4.19.x"
  132. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
  133. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
  134. bool "4.18.x"
  135. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
  136. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
  137. bool "4.17.x"
  138. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
  139. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
  140. bool "4.16.x"
  141. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
  142. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
  143. bool "4.15.x"
  144. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
  145. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
  146. bool "4.14.x"
  147. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
  148. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
  149. bool "4.13.x"
  150. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
  151. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
  152. bool "4.12.x"
  153. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
  154. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
  155. bool "4.11.x"
  156. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
  157. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
  158. bool "4.10.x"
  159. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
  160. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
  161. bool "4.9.x"
  162. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
  163. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
  164. bool "4.8.x"
  165. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
  166. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  167. bool "4.7.x"
  168. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  169. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  170. bool "4.6.x"
  171. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  172. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  173. bool "4.5.x"
  174. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  175. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  176. bool "4.4.x"
  177. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  178. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  179. bool "4.3.x"
  180. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  181. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  182. bool "4.2.x"
  183. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  184. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  185. bool "4.1.x"
  186. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  187. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  188. bool "4.0.x"
  189. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  190. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  191. bool "3.19.x"
  192. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  193. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  194. bool "3.18.x"
  195. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  196. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  197. bool "3.17.x"
  198. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  199. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  200. bool "3.16.x"
  201. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  202. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  203. bool "3.15.x"
  204. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  205. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  206. bool "3.14.x"
  207. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  208. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  209. bool "3.13.x"
  210. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  211. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  212. bool "3.12.x"
  213. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  214. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  215. bool "3.11.x"
  216. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  217. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  218. bool "3.10.x"
  219. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  220. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  221. bool "3.9.x"
  222. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  223. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  224. bool "3.8.x"
  225. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  226. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  227. bool "3.7.x"
  228. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  229. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  230. bool "3.6.x"
  231. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  232. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  233. bool "3.5.x"
  234. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  235. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  236. bool "3.4.x"
  237. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  238. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  239. bool "3.3.x"
  240. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  241. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  242. bool "3.2.x"
  243. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  244. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  245. bool "3.1.x"
  246. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  247. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  248. bool "3.0.x"
  249. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  250. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  251. bool "2.6.x"
  252. endchoice
  253. comment "Kernel headers older than 3.13 is not tested by Buildroot. Use at your own risk."
  254. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  255. choice
  256. prompt "External toolchain C library"
  257. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  258. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  259. bool "uClibc/uClibc-ng"
  260. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  261. help
  262. Select this option if your external toolchain uses the
  263. uClibc (available from http://www.uclibc.org/)
  264. or uClibc-ng (available from http://www.uclibc-ng.org)
  265. C library.
  266. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  267. bool "glibc/eglibc"
  268. depends on !BR2_STATIC_LIBS
  269. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  270. help
  271. Select this option if your external toolchain uses the GNU C
  272. library (available from https://www.gnu.org/software/libc/)
  273. or its variant the eglibc library (http://www.eglibc.org/).
  274. Note: eglibc is a variant of glibc that (among other things)
  275. can be configured to exclude some of its features. Using a
  276. toolchain with eglibc configured to exclude key features may
  277. cause build failures to some packages.
  278. comment "(e)glibc only available with shared lib support"
  279. depends on BR2_STATIC_LIBS
  280. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  281. bool "musl (experimental)"
  282. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  283. help
  284. Select this option if your external toolchain uses the
  285. 'musl' C library, available from http://www.musl-libc.org/.
  286. endchoice
  287. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  288. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  289. bool "Toolchain has WCHAR support?"
  290. select BR2_USE_WCHAR
  291. help
  292. Select this option if your external toolchain supports
  293. WCHAR. If you don't know, leave the default value, Buildroot
  294. will tell you if it's correct or not.
  295. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  296. bool "Toolchain has locale support?"
  297. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  298. select BR2_ENABLE_LOCALE
  299. help
  300. Select this option if your external toolchain has locale
  301. support. If you don't know, leave the default value,
  302. Buildroot will tell you if it's correct or not.
  303. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  304. bool "Toolchain has threads support?"
  305. default y
  306. select BR2_TOOLCHAIN_HAS_THREADS
  307. help
  308. Select this option if your external toolchain has thread
  309. support. If you don't know, leave the default value,
  310. Buildroot will tell you if it's correct or not.
  311. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  312. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  313. bool "Toolchain has threads debugging support?"
  314. default y
  315. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  316. help
  317. Select this option if your external toolchain has thread
  318. debugging support. If you don't know, leave the default
  319. value, Buildroot will tell you if it's correct or not.
  320. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  321. bool "Toolchain has NPTL threads support?"
  322. default y
  323. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  324. help
  325. Select this option if your external toolchain uses the NPTL
  326. (Native Posix Thread Library) implementation of Posix
  327. threads. If you don't know, leave the default value,
  328. Buildroot will tell you if it's correct or not.
  329. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  330. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  331. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  332. bool "Toolchain has SSP support?"
  333. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  334. default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
  335. select BR2_TOOLCHAIN_HAS_SSP
  336. help
  337. Select this option if your external toolchain has Stack
  338. Smashing Protection support enabled. If you don't know,
  339. leave the default value, Buildroot will tell you if it's
  340. correct or not.
  341. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG
  342. bool "Toolchain has SSP strong support?"
  343. default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_GLIBC
  344. default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_MUSL
  345. depends on BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  346. select BR2_TOOLCHAIN_HAS_SSP_STRONG
  347. help
  348. Select this option if your external toolchain has strong
  349. Stack Smashing Protection support enabled. If you don't
  350. know, leave the default value, Buildroot will tell you if
  351. it's correct or not.
  352. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  353. bool "Toolchain has RPC support?"
  354. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  355. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  356. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  357. help
  358. Select this option if your external toolchain supports
  359. RPC. If you don't know, leave the default value, Buildroot
  360. will tell you if it's correct or not.
  361. config BR2_TOOLCHAIN_EXTERNAL_CXX
  362. bool "Toolchain has C++ support?"
  363. select BR2_INSTALL_LIBSTDCPP
  364. help
  365. Select this option if your external toolchain has C++
  366. support. If you don't know, leave the default value,
  367. Buildroot will tell you if it's correct or not.
  368. config BR2_TOOLCHAIN_EXTERNAL_DLANG
  369. bool "Toolchain has D support?"
  370. select BR2_TOOLCHAIN_HAS_DLANG
  371. help
  372. Select this option if your external toolchain has D
  373. support.
  374. config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
  375. bool "Toolchain has Fortran support?"
  376. select BR2_TOOLCHAIN_HAS_FORTRAN
  377. help
  378. Select this option if your external toolchain has Fortran
  379. support. If you don't know, leave the default value,
  380. Buildroot will tell you if it's correct or not.
  381. config BR2_TOOLCHAIN_EXTERNAL_OPENMP
  382. bool "Toolchain has OpenMP support?"
  383. select BR2_TOOLCHAIN_HAS_OPENMP
  384. help
  385. Select this option if your external toolchain has OpenMP
  386. support. If you don't know, leave the default value,
  387. Buildroot will tell you if it's correct or not.
  388. endif