Config.in 4.2 KB

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