1 # $FreeBSD: www/apache22/Makefile 334783 2013-11-24 19:56:26Z ohauer $
7 MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD}
8 DISTNAME= httpd-${PORTVERSION}
11 MAINTAINER?= apache@FreeBSD.org
12 COMMENT?= Version 2.2.x of Apache web server with ${WITH_MPM} MPM.
14 LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
15 libapr-1.so:${PORTSDIR}/devel/apr1 \
16 libpcre.so:${PORTSDIR}/devel/pcre
18 CONFLICTS_INSTALL= caudium14-1.* \
19 apache-*-2.2.* apache22-*-2.2.* \
20 apache-*-2.4.* apache24-*-2.4.*
26 USE_AUTOTOOLS= autoconf libtool
27 USE_RC_SUBR= apache22 htcacheclean
28 LIBTOOLFILES= configure.in
36 .if !defined(MASTERDIR)
39 APACHEDIR= ${MASTERDIR}
42 WITH_MPM?= prefork # or worker, event, itk, peruser
46 .include "${APACHEDIR}/Makefile.options"
48 AUTHNZ_LDAP_CONFIGURE_ON= --enable-authnz-ldap
50 # http://httpd.apache.org/docs/2.2/bind.html
51 IPV4_MAPPED_CONFIGURE_OFF= --disable-v4-mapped
52 IPV4_MAPPED_CONFIGURE_ON= --enable-v4-mapped
54 LDAP_CONFIGURE_ON= --enable-ldap=shared
55 SSL_CFLAGS= -I${OPENSSLINC}
56 SSL_CONFIGURE_ON= --with-ssl=${OPENSSLBASE}
57 SSL_LDFLAGS= -L${OPENSSLLIB}
60 SUEXEC_RSRCLIMIT_EXTRA_PATCHES= ${FILESDIR}/extra-patch-suexec_rsrclimit
61 SUEXEC_USERDIR_EXTRA_PATCHES= ${FILESDIR}/extra-patch-suexec_userdir
63 .include <bsd.port.options.mk>
65 ETC_SUBDIRS= Includes envvars.d extra modules.d
67 .if ! ${PORT_OPTIONS:MDOCS}
68 MAKE_ENV+= NOPORTDOCS=yes
71 APR_CONFIG?= ${LOCALBASE}/bin/apr-1-config
72 APU_CONFIG?= ${LOCALBASE}/bin/apu-1-config
74 # APU modules used by AUTHN_DBD DBD
75 APU_DBD_MYSQL?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_mysql.so
76 APU_DBD_PGSQL?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_pgsql.so
77 APU_DBD_SQLITE3?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_sqlite3.so
78 # APU module used by AUTHNZ_LDAP LDAP
79 APU_LDAP?= ${LOCALBASE}/lib/apr-util-1/apr_ldap.so
80 # APU module used by SESSION_CRYPTO
81 APU_CRYPTO_OPENSSL?= ${LOCALBASE}/lib/apr-util-1/apr_crypto_openssl.so
82 APU_CRYPTO_NSS?= ${LOCALBASE}/lib/apr-util-1/apr_crypto_nss.so
84 CONFIGURE_ARGS+=--prefix=${PREFIX} \
85 --enable-layout=FreeBSD \
86 --with-port=${WITH_HTTP_PORT} \
87 --with-sslport=${WITH_SSL_PORT} \
88 --with-expat=${LOCALBASE} \
89 --with-iconv=${ICONV_PREFIX} \
91 --with-pcre=${LOCALBASE} \
92 --with-apr=${APR_CONFIG} \
93 --with-apr-util=${APU_CONFIG}
96 CONFIG_SHELL="${SH}" \
97 LOCALBASE="${LOCALBASE}"
99 MAKE_ENV+= EXPR_COMPAT=yes \
100 INSTALL_MAN="${INSTALL_MAN}" \
101 EXAMPLESDIR=${EXAMPLESDIR}
103 #=====================================================
104 # CONFIGURE_ARGS will be handled in Makefile.modules,
105 # here we do only OPTIONS fixups
107 .if ${PORT_OPTIONS:MSUEXEC_RSRCLIMIT} && !${PORT_OPTIONS:MSUEXEC}
108 IGNORE= suEXEC resource limit patch requires mod_suexec.\
109 Please (re)run 'make config' and choose SUEXEC option also
112 .if ${PORT_OPTIONS:MSUEXEC_USERDIR} && !${PORT_OPTIONS:MSUEXEC}
113 IGNORE= suEXEC UserDir patch requires mod_suexec.\
114 Please (re)run 'make config' and choose SUEXEC option also
117 .include <bsd.port.pre.mk>
118 .include "${APACHEDIR}/Makefile.modules"
122 @${ECHO_MSG} " You can check your modules configuration by using make show-modules"
126 @${SED} -ne 's/^##//p' ${APACHEDIR}/Makefile.doc
129 # remove possible leftover .svn directories in the sources
130 @${FIND} ${WRKSRC} -type d -name .svn -print | ${XARGS} ${RM} -rf
131 # limit grep results ...
132 @${FIND} ${WRKSRC} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
135 @${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c
136 # IPv4_mapping fix: https://issues.apache.org/bugzilla/show_bug.cgi?id=53824
137 @${REINPLACE_CMD} -e 's|freebsd5|freebsd|' \
138 -e 's|^perlbin=.*|perlbin=${PERL}|' \
139 ${WRKSRC}/configure.in ${WRKSRC}/configure
140 @${RM} -f ${WRKSRC}/docs/docroot/*.bak
141 @${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual
142 # we use devel/apr and devel/pcre
143 @${RM} -rf ${WRKSRC}/srclib
144 @${REINPLACE_CMD} -e 's/srclib//' ${WRKSRC}/Makefile.in
147 @FTPUSERS=`${EGREP} -v '^#' /etc/ftpusers| ${TR} -s "\n" " "` ;\
148 ${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$${FTPUSERS}," ${WRKSRC}/docs/conf/extra/httpd-userdir.conf
149 @${REINPLACE_CMD} -e "s,%%WWWOWN%%,${WWWOWN}," -e "s,%%WWWGRP%%,${WWWGRP}," ${WRKSRC}/docs/conf/httpd.conf
150 @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," ${WRKSRC}/support/envvars-std
153 @${MKDIR} ${ETC_SUBDIRS:S|^|${STAGEDIR}${ETCDIR}/|}
154 ${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${STAGEDIR}${ETCDIR}/Includes/
155 ${INSTALL_DATA} ${FILESDIR}/README_modules.d ${STAGEDIR}/${ETCDIR}/modules.d/
157 .if ${PORT_OPTIONS:MLOG_FORENSIC}
158 @${INSTALL_SCRIPT} ${WRKSRC}/support/check_forensic ${STAGEDIR}${PREFIX}/sbin
161 # maintainer only, check for new modules
163 @${AWK} '/: checking whether to enable mod_/ \
164 {printf "%%%%%s%%%%libexec/apache22/%s.so\n", \
165 toupper($$8), $$8}' ${WRKSRC}/configure \
168 | ${GREP} -E -v '^%%MOD_(ECHO|EXAMPLE|HTTP|IDENT|ISAPI|SO)%%'
170 .include <bsd.port.post.mk>