Config.in.options 13 KB

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