mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Added two patches backported from the upstream branch c_icap_0_6_x which
were backported by Debian to the 0.5.x branch.
Build-tested using this defconfig:
BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_C_ICAP=y
BR2_PACKAGE_C_ICAP_MODULES=y
arm-aarch64 [ 1/32]: OK
bootlin-aarch64-glibc [ 2/32]: OK
bootlin-aarch64-glibc-old [ 3/32]: FAILED
bootlin-arcle-hs38-uclibc [ 4/32]: OK
bootlin-armv5-uclibc [ 5/32]: OK
bootlin-armv7-glibc [ 6/32]: OK
bootlin-armv7m-uclibc [ 7/32]: SKIPPED
bootlin-armv7-musl [ 8/32]: OK
bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED
bootlin-m68k-68040-uclibc [10/32]: OK
bootlin-microblazeel-uclibc [11/32]: OK
bootlin-mips64el-glibc [12/32]: OK
bootlin-mipsel32r6-glibc [13/32]: OK
bootlin-mipsel-uclibc [14/32]: OK
bootlin-openrisc-uclibc [15/32]: OK
bootlin-powerpc64le-power8-glibc [16/32]: OK
bootlin-powerpc-e500mc-uclibc [17/32]: OK
bootlin-riscv32-glibc [18/32]: OK
bootlin-riscv64-glibc [19/32]: OK
bootlin-riscv64-musl [20/32]: OK
bootlin-s390x-z13-glibc [21/32]: OK
bootlin-sh4-uclibc [22/32]: OK
bootlin-sparc64-glibc [23/32]: OK
bootlin-sparc-uclibc [24/32]: OK
bootlin-x86-64-glibc [25/32]: OK
bootlin-x86-64-musl [26/32]: OK
bootlin-x86-64-uclibc [27/32]: OK
bootlin-x86-i686-musl [28/32]: OK
bootlin-xtensa-uclibc [29/32]: OK
br-arm-basic [30/32]: FAILED
br-arm-full-nothread [31/32]: SKIPPED
br-arm-full-static [32/32]: SKIPPED
32 builds, 4 skipped, 2 build failed, 0 legal-info failed, 0 show-info failed
The two build errors are unrelated to this patch, they are caused by
patch 0005-Fix-module-operation-prototypes-to-fix-GCC-15.x-buil.patch
which breaks the build with gcc <= 9.x:
http_auth.c: In function ‘basic_close’:
http_auth.c:412:25: error: parameter name omitted
void basic_close(struct ci_server_conf *)
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
105 lines
3.2 KiB
Makefile
105 lines
3.2 KiB
Makefile
################################################################################
|
|
#
|
|
# c-icap
|
|
#
|
|
################################################################################
|
|
|
|
C_ICAP_VERSION = 0.5.14
|
|
C_ICAP_SOURCE = c_icap-$(C_ICAP_VERSION).tar.gz
|
|
C_ICAP_SITE = http://downloads.sourceforge.net/c-icap
|
|
C_ICAP_LICENSE = LGPL-2.1+
|
|
C_ICAP_LICENSE_FILES = COPYING
|
|
C_ICAP_CPE_ID_VALID = YES
|
|
C_ICAP_INSTALL_STAGING = YES
|
|
C_ICAP_CONFIG_SCRIPTS = c-icap-config c-icap-libicapapi-config
|
|
C_ICAP_CONF_OPTS = \
|
|
--without-pcre \
|
|
--without-perl \
|
|
--without-zstd \
|
|
--enable-large-files \
|
|
--enable-ipv6
|
|
# Pre-seed cache variables for tests done with AC_TRY_RUN that are not
|
|
# cross-compile friendly
|
|
C_ICAP_CONF_ENV = ac_cv_10031b_ipc_sem=yes ac_cv_fcntl=yes
|
|
# c-icap adds '-Wl,-rpath -Wl,/usr/lib' to the link command line. This
|
|
# causes the linker to search for libraries that are listed as NEEDED
|
|
# in the libicapapi.so ELF header in host libraries, which breaks the
|
|
# build. The affected library is libz. Forcing AUTORECONF adds -lz to
|
|
# the link command line, and that makes the linker look first in
|
|
# sysroot, thus avoiding the build breakage.
|
|
C_ICAP_AUTORECONF = YES
|
|
|
|
ifeq ($(BR2_PACKAGE_BERKELEYDB),y)
|
|
C_ICAP_CONF_OPTS += --with-bdb
|
|
C_ICAP_DEPENDENCIES += berkeleydb
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-bdb
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_BZIP2),y)
|
|
C_ICAP_CONF_OPTS += --with-bzlib
|
|
C_ICAP_DEPENDENCIES += bzip2
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-bzlib
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBMEMCACHED),y)
|
|
C_ICAP_CONF_OPTS += --with-memcached
|
|
C_ICAP_DEPENDENCIES += libmemcached $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt)
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-memcached
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENLDAP),y)
|
|
C_ICAP_CONF_OPTS += --with-ldap
|
|
C_ICAP_DEPENDENCIES += openldap
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-ldap
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
C_ICAP_CONF_OPTS += --with-openssl
|
|
C_ICAP_DEPENDENCIES += openssl
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-openssl
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_PCRE2),y)
|
|
C_ICAP_CONF_OPTS += --with-pcre2
|
|
C_ICAP_DEPENDENCIES += pcre2
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-pcre2
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
C_ICAP_CONF_OPTS += --with-zlib
|
|
C_ICAP_DEPENDENCIES += zlib
|
|
else
|
|
C_ICAP_CONF_OPTS += --without-zlib
|
|
endif
|
|
|
|
define C_ICAP_INSTALL_INIT_SYSV
|
|
$(INSTALL) -m 0755 -D package/c-icap/S96cicap $(TARGET_DIR)/etc/init.d/S96cicap
|
|
endef
|
|
|
|
# Tweak the installation:
|
|
# - Removed unneeded sample configuration files (c-icap.*.default),
|
|
# since some real ones are also installed
|
|
# - Tweak some paths in the c-icap.conf configuration file
|
|
# - Tweak the -config scripts, because the generic
|
|
# <pkg>_CONFIG_SCRIPTS logic doesn't tweak them enough
|
|
define C_ICAP_TUNE_INSTALLATION
|
|
$(RM) -f $(TARGET_DIR)/etc/c-icap.*.default
|
|
$(SED) 's%/usr/etc/%/etc/%' $(TARGET_DIR)/etc/c-icap.conf
|
|
$(SED) 's%/usr/var/%/var/%' $(TARGET_DIR)/etc/c-icap.conf
|
|
$(SED) 's%INCDIR=.*%INCDIR=$(STAGING_DIR)/usr/include%' \
|
|
$(STAGING_DIR)/usr/bin/{c-icap,c-icap-libicapapi}-config
|
|
$(SED) 's%INCDIR2=.*%INCDIR2=$(STAGING_DIR)/usr/include/c_icap%' \
|
|
$(STAGING_DIR)/usr/bin/{c-icap,c-icap-libicapapi}-config
|
|
$(SED) 's%-L$$LIBDIR %%' $(STAGING_DIR)/usr/bin/c-icap-libicapapi-config
|
|
endef
|
|
|
|
C_ICAP_POST_INSTALL_TARGET_HOOKS += C_ICAP_TUNE_INSTALLATION
|
|
|
|
$(eval $(autotools-package))
|