1 config BR2_PACKAGE_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.
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
14 This package contains the fastboot and adb utilities, that
15 can be used to interact with target devices using of these
18 if BR2_PACKAGE_ANDROID_TOOLS
20 # We need kernel headers that support the __SANE_USERSPACE_TYPES__
21 # mechanism for 64 bits architectures, so that u64 gets defined as
22 # "unsigned long long" and not "unsigned long". We know that >= 3.16
23 # is needed for MIPS64 (kernel commit
24 # f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for
25 # PowerPC64 (kernel commit
26 # 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build
27 # fails with a bad redefinition of u64 (the android-tools fastboot
28 # code defines it as "unsigned long long").
29 config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
31 default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le)
32 default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el)
33 default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el
35 config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
37 select BR2_PACKAGE_LIBSELINUX
38 select BR2_PACKAGE_ZLIB
39 depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
40 depends on !BR2_STATIC_LIBS # libselinux
41 depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux
42 depends on !BR2_arc # libselinux
43 depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
45 This option will build and install the fastboot utility for
46 the target, which can be used to reflash other target devices
47 implementing the fastboot protocol.
49 comment "fastboot needs a glibc toolchain w/ threads, dynamic library"
51 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
52 !BR2_TOOLCHAIN_USES_GLIBC
54 comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
56 depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
58 config BR2_PACKAGE_ANDROID_TOOLS_ADB
60 depends on BR2_USE_MMU # uses fork()
61 select BR2_PACKAGE_OPENSSL
62 select BR2_PACKAGE_ZLIB
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.
68 config BR2_PACKAGE_ANDROID_TOOLS_ADBD
70 depends on BR2_USE_MMU # uses fork()
71 select BR2_PACKAGE_OPENSSL
72 select BR2_PACKAGE_ZLIB
74 This option will build and install the adbd utility for the
75 target, which can be used to interact with a host machine
76 implementing the ADB protocol.
80 comment "android-tools needs a toolchain w/ threads"
81 depends on BR2_USE_MMU
82 depends on !BR2_TOOLCHAIN_HAS_THREADS