Config.in.options 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  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_CUSTOM_PREFIX
  12. string "Toolchain prefix"
  13. default "$(ARCH)-linux"
  14. choice
  15. bool "External toolchain gcc version"
  16. default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  17. default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  18. default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  19. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  20. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  21. default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  22. help
  23. Set to the gcc version that is used by your external
  24. toolchain.
  25. config BR2_TOOLCHAIN_EXTERNAL_GCC_7
  26. bool "7.x"
  27. select BR2_TOOLCHAIN_GCC_AT_LEAST_7
  28. config BR2_TOOLCHAIN_EXTERNAL_GCC_6
  29. bool "6.x"
  30. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  31. select BR2_TOOLCHAIN_GCC_AT_LEAST_6
  32. config BR2_TOOLCHAIN_EXTERNAL_GCC_5
  33. bool "5.x"
  34. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  35. select BR2_TOOLCHAIN_GCC_AT_LEAST_5
  36. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
  37. bool "4.9.x"
  38. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  39. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
  40. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
  41. bool "4.8.x"
  42. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  43. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  44. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
  45. bool "4.7.x"
  46. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  47. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
  48. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
  49. bool "4.6.x"
  50. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  51. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
  52. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
  53. bool "4.5.x"
  54. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  55. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
  56. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
  57. bool "4.4.x"
  58. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  59. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
  60. config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
  61. bool "4.3.x"
  62. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  63. select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
  64. config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
  65. bool "older"
  66. depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  67. help
  68. Use this option if your GCC version is older than any of the
  69. above.
  70. Note that the Buildroot community doesn't do any testing with
  71. such old toolchains. Some packages may fail to build in
  72. surprising ways, or the generated root filesystem may not
  73. work at all. Use such old toolchains at your own risk.
  74. endchoice
  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. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
  90. bool "4.14.x"
  91. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
  92. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
  93. bool "4.13.x"
  94. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
  95. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
  96. bool "4.12.x"
  97. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
  98. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
  99. bool "4.11.x"
  100. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
  101. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
  102. bool "4.10.x"
  103. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
  104. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
  105. bool "4.9.x"
  106. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
  107. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
  108. bool "4.8.x"
  109. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
  110. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
  111. bool "4.7.x"
  112. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
  113. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
  114. bool "4.6.x"
  115. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
  116. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
  117. bool "4.5.x"
  118. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  119. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
  120. bool "4.4.x"
  121. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
  122. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
  123. bool "4.3.x"
  124. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
  125. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
  126. bool "4.2.x"
  127. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
  128. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
  129. bool "4.1.x"
  130. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
  131. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
  132. bool "4.0.x"
  133. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
  134. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
  135. bool "3.19.x"
  136. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
  137. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
  138. bool "3.18.x"
  139. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
  140. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
  141. bool "3.17.x"
  142. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
  143. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
  144. bool "3.16.x"
  145. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
  146. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
  147. bool "3.15.x"
  148. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
  149. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
  150. bool "3.14.x"
  151. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
  152. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
  153. bool "3.13.x"
  154. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
  155. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
  156. bool "3.12.x"
  157. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
  158. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
  159. bool "3.11.x"
  160. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
  161. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
  162. bool "3.10.x"
  163. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  164. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
  165. bool "3.9.x"
  166. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
  167. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
  168. bool "3.8.x"
  169. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
  170. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
  171. bool "3.7.x"
  172. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
  173. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
  174. bool "3.6.x"
  175. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
  176. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
  177. bool "3.5.x"
  178. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
  179. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
  180. bool "3.4.x"
  181. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
  182. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
  183. bool "3.3.x"
  184. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
  185. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
  186. bool "3.2.x"
  187. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  188. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
  189. bool "3.1.x"
  190. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
  191. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
  192. bool "3.0.x"
  193. select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
  194. config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
  195. bool "2.6.x"
  196. endchoice
  197. choice
  198. prompt "External toolchain C library"
  199. default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  200. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  201. bool "uClibc/uClibc-ng"
  202. select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
  203. # For the time being, we assume that all custom external
  204. # toolchains have shadow password support.
  205. select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
  206. help
  207. Select this option if your external toolchain uses the
  208. uClibc (available from http://www.uclibc.org/)
  209. or uClibc-ng (available from http://www.uclibc-ng.org)
  210. C library.
  211. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
  212. bool "glibc/eglibc"
  213. depends on !BR2_STATIC_LIBS
  214. select BR2_TOOLCHAIN_EXTERNAL_GLIBC
  215. help
  216. Select this option if your external toolchain uses the GNU C
  217. library (available from https://www.gnu.org/software/libc/)
  218. or its variant the eglibc library (http://www.eglibc.org/).
  219. Note: eglibc is a variant of glibc that (among other things)
  220. can be configured to exclude some of its features. Using a
  221. toolchain with eglibc configured to exclude key features may
  222. cause build failures to some packages.
  223. comment "(e)glibc only available with shared lib support"
  224. depends on BR2_STATIC_LIBS
  225. config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
  226. bool "musl (experimental)"
  227. select BR2_TOOLCHAIN_EXTERNAL_MUSL
  228. help
  229. Select this option if your external toolchain uses the
  230. 'musl' C library, available from http://www.musl-libc.org/.
  231. endchoice
  232. if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  233. config BR2_TOOLCHAIN_EXTERNAL_WCHAR
  234. bool "Toolchain has WCHAR support?"
  235. select BR2_USE_WCHAR
  236. help
  237. Select this option if your external toolchain supports
  238. WCHAR. If you don't know, leave the default value, Buildroot
  239. will tell you if it's correct or not.
  240. config BR2_TOOLCHAIN_EXTERNAL_LOCALE
  241. bool "Toolchain has locale support?"
  242. select BR2_TOOLCHAIN_EXTERNAL_WCHAR
  243. select BR2_ENABLE_LOCALE
  244. help
  245. Select this option if your external toolchain has locale
  246. support. If you don't know, leave the default value,
  247. Buildroot will tell you if it's correct or not.
  248. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  249. bool "Toolchain has threads support?"
  250. select BR2_TOOLCHAIN_HAS_THREADS
  251. default y
  252. help
  253. Select this option if your external toolchain has thread
  254. support. If you don't know, leave the default value,
  255. Buildroot will tell you if it's correct or not.
  256. if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  257. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
  258. bool "Toolchain has threads debugging support?"
  259. select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
  260. default y
  261. help
  262. Select this option if your external toolchain has thread
  263. debugging support. If you don't know, leave the default
  264. value, Buildroot will tell you if it's correct or not.
  265. config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
  266. bool "Toolchain has NPTL threads support?"
  267. select BR2_TOOLCHAIN_HAS_THREADS_NPTL
  268. default y
  269. help
  270. Select this option if your external toolchain uses the NPTL
  271. (Native Posix Thread Library) implementation of Posix
  272. threads. If you don't know, leave the default value,
  273. Buildroot will tell you if it's correct or not.
  274. endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
  275. endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
  276. config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
  277. bool "Toolchain has SSP support?"
  278. select BR2_TOOLCHAIN_HAS_SSP
  279. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  280. default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
  281. help
  282. Selection this option if your external toolchain has Stack
  283. Smashing Protection support enabled. If you don't know,
  284. leave the default value, Buildroot will tell you if it's
  285. correct or not.
  286. config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
  287. bool "Toolchain has RPC support?"
  288. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  289. depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
  290. default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
  291. help
  292. Select this option if your external toolchain supports
  293. RPC. If you don't know, leave the default value, Buildroot
  294. will tell you if it's correct or not.
  295. config BR2_TOOLCHAIN_EXTERNAL_CXX
  296. bool "Toolchain has C++ support?"
  297. select BR2_INSTALL_LIBSTDCPP
  298. help
  299. Select this option if your external toolchain has C++
  300. support. If you don't know, leave the default value,
  301. Buildroot will tell you if it's correct or not.
  302. config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
  303. string "Extra toolchain libraries to be copied to target"
  304. help
  305. If your external toolchain provides extra libraries that
  306. need to be copied to the target filesystem, enter them
  307. here, separated by spaces. They will be copied to the
  308. target's /lib directory.
  309. endif