kumquat-buildroot/package/android-tools/Config.in
Fabrice Fontaine c7a1ee8f10 package/android-tools: add libxcrypt optional dependency
Fix the following build failure raised since bump of glibc to version
2.39 in commit b5680f53d6:

/home/autobuild/autobuild/instance-7/output-1/host/lib/gcc/aarch64_be-buildroot-linux-gnu/12.3.0/../../../../aarch64_be-buildroot-linux-gnu/bin/ld: cannot find -lcrypt: No such file or directory

Fixes: b5680f53d6
 - http://autobuild.buildroot.org/results/ab7c1ff0649bec21584654431e722efe2dc88c3d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr: coding style]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-04-07 14:05:56 +02:00

84 lines
3.2 KiB
Plaintext

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_TOOLCHAIN_GCC_AT_LEAST_5 # libselinux -> libsepol
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, gcc >= 5"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5
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_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
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