Config.in 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. config BR2_PACKAGE_ANDROID_TOOLS
  2. bool "android-tools"
  3. # Technically, fastboot could build on noMMU systems. But
  4. # since we need at least one of the three sub-options enabled,
  5. # and adb/adbd can't be built on noMMU systems, and fastboot
  6. # has some complicated dependencies, we simply make the whole
  7. # package not available on noMMU platforms.
  8. depends on BR2_USE_MMU
  9. depends on BR2_TOOLCHAIN_HAS_THREADS
  10. select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
  11. !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
  12. !BR2_PACKAGE_ANDROID_TOOLS_ADB
  13. help
  14. This package contains the fastboot and adb utilities, that
  15. can be used to interact with target devices using of these
  16. protocols.
  17. if BR2_PACKAGE_ANDROID_TOOLS
  18. # We need kernel headers that support the __SANE_USERSPACE_TYPES__
  19. # mechanism for 64 bits architectures, so that u64 gets defined as
  20. # "unsigned long long" and not "unsigned long". We know that >= 3.16
  21. # is needed for MIPS64 (kernel commit
  22. # f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for
  23. # PowerPC64 (kernel commit
  24. # 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build
  25. # fails with a bad redefinition of u64 (the android-tools fastboot
  26. # code defines it as "unsigned long long").
  27. config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  28. bool
  29. default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le)
  30. default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el)
  31. default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el
  32. config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
  33. bool "fastboot"
  34. select BR2_PACKAGE_LIBSELINUX
  35. select BR2_PACKAGE_ZLIB
  36. depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
  37. depends on !BR2_STATIC_LIBS # libselinux
  38. depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux
  39. depends on !BR2_arc # libselinux
  40. depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  41. help
  42. This option will build and install the fastboot utility for
  43. the target, which can be used to reflash other target devices
  44. implementing the fastboot protocol.
  45. comment "fastboot needs a glibc toolchain w/ threads, dynamic library"
  46. depends on !BR2_arc
  47. depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
  48. !BR2_TOOLCHAIN_USES_GLIBC
  49. comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
  50. depends on !BR2_arc
  51. depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  52. config BR2_PACKAGE_ANDROID_TOOLS_ADB
  53. bool "adb"
  54. depends on BR2_USE_MMU # uses fork()
  55. select BR2_PACKAGE_OPENSSL
  56. select BR2_PACKAGE_ZLIB
  57. help
  58. This option will build and install the adb utility for the
  59. target, which can be used to interact with other target
  60. devices implementing the ADB protocol.
  61. config BR2_PACKAGE_ANDROID_TOOLS_ADBD
  62. bool "adbd"
  63. depends on BR2_USE_MMU # uses fork()
  64. select BR2_PACKAGE_OPENSSL
  65. select BR2_PACKAGE_ZLIB
  66. help
  67. This option will build and install the adbd utility for the
  68. target, which can be used to interact with a host machine
  69. implementing the ADB protocol.
  70. endif
  71. comment "android-tools needs a toolchain w/ threads"
  72. depends on BR2_USE_MMU
  73. depends on !BR2_TOOLCHAIN_HAS_THREADS