Blame view

buildroot/buildroot-2016.08.1/package/squid/squid.mk 2.91 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  ################################################################################
  #
  # squid
  #
  ################################################################################
  
  SQUID_VERSION_MAJOR = 3.5
  SQUID_VERSION = $(SQUID_VERSION_MAJOR).20
  SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz
  SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR)
  SQUID_LICENSE = GPLv2+
  SQUID_LICENSE_FILES = COPYING
  # For 0001-assume-get-certificate-ok.patch
  SQUID_AUTORECONF = YES
  SQUID_DEPENDENCIES = libcap host-libcap host-pkgconf \
  	$(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)
  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 \
  	ac_cv_have_squid=yes \
  	BUILXCXX="$(HOSTCXX)" \
  	BUILDCXXFLAGS="$(HOST_CXXFLAGS)"
  SQUID_CONF_OPTS = \
  	--enable-async-io=8 \
  	--enable-linux-netfilter \
  	--enable-removal-policies="lru,heap" \
  	--with-filedescriptors=1024 \
  	--disable-ident-lookups \
  	--without-mit-krb5 \
  	--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/ \
  	--with-default-user=squid
  
  # 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)
  SQUID_CONF_ENV += squid_cv_gnu_atomics=yes
  else
  SQUID_CONF_ENV += squid_cv_gnu_atomics=no
  endif
  
  # On uClibc librt needs libpthread
  ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_USES_UCLIBC),yy)
  SQUID_CONF_ENV += ac_cv_search_shm_open="-lrt -lpthread"
  endif
  
  ifeq ($(BR2_PACKAGE_OPENSSL),y)
  SQUID_CONF_OPTS += --with-openssl
  SQUID_DEPENDENCIES += openssl
  else
  SQUID_CONF_OPTS += --without-openssl
  endif
  
  ifeq ($(BR2_PACKAGE_GNUTLS),y)
  SQUID_CONF_OPTS += --with-gnutls
  SQUID_DEPENDENCIES += gnutls
  else
  SQUID_CONF_OPTS += --without-gnutls
  endif
  
  define SQUID_CLEANUP_TARGET
  	rm -f $(addprefix $(TARGET_DIR)/usr/bin/, \
  		RunCache RunAccel)
  	rm -f $(addprefix $(TARGET_DIR)/etc/, \
  		cachemgr.conf mime.conf.default squid.conf.default)
  endef
  
  SQUID_POST_INSTALL_TARGET_HOOKS += SQUID_CLEANUP_TARGET
  
  define SQUID_USERS
  	squid -1 squid -1 * - - - Squid proxy cache
  endef
  
  define SQUID_INSTALL_INIT_SYSV
  	$(INSTALL) -m 755 -D package/squid/S97squid \
  		$(TARGET_DIR)/etc/init.d/S97squid
  endef
  
  define SQUID_INSTALL_INIT_SYSTEMD
  	$(INSTALL) -D -m 0644 $(@D)/tools/systemd/squid.service \
  		$(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
  
  $(eval $(autotools-package))