apr: add configure vars and caches
[feed/packages.git] / libs / apr / Makefile
index 5d3b5d6c8b59377bfbf9661f4624eb12d2d472bd..41cf7b7749a4f326b6964fc0f9fe035a827ed54b 100644 (file)
@@ -8,17 +8,24 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apr
-PKG_VERSION:=1.6.5
-PKG_RELEASE:=2
+PKG_VERSION:=1.7.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@APACHE/apr/
-PKG_HASH:=a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105
-PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
-PKG_LICENSE:=Apache License
+PKG_HASH:=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea
+
+PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
+               Sebastian Kemper <sebastian_ml@gmx.net>
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_CPE_ID:=cpe:/a:apache:apr
+
+PKG_BUILD_PARALLEL:=1
 
 PKG_FIXUP:=autoreconf
-PKG_REMOVE_FILES:=aclocal.m4 build/ltmain.sh
 
 PKG_INSTALL:=1
 
@@ -32,48 +39,64 @@ define Package/libapr
   URL:=https://apr.apache.org/
 endef
 
-TARGET_CFLAGS += $(FPIC)
-TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-
 CONFIGURE_ARGS += \
        --with-devrandom=/dev/urandom \
-       --disable-dso \
        $(call autoconf_bool,CONFIG_IPV6,ipv6)
 
 # XXX: ac_cv_sizeof_struct_iovec=1 is just to trick configure
+# XXX: don't set apr_cv_use_lfs64=yes, see
+#      https://www.openwall.com/lists/musl/2020/02/03/18
+# XXX: the atomic builtins used require 8-byte intrinsics, which are available
+#      on all 64-bit architectures and some arm as well as x86 32-bit platforms
 CONFIGURE_VARS += \
+       ap_cv_atomic_builtins=$(if $(CONFIG_ARCH_64BIT),yes,no) \
+       ac_cv_file__dev_zero=yes \
+       ac_cv_func_pthread_mutexattr_setpshared=yes \
+       ac_cv_func_sem_open=yes \
+       ac_cv_func_setpgrp_void=yes \
+       ac_cv_mmap__dev_zero=yes \
+       ac_cv_negative_eai=yes \
+       ac_cv_o_nonblock_inherited=no \
        ac_cv_sizeof_struct_iovec=1 \
        ac_cv_struct_rlimit=yes \
-       apr_cv_process_shared_works=no \
-       apr_cv_mutex_robust_shared=no \
-       apr_cv_tcp_nodelay_with_cork=yes \
-       apr_cv_use_lfs64=yes \
-       LDFLAGS="$$$$LDFLAGS -lpthread" \
+       apr_cv_accept4=yes \
+       apr_cv_dup3=yes \
+       apr_cv_epoll=yes \
+       apr_cv_epoll_create1=yes \
+       apr_cv_gai_addrconfig=yes \
+       apr_cv_mutex_recursive=yes \
+       apr_cv_mutex_robust_shared=yes \
+       apr_cv_process_shared_works=yes \
+       apr_cv_pthreads_lib=-lpthread \
+       apr_cv_sock_cloexec=yes \
+       apr_cv_tcp_nodelay_with_cork=yes
+
+ifeq ($(call qstrip,$(CONFIG_LIBC)),musl)
+CONFIGURE_VARS += \
+       ac_cv_strerror_r_rc_int=yes
+endif
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/include/apr-1 $(1)/usr/lib $(1)/usr/lib/pkgconfig $(1)/usr/share/build-1
-       $(CP)   $(PKG_INSTALL_DIR)/usr/bin/apr-1-config \
-               $(1)/usr/bin/
-       $(CP)   $(PKG_INSTALL_DIR)/usr/include/apr-1/* \
-               $(1)/usr/include/apr-1/
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/libapr-1.{la,a,so*} \
-               $(1)/usr/lib/
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/apr-1.pc \
-               $(1)/usr/lib/pkgconfig/
-       $(CP)   $(PKG_INSTALL_DIR)/usr/share/build-1/* \
-               $(1)/usr/share/build-1/
-       $(SED) 's,^datadir=\"/usr/share\",datadir=\"$(STAGING_DIR)/usr/share\",g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,^installbuilddir=\"/usr/share/build-1\",installbuilddir=\"$(STAGING_DIR)/usr/share/build-1\",g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,^libdir=\"$$$${exec_prefix}/lib,libdir=\"$(STAGING_DIR)/usr/lib,g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,^includedir=\"$$$${prefix}/include/,includedir=\"$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,-L$$$$libdir,,g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,-R$$$$libdir,,g' $(1)/usr/bin/apr-1-config
-       $(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' $(1)/usr/share/build-1/apr_rules.mk
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/include/apr-1 \
+               $(1)/usr/lib/pkgconfig $(1)/usr/share/build-1
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/apr-1-config \
+                                               $(1)/usr/bin
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/apr-1/* \
+                                       $(1)/usr/include/apr-1
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libapr-1.{a,so*} $(1)/usr/lib
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/apr-1.pc \
+                                               $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/build-1/* $(1)/usr/share/build-1
+       $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \
+                                       $(1)/usr/bin/apr-1-config
+       $(SED) '/^datadir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
+       $(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' \
+                               $(1)/usr/share/build-1/apr_rules.mk
 endef
 
 define Package/libapr/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libapr-1.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libapr-1.so.* $(1)/usr/lib
 endef
 
 $(eval $(call BuildPackage,libapr))