Makefile 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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 ${TOPDIR}/rules.mk
  4. PKG_NAME:= squid
  5. PKG_VERSION:= 3.0.STABLE20
  6. PKG_RELEASE:= 2
  7. PKG_MD5SUM:= b69577cfc5cfb6808ec426e3a933220d
  8. PKG_DESCR:= squid web and cache proxy
  9. PKG_SECTION:= net
  10. PKG_DEPENDS:= libopenssl libpthread
  11. PKG_URL:= http://www.squid-cache.org
  12. PKG_SITES:= http://www.squid-cache.org/Versions/v3/3.0/
  13. ifeq ($(ADK_COMPILE_SQUID_WITH_UCLIBCXX),y)
  14. PKG_DEPENDS+= uclibc++
  15. else
  16. PKG_DEPENDS+= libstdcxx
  17. endif
  18. AUTH_MODULES:= basic digest ntlm
  19. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_GETPWNAM},)
  20. BASIC_AUTH_HELPERS+= getpwnam
  21. endif
  22. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_NCSA},)
  23. BASIC_AUTH_HELPERS+= NCSA
  24. endif
  25. ifneq (${ADK_PACKAGE_SQUID_MOD_BASIC_AUTH_SMB},)
  26. BASIC_AUTH_HELPERS+= SMB
  27. endif
  28. ifneq (${ADK_PACKAGE_SQUID_MOD_DIGEST_AUTH_PASSWORD},)
  29. DIGEST_AUTH_HELPERS:= password
  30. endif
  31. ifneq (${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_IP_USER},)
  32. EXTERNAL_ACL_HELPERS+= ip_user
  33. endif
  34. ifneq (${ADK_PACKAGE_SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP},)
  35. EXTERNAL_ACL_HELPERS+= unix_group
  36. endif
  37. ifneq (${ADK_PACKAGE_SQUID_MOD_NTLM_AUTH_FAKEAUTH},)
  38. NTLM_AUTH_HELPERS+= fakeauth
  39. endif
  40. ifneq (${ADK_PACKAGE_SQUID_MOD_NTLM_AUTH_SMB_AUTH},)
  41. NTLM_AUTH_HELPERS+= SMB
  42. endif
  43. include ${TOPDIR}/mk/package.mk
  44. define PKG_mod_template
  45. INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
  46. ${2}-install:
  47. ${INSTALL_DIR} $${IDIR_${1}}/usr/lib/squid
  48. ${INSTALL_BIN} ${WRKINST}/usr/lib/squid/${2} \
  49. $${IDIR_${1}}/usr/lib/squid/
  50. endef
  51. $(eval $(call PKG_template,SQUID,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  52. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,${PKG_NAME}-mod-basic-auth-getpwnam,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  53. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_NCSA,${PKG_NAME}-mod-basic-auth-ncsa,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  54. $(eval $(call PKG_template,SQUID_MOD_BASIC_AUTH_SMB,${PKG_NAME}-mod-basic-auth-smb,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  55. $(eval $(call PKG_template,SQUID_MOD_DIGEST_AUTH_PASSWORD,${PKG_NAME}-mod-digest-auth-password,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  56. $(eval $(call PKG_template,SQUID_MOD_EXTERNAL_ACL_IP_USER,${PKG_NAME}-mod-external-acl-ip-user,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  57. $(eval $(call PKG_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,${PKG_NAME}-mod-external-acl-unix-group,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  58. $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_FAKEAUTH,${PKG_NAME}-mod-ntlm-auth-fakeauth,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  59. $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_SMB_AUTH,${PKG_NAME}-mod-ntlm-auth-smb-auth,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  60. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,getpwname_auth))
  61. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_LDAP,ldap))
  62. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_NCSA,ncsa_auth))
  63. $(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_SMB,smb_auth))
  64. $(eval $(call PKG_mod_template,SQUID_MOD_DIGEST_AUTH_PASSWORD,digest_pw_auth))
  65. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_IP_USER,ip_user_check))
  66. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_LDAP_GROUP,ldap_auth))
  67. $(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,squid_unix_group))
  68. $(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_FAKEAUTH,fakeauth_auth))
  69. $(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_SMB_AUTH,ntlm_auth))
  70. ifeq ($(ADK_COMPILE_SQUID_WITH_UCLIBCXX),y)
  71. CONFIGURE_ENV+= CXXFLAGS="-fno-threadsafe-statics -fno-builtin -nostdinc++ \
  72. -I${STAGING_DIR}/usr/include/uClibc++" \
  73. LIBS="-nodefaultlibs -luClibc++ -ldl -lm"
  74. endif
  75. CONFIGURE_STYLE:= autotool gnu
  76. CONFIGURE_ENV+= ac_cv_sizeof_void_p=4 \
  77. ac_cv_sizeof_short=2 \
  78. ac_cv_sizeof_int=4 \
  79. ac_cv_sizeof_long=4 \
  80. ac_cv_sizeof_long_long=8 \
  81. ac_cv_sizeof___int64=0 \
  82. ac_cv_sizeof_int16_t=2 \
  83. ac_cv_sizeof_uint16_t=2 \
  84. ac_cv_sizeof_u_int16_t=2 \
  85. ac_cv_sizeof_int32_t=4 \
  86. ac_cv_sizeof_uint32_t=4 \
  87. ac_cv_sizeof_u_int32_t=4 \
  88. ac_cv_sizeof_int64_t=8 \
  89. ac_cv_sizeof_uint64_t=8 \
  90. ac_cv_sizeof_u_int64_t=8 \
  91. ac_cv_func_setresuid=no \
  92. ac_cv_func_va_copy=no \
  93. ac_cv_func___va_copy=no \
  94. ac_cv_epoll_works=yes \
  95. ac_cv_lib_nsl_main=no \
  96. ac_cv_func_strnstr=no
  97. CONFIGURE_ARGS+= --datadir=/usr/share/squid \
  98. --libexecdir=/usr/lib/squid \
  99. --sysconfdir=/etc/squid \
  100. --with-gnu-ld \
  101. --enable-x-accelerator-vary \
  102. --with-pthreads \
  103. --with-dl \
  104. --enable-kill-parent-hack \
  105. --enable-arp-acl \
  106. --enable-ssl \
  107. --enable-err-languages=English \
  108. --enable-default-err-language=English \
  109. --enable-linux-netfilter \
  110. --enable-icmp \
  111. --enable-external-acl-helpers="" \
  112. --enable-underscores \
  113. --enable-cache-digests \
  114. --enable-referer-log \
  115. --enable-delay-pools \
  116. --disable-snmp \
  117. --disable-esi \
  118. --disable-htcp \
  119. --disable-wccp \
  120. --disable-wccpv2 \
  121. --enable-useragent-log \
  122. --with-openssl=${STAGING_DIR}/usr \
  123. --enable-auth="${AUTH_MODULES}" \
  124. --enable-basic-auth-helpers="${BASIC_AUTH_HELPERS}" \
  125. --enable-ntlm-auth-helpers="${NTLM_AUTH_HELPERS}" \
  126. --enable-digest-auth-helpers="${DIGEST_AUTH_HELPERS}" \
  127. --enable-external-acl-helpers="${EXTERNAL_ACL_HELPERS}"
  128. BUILD_STYLE:= auto
  129. INSTALL_STYLE:= auto
  130. ifeq (${ADK_COMPILE_SQUID_WITH_UCLIBCXX},y)
  131. # add workaround because libtool tries to link libstdc++
  132. post-configure:
  133. ${SED} 's#postdeps="-lstdc.*#postdeps="-lm"#' \
  134. ${WRKBUILD}/libtool
  135. endif
  136. post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
  137. ${INSTALL_DIR} ${IDIR_SQUID}/etc/squid
  138. ${INSTALL_DATA} ${WRKINST}/etc/squid/mime.conf ${IDIR_SQUID}/etc/squid/
  139. ${INSTALL_DATA} ./files/squid.conf ${IDIR_SQUID}/etc/squid/
  140. ${INSTALL_DIR} ${IDIR_SQUID}/usr/share/squid
  141. ${CP} ${WRKINST}/usr/share/squid/* ${IDIR_SQUID}/usr/share/squid/
  142. ${INSTALL_DIR} ${IDIR_SQUID}/usr/sbin ${IDIR_SQUID}/usr/lib/squid
  143. ${INSTALL_BIN} ${WRKINST}/usr/sbin/squid ${IDIR_SQUID}/usr/sbin/
  144. ${INSTALL_BIN} ${WRKINST}/usr/lib/squid/unlinkd ${IDIR_SQUID}/usr/lib/squid
  145. include ${TOPDIR}/mk/pkg-bottom.mk