Config.in.options 14 KB

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