2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2009-12-23 13:30:45 +01:00
|
|
|
#
|
|
|
|
# squid
|
|
|
|
#
|
2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2009-12-23 13:30:45 +01:00
|
|
|
|
2015-01-27 15:50:19 +01:00
|
|
|
SQUID_VERSION_MAJOR = 3.5
|
2016-10-10 17:50:10 +02:00
|
|
|
SQUID_VERSION = $(SQUID_VERSION_MAJOR).22
|
2016-04-20 20:38:10 +02:00
|
|
|
SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz
|
2013-12-18 19:20:02 +01:00
|
|
|
SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR)
|
2012-10-29 11:57:16 +01:00
|
|
|
SQUID_LICENSE = GPLv2+
|
|
|
|
SQUID_LICENSE_FILES = COPYING
|
2015-03-29 16:33:32 +02:00
|
|
|
# For 0001-assume-get-certificate-ok.patch
|
2013-06-09 04:49:53 +02:00
|
|
|
SQUID_AUTORECONF = YES
|
2012-10-29 11:57:16 +01:00
|
|
|
SQUID_DEPENDENCIES = libcap host-libcap host-pkgconf \
|
|
|
|
$(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)
|
2014-12-24 08:54:24 +01:00
|
|
|
SQUID_CONF_ENV = \
|
|
|
|
ac_cv_epoll_works=yes \
|
|
|
|
ac_cv_func_setresuid=yes \
|
|
|
|
ac_cv_func_va_copy=yes \
|
|
|
|
ac_cv_func___va_copy=yes \
|
|
|
|
ac_cv_func_strnstr=no \
|
2015-01-08 02:09:27 +01:00
|
|
|
ac_cv_have_squid=yes \
|
2015-01-27 21:30:54 +01:00
|
|
|
BUILXCXX="$(HOSTCXX)" \
|
|
|
|
BUILDCXXFLAGS="$(HOST_CXXFLAGS)"
|
2014-12-24 08:54:24 +01:00
|
|
|
SQUID_CONF_OPTS = \
|
|
|
|
--enable-async-io=8 \
|
2016-10-10 17:50:09 +02:00
|
|
|
$(if $(BR2_TOOLCHAIN_USES_MUSL),--disable-linux-netfilter,--enable-linux-netfilter) \
|
2014-12-24 08:54:24 +01:00
|
|
|
--enable-removal-policies="lru,heap" \
|
|
|
|
--with-filedescriptors=1024 \
|
|
|
|
--disable-ident-lookups \
|
2015-07-06 10:02:04 +02:00
|
|
|
--without-mit-krb5 \
|
2014-12-24 08:54:24 +01:00
|
|
|
--enable-auth-basic="fake getpwnam" \
|
|
|
|
--enable-auth-digest="file" \
|
|
|
|
--enable-auth-negotiate="wrapper" \
|
|
|
|
--enable-auth-ntlm="fake" \
|
|
|
|
--disable-strict-error-checking \
|
|
|
|
--enable-external-acl-helpers="file_userip" \
|
|
|
|
--with-logdir=/var/log/squid/ \
|
|
|
|
--with-pidfile=/var/run/squid.pid \
|
|
|
|
--with-swapdir=/var/cache/squid/ \
|
2015-01-14 20:14:43 +01:00
|
|
|
--with-default-user=squid
|
2010-11-08 17:40:35 +01:00
|
|
|
|
squid: rework atomic handling
squid can use the __sync built-ins when available, but uses an
AC_TRY_RUN autoconf tests to check their availability, which isn't
compatible with cross-compilation. Due to this, squid.mk is already
hinting the configure script about this by passing
squid_cv_gnu_atomics=yes/no depending on the availability of atomic
operations.
So far, squid.mk was assuming that BR2_ARCH_HAS_ATOMICS &&
BR2_ARCH_IS_64 was needed, since 8 bytes __sync built-ins are
used. However, this was a bit too restrictive, since certain 32 bits
architectures (ARM, x86) do provide 8 bytes __sync built-ins.
So, instead of using BR2_ARCH_HAS_ATOMICS, we now rely on
BR2_TOOLCHAIN_HAS_SYNC_4 and BR2_TOOLCHAIN_HAS_SYNC_8, since both 4
bytes and 8 bytes __sync built-ins are tested by the autoconf test.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2016-02-02 16:31:29 +01:00
|
|
|
# Atomics in Squid use __sync built-ins on 4 and 8 bytes. However, the
|
|
|
|
# configure script tests them using AC_TRY_RUN, so we have to give
|
|
|
|
# some hints.
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4)$(BR2_TOOLCHAIN_HAS_SYNC_8),yy)
|
2015-03-29 16:33:32 +02:00
|
|
|
SQUID_CONF_ENV += squid_cv_gnu_atomics=yes
|
2015-03-29 16:33:31 +02:00
|
|
|
else
|
2015-03-29 16:33:32 +02:00
|
|
|
SQUID_CONF_ENV += squid_cv_gnu_atomics=no
|
2015-03-29 16:33:31 +02:00
|
|
|
endif
|
|
|
|
|
2012-10-29 11:57:16 +01:00
|
|
|
# On uClibc librt needs libpthread
|
2013-06-30 21:29:09 +02:00
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_USES_UCLIBC),yy)
|
2015-03-29 16:33:32 +02:00
|
|
|
SQUID_CONF_ENV += ac_cv_search_shm_open="-lrt -lpthread"
|
2012-10-29 11:57:16 +01:00
|
|
|
endif
|
|
|
|
|
2009-12-23 13:30:45 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
2015-07-06 10:02:04 +02:00
|
|
|
SQUID_CONF_OPTS += --with-openssl
|
2015-03-29 16:33:32 +02:00
|
|
|
SQUID_DEPENDENCIES += openssl
|
2015-07-06 17:53:35 +02:00
|
|
|
else
|
|
|
|
SQUID_CONF_OPTS += --without-openssl
|
2009-12-23 13:30:45 +01:00
|
|
|
endif
|
|
|
|
|
2015-07-06 10:02:05 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
|
|
|
SQUID_CONF_OPTS += --with-gnutls
|
|
|
|
SQUID_DEPENDENCIES += gnutls
|
|
|
|
else
|
|
|
|
SQUID_CONF_OPTS += --without-gnutls
|
|
|
|
endif
|
|
|
|
|
2010-09-01 23:08:46 +02:00
|
|
|
define SQUID_CLEANUP_TARGET
|
2009-12-23 13:30:45 +01:00
|
|
|
rm -f $(addprefix $(TARGET_DIR)/usr/bin/, \
|
|
|
|
RunCache RunAccel)
|
|
|
|
rm -f $(addprefix $(TARGET_DIR)/etc/, \
|
|
|
|
cachemgr.conf mime.conf.default squid.conf.default)
|
2010-09-01 23:08:46 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
SQUID_POST_INSTALL_TARGET_HOOKS += SQUID_CLEANUP_TARGET
|
|
|
|
|
2015-01-14 20:14:43 +01:00
|
|
|
define SQUID_USERS
|
|
|
|
squid -1 squid -1 * - - - Squid proxy cache
|
|
|
|
endef
|
|
|
|
|
2015-01-14 20:14:44 +01:00
|
|
|
define SQUID_INSTALL_INIT_SYSV
|
|
|
|
$(INSTALL) -m 755 -D package/squid/S97squid \
|
|
|
|
$(TARGET_DIR)/etc/init.d/S97squid
|
|
|
|
endef
|
|
|
|
|
2015-05-23 12:07:42 +02:00
|
|
|
define SQUID_INSTALL_INIT_SYSTEMD
|
2015-08-06 11:06:32 +02:00
|
|
|
$(INSTALL) -D -m 0644 $(@D)/tools/systemd/squid.service \
|
2015-05-23 12:07:42 +02:00
|
|
|
$(TARGET_DIR)/usr/lib/systemd/system/squid.service
|
|
|
|
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
|
|
|
ln -sf ../../../..//usr/lib/systemd/system/squid.service \
|
|
|
|
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service
|
|
|
|
endef
|
|
|
|
|
2012-07-03 00:07:32 +02:00
|
|
|
$(eval $(autotools-package))
|