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_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol 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, gcc >= 5" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 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