xref: /OK3568_Linux_fs/buildroot/package/android-tools/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS
2*4882a593Smuzhiyun	bool "android-tools"
3*4882a593Smuzhiyun	# Technically, fastboot could build on noMMU systems. But
4*4882a593Smuzhiyun	# since we need at least one of the three sub-options enabled,
5*4882a593Smuzhiyun	# and adb/adbd can't be built on noMMU systems, and fastboot
6*4882a593Smuzhiyun	# has some complicated dependencies, we simply make the whole
7*4882a593Smuzhiyun	# package not available on noMMU platforms.
8*4882a593Smuzhiyun	depends on BR2_USE_MMU
9*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS
10*4882a593Smuzhiyun	select BR2_PACKAGE_ANDROID_TOOLS_ADBD if \
11*4882a593Smuzhiyun	      !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT && \
12*4882a593Smuzhiyun	      !BR2_PACKAGE_ANDROID_TOOLS_ADB
13*4882a593Smuzhiyun	help
14*4882a593Smuzhiyun	  This package contains the fastboot and adb utilities, that
15*4882a593Smuzhiyun	  can be used to interact with target devices using of these
16*4882a593Smuzhiyun	  protocols.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	  https://wiki.debian.org/AndroidTools#Original_android-tools_package
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunif BR2_PACKAGE_ANDROID_TOOLS
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_STATIC
23*4882a593Smuzhiyun	bool "Enable static"
24*4882a593Smuzhiyun	default y if BR2_STATIC_LIBS
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun# We need kernel headers that support the __SANE_USERSPACE_TYPES__
27*4882a593Smuzhiyun# mechanism for 64 bits architectures, so that u64 gets defined as
28*4882a593Smuzhiyun# "unsigned long long" and not "unsigned long". We know that >= 3.16
29*4882a593Smuzhiyun# is needed for MIPS64 (kernel commit
30*4882a593Smuzhiyun# f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for
31*4882a593Smuzhiyun# PowerPC64 (kernel commit
32*4882a593Smuzhiyun# 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build
33*4882a593Smuzhiyun# fails with a bad redefinition of u64 (the android-tools fastboot
34*4882a593Smuzhiyun# code defines it as "unsigned long long").
35*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
36*4882a593Smuzhiyun	bool
37*4882a593Smuzhiyun	default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le)
38*4882a593Smuzhiyun	default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el)
39*4882a593Smuzhiyun	default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT
42*4882a593Smuzhiyun	bool "fastboot"
43*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS # libselinux
44*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS # libselinux
45*4882a593Smuzhiyun	depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
46*4882a593Smuzhiyun	select BR2_PACKAGE_LIBSELINUX
47*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
48*4882a593Smuzhiyun	help
49*4882a593Smuzhiyun	  This option will build and install the fastboot utility for
50*4882a593Smuzhiyun	  the target, which can be used to reflash other target devices
51*4882a593Smuzhiyun	  implementing the fastboot protocol.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyuncomment "fastboot needs a toolchain w/ threads, dynamic library"
54*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
55*4882a593Smuzhiyun
56*4882a593Smuzhiyuncomment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)"
57*4882a593Smuzhiyun	depends on !BR2_arc
58*4882a593Smuzhiyun	depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_ADB
61*4882a593Smuzhiyun	bool "adb"
62*4882a593Smuzhiyun	depends on BR2_USE_MMU # uses fork()
63*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL
64*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
65*4882a593Smuzhiyun	help
66*4882a593Smuzhiyun	  This option will build and install the adb utility for the
67*4882a593Smuzhiyun	  target, which can be used to interact with other target
68*4882a593Smuzhiyun	  devices implementing the ADB protocol.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_ADBD
71*4882a593Smuzhiyun	bool "adbd"
72*4882a593Smuzhiyun	depends on BR2_USE_MMU # uses fork()
73*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL
74*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
75*4882a593Smuzhiyun	help
76*4882a593Smuzhiyun	  This option will build and install the adbd utility for the
77*4882a593Smuzhiyun	  target, which can be used to interact with a host machine
78*4882a593Smuzhiyun	  implementing the ADB protocol.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunif BR2_PACKAGE_ANDROID_TOOLS_ADBD
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_TCP_PORT
83*4882a593Smuzhiyun	int "adb tcp port"
84*4882a593Smuzhiyun	default 5555
85*4882a593Smuzhiyun
86*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_AUTH_PASSWORD
87*4882a593Smuzhiyun	string "adb auth password"
88*4882a593Smuzhiyun
89*4882a593Smuzhiyunconfig BR2_PACKAGE_ANDROID_TOOLS_AUTH_RSA_KEY
90*4882a593Smuzhiyun	string "adbd rsa key path, e.g. ~/.android/adbkey.pub"
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunendif
93*4882a593Smuzhiyun
94*4882a593Smuzhiyunendif
95*4882a593Smuzhiyun
96*4882a593Smuzhiyuncomment "android-tools needs a toolchain w/ threads"
97*4882a593Smuzhiyun	depends on BR2_USE_MMU
98*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS
99