blob: a36c4db189d49b528989ccdf936a36fc7a6fe199 [file] [log] [blame]
config BR2_PACKAGE_ANDROID_TOOLS
bool "android-tools"
# Technically, fastboot could build on noMMU systems. But
# since we need at least one of the three sub-options enabled,
# and adb/adbd can't be built on noMMU systems, and fastboot
# has some complicated dependencies, we simply make the whole
# package not available on noMMU platforms.
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
!BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
!BR2_PACKAGE_ANDROID_TOOLS_ADB
help
This package contains the fastboot and adb utilities, that
can be used to interact with target devices using of these
protocols.
https://wiki.debian.org/AndroidTools#Original_android-tools_package
if BR2_PACKAGE_ANDROID_TOOLS
# We need kernel headers that support the __SANE_USERSPACE_TYPES__
# mechanism for 64 bits architectures, so that u64 gets defined as
# "unsigned long long" and not "unsigned long". We know that >= 3.16
# is needed for MIPS64 (kernel commit
# f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for
# PowerPC64 (kernel commit
# 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build
# fails with a bad redefinition of u64 (the android-tools fastboot
# code defines it as "unsigned long long").
config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
bool
default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le)
default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el)
default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el
config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
bool "fastboot"
depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
depends on !BR2_STATIC_LIBS # libselinux
depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
select BR2_PACKAGE_LIBSELINUX
select BR2_PACKAGE_ZLIB
help
This option will build and install the fastboot utility for
the target, which can be used to reflash other target devices
implementing the fastboot protocol.
comment "fastboot needs a toolchain w/ threads, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
depends on !BR2_arc
depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
config BR2_PACKAGE_ANDROID_TOOLS_ADB
bool "adb"
depends on BR2_USE_MMU # uses fork()
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
help
This option will build and install the adb utility for the
target, which can be used to interact with other target
devices implementing the ADB protocol.
config BR2_PACKAGE_ANDROID_TOOLS_ADBD
bool "adbd"
depends on BR2_USE_MMU # uses fork()
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
help
This option will build and install the adbd utility for the
target, which can be used to interact with a host machine
implementing the ADB protocol.
endif
comment "android-tools needs a toolchain w/ threads"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS