| 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 |