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 22config BR2_PACKAGE_ANDROID_TOOLS_STATIC 23 bool "Enable static" 24 default y if BR2_STATIC_LIBS 25 26# We need kernel headers that support the __SANE_USERSPACE_TYPES__ 27# mechanism for 64 bits architectures, so that u64 gets defined as 28# "unsigned long long" and not "unsigned long". We know that >= 3.16 29# is needed for MIPS64 (kernel commit 30# f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for 31# PowerPC64 (kernel commit 32# 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build 33# fails with a bad redefinition of u64 (the android-tools fastboot 34# code defines it as "unsigned long long"). 35config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS 36 bool 37 default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le) 38 default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el) 39 default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el 40 41config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT 42 bool "fastboot" 43 depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux 44 depends on !BR2_STATIC_LIBS # libselinux 45 depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS 46 select BR2_PACKAGE_LIBSELINUX 47 select BR2_PACKAGE_ZLIB 48 help 49 This option will build and install the fastboot utility for 50 the target, which can be used to reflash other target devices 51 implementing the fastboot protocol. 52 53comment "fastboot needs a toolchain w/ threads, dynamic library" 54 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS 55 56comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)" 57 depends on !BR2_arc 58 depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS 59 60config BR2_PACKAGE_ANDROID_TOOLS_ADB 61 bool "adb" 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 adb utility for the 67 target, which can be used to interact with other target 68 devices implementing the ADB protocol. 69 70config BR2_PACKAGE_ANDROID_TOOLS_ADBD 71 bool "adbd" 72 depends on BR2_USE_MMU # uses fork() 73 select BR2_PACKAGE_OPENSSL 74 select BR2_PACKAGE_ZLIB 75 help 76 This option will build and install the adbd utility for the 77 target, which can be used to interact with a host machine 78 implementing the ADB protocol. 79 80if BR2_PACKAGE_ANDROID_TOOLS_ADBD 81 82config BR2_PACKAGE_ANDROID_TOOLS_TCP_PORT 83 int "adb tcp port" 84 default 5555 85 86config BR2_PACKAGE_ANDROID_TOOLS_AUTH_PASSWORD 87 string "adb auth password" 88 89config BR2_PACKAGE_ANDROID_TOOLS_AUTH_RSA_KEY 90 string "adbd rsa key path, e.g. ~/.android/adbkey.pub" 91 92endif 93 94endif 95 96comment "android-tools needs a toolchain w/ threads" 97 depends on BR2_USE_MMU 98 depends on !BR2_TOOLCHAIN_HAS_THREADS 99