Config.in.options 13 KB

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