kumquat-buildroot/package/apr/apr.mk
Peter Seiderer 783cd8d90d package/apr: security bump version to 1.7.2
- remove 0001-cross-compile.patch
  (superseded by upstream commit [1])

- rename 0002-sys-param-h.patch to 0001-sys-param-h.patch

- remove 0003-Merge-r1887279-from-trunk.patch
  (from upstream [2])

- remove 0004-apr-1.7.0-CVE-2021-35940.patch
  (superseded by upstream commit [3], remove APR_IGNORE_CVES accordingly)

- set new configure option '--disable-sctp' (no libsctp provided by buildroot)

- set new 'ac_cv_strerror_r_rc_int' explicitly to no (default for
  cross compile)

- set new 'ac_cv_mmap__dev_zero' explicitly to yes

- revert two upstream commits ([4], [5]) to fix apr-util build, fails
  otherwise because of some path mismatch where to find apr_rules.mk copied
  to apr-util-1.6.3/build/rules.mk, fixes:

    Makefile:50: .../build/apr-util-1.6.3/build/rules.mk: No such file or directory

For details see [6].

[1] 866e1df66b
[2] 0a763c5e50
[3] e0be630b68
[4] f82374627b
[5] b6dbbc77da
[6] https://downloads.apache.org/apr/CHANGES-APR-1.7

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-03-02 23:19:55 +01:00

93 lines
2.7 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_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))