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. https://wiki.debian.org/AndroidTools#Original_android-tools_package
  18. if BR2_PACKAGE_ANDROID_TOOLS
  19. # We need kernel headers that support the __SANE_USERSPACE_TYPES__
  20. # mechanism for 64 bits architectures, so that u64 gets defined as
  21. # "unsigned long long" and not "unsigned long". We know that >= 3.16
  22. # is needed for MIPS64 (kernel commit
  23. # f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for
  24. # PowerPC64 (kernel commit
  25. # 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build
  26. # fails with a bad redefinition of u64 (the android-tools fastboot
  27. # code defines it as "unsigned long long").
  28. config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  29. bool
  30. default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le)
  31. default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el)
  32. default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el
  33. config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
  34. bool "fastboot"
  35. depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
  36. depends on !BR2_STATIC_LIBS # libselinux
  37. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
  38. depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  39. select BR2_PACKAGE_LIBSELINUX
  40. select BR2_PACKAGE_ZLIB
  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 toolchain w/ threads, dynamic library, gcc >= 5"
  46. depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
  47. !BR2_TOOLCHAIN_GCC_AT_LEAST_5
  48. comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
  49. depends on !BR2_arc
  50. depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
  51. config BR2_PACKAGE_ANDROID_TOOLS_ADB
  52. bool "adb"
  53. depends on BR2_USE_MMU # uses fork()
  54. select BR2_PACKAGE_OPENSSL
  55. select BR2_PACKAGE_ZLIB
  56. help
  57. This option will build and install the adb utility for the
  58. target, which can be used to interact with other target
  59. devices implementing the ADB protocol.
  60. config BR2_PACKAGE_ANDROID_TOOLS_ADBD
  61. bool "adbd"
  62. depends on BR2_USE_MMU # uses fork()
  63. select BR2_PACKAGE_OPENSSL
  64. select BR2_PACKAGE_ZLIB
  65. help
  66. This option will build and install the adbd utility for the
  67. target, which can be used to interact with a host machine
  68. implementing the ADB protocol.
  69. endif
  70. comment "android-tools needs a toolchain w/ threads"
  71. depends on BR2_USE_MMU
  72. depends on !BR2_TOOLCHAIN_HAS_THREADS