Config.in.options 12 KB

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