xref: /OK3568_Linux_fs/buildroot/package/android-tools/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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