Config.in.options 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  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. default BR2_TOOLCHAIN_EXTERNAL_GCC_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  25. default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  26. default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  27. default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  28. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  29. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  30. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  31. help
  32. Set to the gcc version that is used by your external
  33. toolchain.
  34. config BR2_TOOLCHAIN_EXTERNAL_GCC_8
  35. bool "8.x"
  36. select BR2_TOOLCHAIN_GCC_AT_LEAST_8
  37. config BR2_TOOLCHAIN_EXTERNAL_GCC_7
  38. bool "7.x"
  39. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  40. select BR2_TOOLCHAIN_GCC_AT_LEAST_7
  41. config BR2_TOOLCHAIN_EXTERNAL_GCC_6
  42. bool "6.x"
  43. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  44. select BR2_TOOLCHAIN_GCC_AT_LEAST_6
  45. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  46. bool "5.x"
  47. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  48. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  49. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  50. bool "4.9.x"
  51. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  52. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  53. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  54. bool "4.8.x"
  55. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  56. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  57. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  58. bool "4.7.x"
  59. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  60. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  61. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  62. bool "4.6.x"
  63. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  64. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  65. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  66. bool "4.5.x"
  67. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  68. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  69. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  70. bool "4.4.x"
  71. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  72. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  73. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  74. bool "4.3.x"
  75. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  76. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  77. config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
  78. bool "older"
  79. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  80. help
  81. Use this option if your GCC version is older than any of the
  82. above.
  83. Note that the Buildroot community doesn't do any testing with
  84. such old toolchains. Some packages may fail to build in
  85. surprising ways, or the generated root filesystem may not
  86. work at all. Use such old toolchains at your own risk.
  87. endchoice
  88. choice
  89. bool "External toolchain kernel headers series"
  90. default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  91. help
  92. Set to the kernel headers version that were used to build
  93. this external toolchain.
  94. This is used to hide/show some packages that have strict
  95. requirements on the version of kernel headers.
  96. If unsure what version your toolchain is using, you can look
  97. at the value of LINUX_VERSION_CODE in linux/version.h in your
  98. toolchain. The Linux version is M.m.p, with:
  99. M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
  100. m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
  101. p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
  102. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_1
  103. bool "5.1.x"
  104. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
  105. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0
  106. bool "5.0.x"
  107. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
  108. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20
  109. bool "4.20.x"
  110. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
  111. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
  112. bool "4.19.x"
  113. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
  114. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
  115. bool "4.18.x"
  116. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
  117. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
  118. bool "4.17.x"
  119. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
  120. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
  121. bool "4.16.x"
  122. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
  123. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
  124. bool "4.15.x"
  125. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
  126. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
  127. bool "4.14.x"
  128. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
  129. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
  130. bool "4.13.x"
  131. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
  132. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
  133. bool "4.12.x"
  134. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
  135. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
  136. bool "4.11.x"
  137. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
  138. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
  139. bool "4.10.x"
  140. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
  141. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
  142. bool "4.9.x"
  143. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
  144. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
  145. bool "4.8.x"
  146. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
  147. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  148. bool "4.7.x"
  149. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  150. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  151. bool "4.6.x"
  152. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  153. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  154. bool "4.5.x"
  155. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  156. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  157. bool "4.4.x"
  158. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  159. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  160. bool "4.3.x"
  161. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  162. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  163. bool "4.2.x"
  164. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  165. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  166. bool "4.1.x"
  167. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  168. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  169. bool "4.0.x"
  170. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  171. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  172. bool "3.19.x"
  173. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  174. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  175. bool "3.18.x"
  176. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  177. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  178. bool "3.17.x"
  179. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  180. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  181. bool "3.16.x"
  182. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  183. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  184. bool "3.15.x"
  185. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  186. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  187. bool "3.14.x"
  188. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  189. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  190. bool "3.13.x"
  191. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  192. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  193. bool "3.12.x"
  194. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  195. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  196. bool "3.11.x"
  197. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  198. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  199. bool "3.10.x"
  200. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  201. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  202. bool "3.9.x"
  203. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  204. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  205. bool "3.8.x"
  206. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  207. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  208. bool "3.7.x"
  209. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  210. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  211. bool "3.6.x"
  212. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  213. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  214. bool "3.5.x"
  215. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  216. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  217. bool "3.4.x"
  218. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  219. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  220. bool "3.3.x"
  221. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  222. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  223. bool "3.2.x"
  224. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  225. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  226. bool "3.1.x"
  227. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  228. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  229. bool "3.0.x"
  230. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  231. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  232. bool "2.6.x"
  233. endchoice
  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. Selection 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_INET_RPC
  321. bool "Toolchain has RPC support?"
  322. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  323. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  324. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  325. help
  326. Select this option if your external toolchain supports
  327. RPC. If you don't know, leave the default value, Buildroot
  328. will tell you if it's correct or not.
  329. config BR2_TOOLCHAIN_EXTERNAL_CXX
  330. bool "Toolchain has C++ support?"
  331. select BR2_INSTALL_LIBSTDCPP
  332. help
  333. Select this option if your external toolchain has C++
  334. support. If you don't know, leave the default value,
  335. Buildroot will tell you if it's correct or not.
  336. config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
  337. bool "Toolchain has Fortran support?"
  338. select BR2_TOOLCHAIN_HAS_FORTRAN
  339. help
  340. Select this option if your external toolchain has Fortran
  341. support. If you don't know, leave the default value,
  342. Buildroot will tell you if it's correct or not.
  343. config BR2_TOOLCHAIN_EXTERNAL_OPENMP
  344. bool "Toolchain has OpenMP support?"
  345. select BR2_TOOLCHAIN_HAS_OPENMP
  346. help
  347. Select this option if your external toolchain has OpenMP
  348. support. If you don't know, leave the default value,
  349. Buildroot will tell you if it's correct or not.
  350. config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
  351. string "Extra toolchain libraries to be copied to target"
  352. help
  353. If your external toolchain provides extra libraries that
  354. need to be copied to the target filesystem, enter them
  355. here, separated by spaces. They will be copied to the
  356. target's /lib directory.
  357. endif