build system: detect missing crypt and drop it from linking
No binary (build failed)
—
(log yok)
| @@ -97,13 +97,6 @@ CFLAGS += $(strip $(subst ",,$(CONFIG_EXTRA_CFLAGS))) | |
| #")) | |
| endif | |
| - | ifneq ($(CONFIG_CROSS_COMPILER_PREFIX),"arm-linux-androideabi-") |
| - | LDLIBS += m crypt |
| - | else |
| - | # Android libc has no crypt. TODO: make a generic CONFIG_LINK_WITH_CRYPT option? |
| - | LDLIBS += m |
| - | endif |
| - | |
| # Note: both "" (string consisting of two quote chars) and empty string | |
| # are possible, and should be skipped below. | |
| ifneq ($(subst "",,$(CONFIG_SYSROOT)),) | |
| @@ -111,6 +104,14 @@ CFLAGS += --sysroot=$(CONFIG_SYSROOT) | |
| export SYSROOT=$(CONFIG_SYSROOT) | |
| endif | |
| + | # Android has no separate crypt library |
| + | CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' | $(CC) $(CFLAGS) $(1) -lcrypt -o /dev/null -xc - >/dev/null 2>&1 && echo "y") |
| + | ifeq ($(CRYPT_AVAILABLE),y) |
| + | LDLIBS += m crypt |
| + | else |
| + | LDLIBS += m |
| + | endif |
| + | |
| ifeq ($(CONFIG_PAM),y) | |
| # libpam uses libpthread, so for static builds busybox must be linked to | |
| # libpthread. On some platforms that requires an explicit -lpthread, so | |