2402e0f1d3
When glibc was bumped to version 2.39 in commit
b5680f53d6
it removed the deprecated
libcrypt support.
As glibc's libcrypt was providing apr's libcrypt dependency this broke
the apache build using glibc version 2.39.
To fix this select the libxcrypt dependency to apr when using a glibc
toolchain and add the dependency if selected.
Fixes:
http://autobuild.buildroot.net/results/11ccf857a70ae9f44e8d3ae39fc01db68632ca64/
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
97 lines
2.8 KiB
Makefile
97 lines
2.8 KiB
Makefile
################################################################################
|
|
#
|
|
# apr
|
|
#
|
|
################################################################################
|
|
|
|
APR_VERSION = 1.7.2
|
|
APR_SOURCE = apr-$(APR_VERSION).tar.bz2
|
|
APR_SITE = https://archive.apache.org/dist/apr
|
|
APR_LICENSE = Apache-2.0
|
|
APR_LICENSE_FILES = LICENSE
|
|
APR_CPE_ID_VENDOR = apache
|
|
APR_CPE_ID_PRODUCT = portable_runtime
|
|
APR_INSTALL_STAGING = YES
|
|
# We have a patch touching configure.in and Makefile.in,
|
|
# so we need to autoreconf:
|
|
APR_AUTORECONF = YES
|
|
|
|
APR_CONF_OPTS = --disable-sctp
|
|
|
|
# avoid apr_hints.m4 by setting apr_preload_done=yes and set
|
|
# the needed CFLAGS on our own (avoids '-D_REENTRANT' in case
|
|
# not supported by toolchain and subsequent configure failure)
|
|
APR_CFLAGS = $(TARGET_CFLAGS) -DLINUX -D_GNU_SOURCE
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
|
APR_CFLAGS += -D_REENTRANT
|
|
endif
|
|
|
|
APR_CONF_ENV = \
|
|
CC_FOR_BUILD="$(HOSTCC)" \
|
|
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
|
|
CFLAGS="$(APR_CFLAGS)" \
|
|
ac_cv_file__dev_zero=yes \
|
|
ac_cv_mmap__dev_zero=yes \
|
|
ac_cv_func_setpgrp_void=yes \
|
|
apr_cv_process_shared_works=yes \
|
|
apr_cv_mutex_robust_shared=no \
|
|
apr_cv_tcp_nodelay_with_cork=yes \
|
|
ac_cv_sizeof_struct_iovec=8 \
|
|
ac_cv_sizeof_pid_t=4 \
|
|
ac_cv_struct_rlimit=yes \
|
|
ac_cv_strerror_r_rc_int=no \
|
|
ac_cv_o_nonblock_inherited=no \
|
|
apr_cv_mutex_recursive=yes \
|
|
apr_cv_epoll=yes \
|
|
apr_cv_epoll_create1=yes \
|
|
apr_cv_dup3=yes \
|
|
apr_cv_sock_cloexec=yes \
|
|
apr_cv_accept4=yes \
|
|
apr_preload_done=yes
|
|
APR_CONFIG_SCRIPTS = apr-1-config
|
|
|
|
# Doesn't even try to guess when cross compiling
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
|
APR_CONF_ENV += apr_cv_pthreads_lib="-lpthread"
|
|
endif
|
|
|
|
# Fix lfs detection when cross compiling
|
|
APR_CONF_ENV += apr_cv_use_lfs64=yes
|
|
|
|
# Use non-portable atomics when available. We have to override
|
|
# ap_cv_atomic_builtins because the test used to check for atomic
|
|
# builtins uses AC_TRY_RUN, which doesn't work when cross-compiling.
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8),y)
|
|
APR_CONF_OPTS += --enable-nonportable-atomics
|
|
APR_CONF_ENV += ap_cv_atomic_builtins=yes
|
|
else
|
|
APR_CONF_OPTS += --disable-nonportable-atomics
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
|
|
APR_DEPENDENCIES += libxcrypt
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
|
|
APR_DEPENDENCIES += util-linux
|
|
endif
|
|
|
|
define APR_CLEANUP_UNNEEDED_FILES
|
|
$(RM) -rf $(TARGET_DIR)/usr/build-1/
|
|
endef
|
|
|
|
APR_POST_INSTALL_TARGET_HOOKS += APR_CLEANUP_UNNEEDED_FILES
|
|
|
|
define APR_FIXUP_RULES_MK
|
|
$(SED) 's%apr_builddir=%apr_builddir=$(STAGING_DIR)%' \
|
|
$(STAGING_DIR)/usr/build-1/apr_rules.mk
|
|
$(SED) 's%apr_builders=%apr_builders=$(STAGING_DIR)%' \
|
|
$(STAGING_DIR)/usr/build-1/apr_rules.mk
|
|
$(SED) 's%top_builddir=%top_builddir=$(STAGING_DIR)%' \
|
|
$(STAGING_DIR)/usr/build-1/apr_rules.mk
|
|
endef
|
|
|
|
APR_POST_INSTALL_STAGING_HOOKS += APR_FIXUP_RULES_MK
|
|
|
|
$(eval $(autotools-package))
|