Config.in.options 12 KB

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