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