Config.in 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # Config entries for internal toolchain backend
  2. if BR2_TOOLCHAIN_BUILDROOT
  3. comment "Toolchain Buildroot Options"
  4. config BR2_TOOLCHAIN_BUILDROOT_VENDOR
  5. string "custom toolchain vendor name"
  6. default "buildroot"
  7. help
  8. This option allows to customize the "vendor" part of the
  9. toolchain tuple, where the toolchain tuple has the form
  10. <arch>-<vendor>-<os>-<libc>. The default value, "buildroot",
  11. is fine for most cases, except in very specific situations
  12. where gcc might make different decisions based on the vendor
  13. part of the tuple. The value "unknown" is not allowed, as the
  14. cross-compiling toolchain might then be confused with the
  15. native toolchain when the target and host architecture are
  16. identical. The value can not be empty either.
  17. If you're not sure, just leave the default "buildroot" value.
  18. choice
  19. prompt "C library"
  20. default BR2_TOOLCHAIN_BUILDROOT_UCLIBC
  21. default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_powerpc64
  22. config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
  23. bool "uClibc-ng"
  24. depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \
  25. BR2_arm || BR2_armeb || \
  26. BR2_i386 || BR2_m68k || BR2_microblaze || \
  27. BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
  28. BR2_or1k || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a || \
  29. BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \
  30. BR2_x86_64
  31. select BR2_TOOLCHAIN_USES_UCLIBC
  32. help
  33. This option selects uClibc-ng as the C library for the
  34. cross-compilation toolchain.
  35. http://uclibc-ng.org
  36. config BR2_TOOLCHAIN_BUILDROOT_GLIBC
  37. bool "glibc"
  38. depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
  39. BR2_aarch64_be || BR2_i386 || BR2_mips || \
  40. BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
  41. BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
  42. BR2_riscv || BR2_s390x || BR2_sh || \
  43. BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
  44. BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky
  45. depends on BR2_USE_MMU
  46. depends on !BR2_STATIC_LIBS
  47. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  48. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
  49. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
  50. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
  51. depends on !BR2_powerpc_SPE
  52. depends on BR2_RISCV_ISA_RVA || !BR2_riscv
  53. select BR2_TOOLCHAIN_USES_GLIBC
  54. # our glibc.mk enables RPC support
  55. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  56. help
  57. This option selects glibc as the C library for the
  58. cross-compilation toolchain.
  59. http://www.gnu.org/software/libc/
  60. comment "glibc needs a toolchain w/ dynamic library, kernel headers >= 3.2"
  61. depends on BR2_USE_MMU
  62. depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  63. # glibc >= 2.26 require kernel headers >= 3.10 on powerpc64le.
  64. comment "glibc on powerpc64le needs a toolchain w/ headers >= 3.10"
  65. depends on BR2_powerpc64le
  66. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  67. # Support for MIPS NAN2008 needs headers >= 4.5
  68. comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5"
  69. depends on BR2_MIPS_NAN_2008
  70. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  71. config BR2_TOOLCHAIN_BUILDROOT_MUSL
  72. bool "musl"
  73. depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
  74. BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \
  75. BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \
  76. BR2_powerpc64le || BR2_RISCV_64 || BR2_sh || BR2_x86_64
  77. depends on !BR2_powerpc_SPE # not supported, build breaks
  78. depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
  79. # sh2 nommu is supported by musl, but we don't have support
  80. # for it in Buildroot.
  81. depends on BR2_USE_MMU
  82. select BR2_TOOLCHAIN_USES_MUSL
  83. help
  84. This option selects musl as the C library for the
  85. cross-compilation toolchain.
  86. https://www.musl-libc.org/
  87. endchoice
  88. config BR2_TOOLCHAIN_BUILDROOT_LIBC
  89. string
  90. default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
  91. default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC
  92. default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL
  93. source "package/linux-headers/Config.in.host"
  94. source "package/linux-headers/Config.in"
  95. source "package/musl/Config.in"
  96. source "package/uclibc/Config.in"
  97. source "package/glibc/Config.in"
  98. source "package/binutils/Config.in.host"
  99. source "package/gcc/Config.in.host"
  100. source "package/elf2flt/Config.in.host"
  101. endif