Config.in 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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_sh2a || BR2_sh4 || \
  29. BR2_sh4eb || BR2_sparc || BR2_xtensa || BR2_x86_64
  30. select BR2_TOOLCHAIN_USES_UCLIBC
  31. help
  32. This option selects uClibc-ng as the C library for the
  33. cross-compilation toolchain.
  34. http://uclibc-ng.org
  35. config BR2_TOOLCHAIN_BUILDROOT_GLIBC
  36. bool "glibc"
  37. depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
  38. BR2_aarch64_be || BR2_i386 || BR2_mips || \
  39. BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
  40. BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
  41. BR2_riscv || BR2_s390x || BR2_sh || \
  42. BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
  43. BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky
  44. depends on BR2_USE_MMU
  45. depends on !BR2_STATIC_LIBS
  46. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  47. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
  48. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
  49. depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
  50. depends on !BR2_powerpc_SPE
  51. depends on BR2_RISCV_ISA_RVA || !BR2_riscv
  52. select BR2_TOOLCHAIN_USES_GLIBC
  53. # our glibc.mk enables RPC support
  54. select BR2_TOOLCHAIN_HAS_NATIVE_RPC
  55. help
  56. This option selects glibc as the C library for the
  57. cross-compilation toolchain.
  58. http://www.gnu.org/software/libc/
  59. comment "glibc needs a toolchain w/ dynamic library, kernel headers >= 3.2"
  60. depends on BR2_USE_MMU
  61. depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
  62. # glibc >= 2.26 require kernel headers >= 3.10 on powerpc64le.
  63. comment "glibc on powerpc64le needs a toolchain w/ headers >= 3.10"
  64. depends on BR2_powerpc64le
  65. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
  66. # Support for MIPS NAN2008 needs headers >= 4.5
  67. comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5"
  68. depends on BR2_MIPS_NAN_2008
  69. depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
  70. config BR2_TOOLCHAIN_BUILDROOT_MUSL
  71. bool "musl"
  72. depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
  73. BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \
  74. BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \
  75. BR2_powerpc64le || BR2_RISCV_64 || BR2_sh || BR2_x86_64
  76. depends on !BR2_powerpc_SPE # not supported, build breaks
  77. depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
  78. # sh2 nommu is supported by musl, but we don't have support
  79. # for it in Buildroot.
  80. depends on BR2_USE_MMU
  81. select BR2_TOOLCHAIN_USES_MUSL
  82. help
  83. This option selects musl as the C library for the
  84. cross-compilation toolchain.
  85. https://www.musl-libc.org/
  86. endchoice
  87. config BR2_TOOLCHAIN_BUILDROOT_LIBC
  88. string
  89. default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
  90. default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC
  91. default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL
  92. source "package/linux-headers/Config.in.host"
  93. source "package/linux-headers/Config.in"
  94. source "package/musl/Config.in"
  95. source "package/uclibc/Config.in"
  96. source "package/glibc/Config.in"
  97. source "package/binutils/Config.in.host"
  98. source "package/gcc/Config.in.host"
  99. source "package/elf2flt/Config.in.host"
  100. endif