Makefile 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include ${ADK_TOPDIR}/rules.mk
  4. PKG_NAME:= squid
  5. PKG_VERSION:= 3.5.26
  6. PKG_RELEASE:= 1
  7. PKG_HASH:= baa1eecb7d6e18881f4455060d80ee7cb95ae7e2695fdccf7e21ccc8f879a982
  8. PKG_DESCR:= web and cache proxy
  9. PKG_SECTION:= net/proxy
  10. PKG_DEPENDS:= libltdl
  11. PKG_BUILDDEP:= libtool
  12. PKG_NEEDS:= threads c++
  13. PKG_URL:= http://www.squid-cache.org/
  14. PKG_SITES:= http://www.squid-cache.org/Versions/v3/3.5/
  15. PKG_SYSTEM_DEPENDS:= !mikrotik-rb532
  16. PKG_SUBPKGS:= SQUID SQUID_MOD_BASIC_AUTH_GETPWNAM SQUID_MOD_BASIC_AUTH_NCSA
  17. PKG_SUBPKGS+= SQUID_MOD_BASIC_AUTH_SMB SQUID_MOD_DIGEST_AUTH_FILE
  18. PKG_SUBPKGS+= SQUID_MOD_EXTERNAL_ACL_FILE_USERIP SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP
  19. PKG_SUBPKGS+= SQUID_MOD_NTLM_AUTH_FAKE SQUID_MOD_BASIC_AUTH_LDAP
  20. PKGSD_SQUID_MOD_BASIC_AUTH_GETPWNAM:= authentication via getpwnam
  21. PKGSN_SQUID_MOD_BASIC_AUTH_GETPWNAM:= squid
  22. PKGSD_SQUID_MOD_BASIC_AUTH_NCSA:= authentication via NCSA
  23. PKGSN_SQUID_MOD_BASIC_AUTH_NCSA:= squid
  24. PKGSD_SQUID_MOD_BASIC_AUTH_SMB:= authentication via SMB
  25. PKGSN_SQUID_MOD_BASIC_AUTH_SMB:= squid
  26. PKGSD_SQUID_MOD_DIGEST_AUTH_FILE:= digest authentication with file
  27. PKGSN_SQUID_MOD_DIGEST_AUTH_FILE:= squid
  28. PKGSD_SQUID_MOD_EXTERNAL_ACL_FILE_USERIP:= external acl file userip
  29. PKGSN_SQUID_MOD_EXTERNAL_ACL_FILE_USERIP:= squid
  30. PKGSD_SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP:= external acl unix group
  31. PKGSN_SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP:= squid
  32. PKGSD_SQUID_MOD_NTLM_AUTH_FAKE:= ntlm auth fake
  33. PKGSN_SQUID_MOD_NTLM_AUTH_FAKE:= squid
  34. PKGSD_SQUID_MOD_BASIC_AUTH_LDAP:= basic authentication via LDAP
  35. PKGSN_SQUID_MOD_BASIC_AUTH_LDAP:= squid
  36. PKGSS_SQUID_MOD_BASIC_AUTH_LDAP:= libopenldap
  37. PKGSB_SQUID_MOD_BASIC_AUTH_LDAP:= openldap
  38. PKG_HOST_DEPENDS:= !netbsd !cygwin
  39. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_GETPWNAM},)
  40. BASIC_AUTH_HELPERS+= getpwnam
  41. endif
  42. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_NCSA},)
  43. BASIC_AUTH_HELPERS+= NCSA
  44. endif
  45. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_SMB},)
  46. BASIC_AUTH_HELPERS+= SMB
  47. endif
  48. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_LDAP},)
  49. BASIC_AUTH_HELPERS+= LDAP
  50. endif
  51. ifeq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_SMB}${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_NCSA}${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_GETPWNAM},)
  52. BASIC_AUTH_HELPERS:= none
  53. endif
  54. ifneq (${ADK_PACKAGE_SQUID_MOD_DIGEST_AUTH_FILE},)
  55. DIGEST_AUTH_HELPERS:= file
  56. else
  57. DIGEST_AUTH_HELPERS:= none
  58. endif
  59. ifneq (${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_FILE_USERIP},)
  60. EXTERNAL_ACL_HELPERS+= file_userip
  61. endif
  62. ifneq (${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP},)
  63. EXTERNAL_ACL_HELPERS+= unix_group
  64. endif
  65. ifeq (${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_FILE_USERIP}${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP},)
  66. EXTERNAL_ACL_HELPERS:= none
  67. endif
  68. ifneq (${ADK_PACKAGE_SQUID_MOD_NTLM_AUTH_FAKE},)
  69. NTLM_AUTH_HELPERS+= fake
  70. else
  71. NTLM_AUTH_HELPERS+= none
  72. endif
  73. include ${ADK_TOPDIR}/mk/package.mk
  74. define PKG_mod_template
  75. INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
  76. ${2}-install:
  77. ${INSTALL_DIR} $${IDIR_${1}}/usr/lib/squid
  78. ${INSTALL_BIN} ${WRKINST}/usr/lib/squid/${2} \
  79. $${IDIR_${1}}/usr/lib/squid/
  80. endef
  81. $(eval $(call PKG_template,SQUID,squid,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  82. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,squid-mod-basic-auth-getpwnam,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  83. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_NCSA,squid-mod-basic-auth-ncsa,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  84. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_SMB,squid-mod-basic-auth-smb,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  85. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_LDAP,squid-mod-basic-auth-ldap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  86. $(eval $(call PKG_template,SQUID_MOD_DIGEST_AUTH_FILE,squid-mod-digest-auth-file,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  87. $(eval $(call PKG_template,SQUID_MOD_EXTERNAL_ACL_FILE_USERIP,squid-mod-external-acl-file-userip,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  88. $(eval $(call PKG_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,squid-mod-external-acl-unix-group,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  89. $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_FAKE,squid-mod-ntlm-auth-fake,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  90. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,basic_getpwnam_auth))
  91. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_LDAP,basic_ldap_auth))
  92. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_NCSA,basic_ncsa_auth))
  93. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_SMB,basic_smb_auth))
  94. $(eval $(call PKG_mod_template,SQUID_MOD_DIGEST_AUTH_FILE,digest_file_auth))
  95. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_FILE_USERIP,ext_file_userip_acl))
  96. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_LDAP_GROUP,ldap_auth))
  97. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,ext_unix_group_acl))
  98. $(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_FAKE,ntlm_fake_auth))
  99. TARGET_LDFLAGS+= -lpthread
  100. HOST_CXXFLAGS+= -static-libstdc++
  101. AUTOTOOL_STYLE:= autoreconf
  102. CONFIGURE_ENV+= ac_cv_sizeof_void_p=4 \
  103. ac_cv_sizeof_short=2 \
  104. ac_cv_sizeof_int=4 \
  105. ac_cv_sizeof_long=4 \
  106. ac_cv_sizeof_long_long=8 \
  107. ac_cv_sizeof___int64=0 \
  108. ac_cv_sizeof_int16_t=2 \
  109. ac_cv_sizeof_uint16_t=2 \
  110. ac_cv_sizeof_u_int16_t=2 \
  111. ac_cv_sizeof_int32_t=4 \
  112. ac_cv_sizeof_uint32_t=4 \
  113. ac_cv_sizeof_u_int32_t=4 \
  114. ac_cv_sizeof_int64_t=8 \
  115. ac_cv_sizeof_uint64_t=8 \
  116. ac_cv_sizeof_u_int64_t=8 \
  117. ac_cv_func_setresuid=no \
  118. ac_cv_func_va_copy=no \
  119. ac_cv_func___va_copy=no \
  120. ac_cv_epoll_works=yes \
  121. ac_cv_lib_nsl_main=no \
  122. ac_cv_func_strnstr=no \
  123. squid_cv_pf_inet6=yes \
  124. squid_cv_gnu_atomics=yes \
  125. ac_cv_have_squid=yes
  126. XAKE_FLAGS+= MKDIR_P="mkdir -p"
  127. CONFIGURE_ARGS+= --datadir=/usr/share/squid \
  128. --libexecdir=/usr/lib/squid \
  129. --sysconfdir=/etc/squid \
  130. --with-gnu-ld \
  131. --enable-x-accelerator-vary \
  132. --with-pthreads \
  133. --with-dl \
  134. --disable-debug-cbdata \
  135. --disable-strict-error-checking \
  136. --enable-kill-parent-hack \
  137. --enable-arp-acl \
  138. --enable-err-languages=English \
  139. --enable-default-err-language=English \
  140. --enable-linux-netfilter \
  141. --enable-icmp \
  142. --enable-underscores \
  143. --enable-cache-digests \
  144. --enable-referer-log \
  145. --enable-delay-pools \
  146. --without-libcap \
  147. --disable-snmp \
  148. --disable-esi \
  149. --disable-ssl \
  150. --disable-htcp \
  151. --disable-wccp \
  152. --disable-wccpv2 \
  153. --enable-useragent-log \
  154. --without-krb5-config \
  155. --enable-negotiate-auth-helpers=no \
  156. --enable-auth \
  157. --enable-auth-basic="${BASIC_AUTH_HELPERS}" \
  158. --enable-auth-ntlm="${NTLM_AUTH_HELPERS}" \
  159. --enable-auth-digest="${DIGEST_AUTH_HELPERS}" \
  160. --enable-external-acl-helpers="${EXTERNAL_ACL_HELPERS}"
  161. squid-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
  162. ${INSTALL_DIR} ${IDIR_SQUID}/etc/squid
  163. ${INSTALL_DATA} ${WRKINST}/etc/squid/mime.conf \
  164. ${IDIR_SQUID}/etc/squid/
  165. ${INSTALL_DATA} ./files/squid.conf ${IDIR_SQUID}/etc/squid/
  166. ${INSTALL_DIR} ${IDIR_SQUID}/usr/share/squid/errors
  167. ${CP} ${WRKINST}/usr/share/squid/errors/en \
  168. ${IDIR_SQUID}/usr/share/squid/errors
  169. ${CP} ${WRKINST}/usr/share/squid/errors/templates \
  170. ${IDIR_SQUID}/usr/share/squid/errors
  171. ${CP} ${WRKINST}/usr/share/squid/icons ${IDIR_SQUID}/usr/share/squid/
  172. ${INSTALL_DIR} ${IDIR_SQUID}/usr/sbin ${IDIR_SQUID}/usr/lib/squid
  173. ${INSTALL_BIN} ${WRKINST}/usr/sbin/squid ${IDIR_SQUID}/usr/sbin/
  174. ${INSTALL_BIN} ${WRKINST}/usr/lib/squid/log_file_daemon \
  175. ${IDIR_SQUID}/usr/lib/squid
  176. ${INSTALL_BIN} ${WRKINST}/usr/lib/squid/unlinkd \
  177. ${IDIR_SQUID}/usr/lib/squid
  178. include ${ADK_TOPDIR}/mk/pkg-bottom.mk