mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-27 05:10:36 +00:00
269 lines
8.1 KiB
Makefile
269 lines
8.1 KiB
Makefile
# Makefile.modules
|
|
# Author: Clement Laforet <clement@FreeBSD.org>
|
|
#
|
|
# This file is used to build modules list, DBM dependencies and MPM selection.
|
|
# I hope it can easily handle external modules (such as mod_perl) or MPMs, like
|
|
# muxmpm.
|
|
#
|
|
# Note to myself: (to generate PLIST_SUB entries for modules)
|
|
# gsed 's/^\(.*\)mod\(.*\)\.so/%%\MOD\U\2%%\L\1mod\2\.so/' pkg-plist > tmp
|
|
# mv tmp pkg-plist
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
.if defined(SLAVE_DESIGNED_FOR) && ${PORTVERSION} != ${SLAVE_DESIGNED_FOR}
|
|
IGNORE= "Sorry, ${SLAVENAME} and ${PORTNAME} versions are out of sync"
|
|
.endif
|
|
|
|
# MPM section:
|
|
# << TO BE WRITTEN >>
|
|
.if defined (SLAVE_PORT_MPM)
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="@comment "
|
|
PKGNAMESUFFIX= -${SLAVE_PORT_MPM}
|
|
.else
|
|
. if ${WITH_MPM} != "prefork"
|
|
PKGNAMESUFFIX= -${WITH_MPM:L}
|
|
WITH_THREADS= yes
|
|
WITHOUT_MODULES+= cgi
|
|
. if ${WITH_MPM:L} == "worker"
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="" THREADPOOL="@comment "
|
|
. elif ${WITH_MPM:L} == "perchild"
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="@comment " THREADPOOL="@comment "
|
|
. elif ${WITH_MPM:L} == "threadpool"
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="@comment " THREADPOOL=""
|
|
. else
|
|
IGNORE= "Unknown MPM: ${WITH_MPM}"
|
|
. endif
|
|
. else
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="@comment " THREADPOOL="@comment "
|
|
. endif
|
|
.else
|
|
PLIST_SUB+= PREFORK="@comment " WORKER="@comment " THREADPOOL="@comment "
|
|
.endif
|
|
|
|
# xDBM section
|
|
#
|
|
.if !defined(WITH_DBM) && defined(WITH_BERKELEYDB)
|
|
WITH_DBM=bdb
|
|
.endif
|
|
.if defined(WITH_DBM) && !defined(WITH_BERKELEYDB)
|
|
WITH_BERKELEYDB= FreeBSD
|
|
.endif
|
|
|
|
.if defined(WITH_DBM)
|
|
. if ${WITH_DBM:L} == "sdbm"
|
|
CONFIGURE_ARGS+= --with-dbm=sdbm
|
|
. elif ${WITH_DBM:L} == "gdbm"
|
|
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
|
CONFIGURE_ARGS+= --with-gdbm=${LOCALBASE}
|
|
. elif ${WITH_DBM:L} == "db" || ${WITH_DBM:L} == "bdb"
|
|
. if ${WITH_BERKELEYDB} == "FreeBSD"
|
|
CONFIGURE_ARGS+= --with-dbm=db185 \
|
|
--with-berkeley-db=/usr
|
|
. elif ${WITH_BERKELEYDB} == "db2"
|
|
LIB_DEPENDS+= db2:${PORTSDIR}/databases/db2
|
|
CONFIGURE_ARGS+= --with-dbm=db2 \
|
|
--with-berkeley-db=${LOCALBASE}
|
|
. elif ${WITH_BERKELEYDB} == "db3"
|
|
LIB_DEPENDS+= db3:${PORTSDIR}/databases/db3
|
|
CONFIGURE_ARGS+= --with-dbm=db3 \
|
|
--with-berkeley-db=${LOCALBASE}
|
|
. elif ${WITH_BERKELEYDB} == "db4"
|
|
LIB_DEPENDS+= db4:${PORTSDIR}/databases/db4
|
|
CONFIGURE_ARGS+= --with-dbm=db4 \
|
|
--with-berkeley-db=${LOCALBASE}
|
|
. elif ${WITH_BERKELEYDB} == "db41"
|
|
LIB_DEPENDS+= db41:${PORTSDIR}/databases/db41
|
|
CONFIGURE_ARGS+= --with-dbm=db41 \
|
|
--with-berkeley-db=${LOCALBASE}
|
|
. elif ${WITH_BERKELEYDB} == "db42"
|
|
LIB_DEPENDS+= db-4.2:${PORTSDIR}/databases/db42
|
|
CONFIGURE_ARGS+= --with-dbm=db42 \
|
|
--with-berkeley-db=${LOCALBASE}/include:${LOCALBASE}/lib/db42
|
|
. else
|
|
IGNORE= "Unknown Berkeley DB version"
|
|
. endif
|
|
. else
|
|
IGNORE= "Unknown DBM"
|
|
. endif
|
|
.else
|
|
CONFIGURE_ARGS+= --with-dbm=sdbm
|
|
.endif
|
|
|
|
# Modules section:
|
|
# How does it works ?
|
|
# << TO BE WRITTEN >>
|
|
# All supported modules
|
|
|
|
AUTH_MODULES= access auth auth_anon auth_dbm auth_digest
|
|
DAV_MODULES= dav dav_fs
|
|
EXPERIMENTAL_MODULES= bucketeer case_filter case_filter_in ext_filter charset_lite \
|
|
optional_hook_export optional_hook_import \
|
|
optional_fn_import optional_fn_export
|
|
LDAP_MODULES= ldap auth_ldap
|
|
MISC_MODULES= actions alias asis autoindex cache cern_meta \
|
|
cgi charset_lite deflate dir disk_cache env expires \
|
|
file_cache headers imap include info log_config logio mime \
|
|
mime_magic negotiation rewrite setenvif speling status \
|
|
unique_id userdir usertrack vhost_alias
|
|
PROXY_MODULES= proxy proxy_connect proxy_ftp proxy_http
|
|
SSL_MODULE= ssl
|
|
SUEXEC_MODULES= suexec
|
|
THREADS_MODULES= cgid cache file_cache disk_cache mem_cache
|
|
|
|
# Work in progress
|
|
SLAVE_PORT_MODULES?= # If you are porting a slave port for apache2 please define SLAVE_PORT_MODULES
|
|
|
|
DEFAULT_MODULES= ${AUTH_MODULES} ${DAV_MODULES} ${MISC_MODULES} \
|
|
${PROXY_MODULES} ${SLAVE_PORT_MODULES}
|
|
|
|
AVAILABLE_MODULES= ${DEFAULT_MODULES} ${EXPERIMENTAL_MODULES} ${LDAP_MODULES} ${THREADS_MODULES} \
|
|
${SSL_MODULE} ${SUEXEC_MODULES} ${SLAVE_PORT_MODULES}
|
|
|
|
# Setting "@comment " as default.
|
|
.for module in ${AVAILABLE_MODULES}
|
|
${module}_PLIST_SUB= "@comment "
|
|
.endfor
|
|
|
|
# Configure
|
|
|
|
.if defined(WITH_MODULES) && ( defined(WITHOUT_MODULES) || defined(WITH_EXTRA_MODULES))
|
|
IGNORE= "WITH_MODULES and WITHOUT_MODULES are mutually exclusive"
|
|
.endif
|
|
|
|
.if defined(WITHOUT_AUTH) || defined(WITH_CUSTOM_AUTH) || \
|
|
defined(WITHOUT_PROXY) || defined(WITH_CUSTOM_PROXY) || \
|
|
defined(WITHOUT_DAV)
|
|
CUSTOM= YES
|
|
.endif
|
|
|
|
.if !defined(WITH_STATIC_APACHE)
|
|
# FYI
|
|
#DYNAMIC_MODULES= so
|
|
CONFIGURE_ARGS+= --enable-so
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-so
|
|
WITH_ALL_STATIC_MODULES= YES
|
|
.endif
|
|
|
|
### This part is not processed if WITH_MODULES is defined
|
|
.if defined(WITH_MODULES)
|
|
_APACHE_MODULES+= ${WITH_MODULES}
|
|
.elif !defined(CUSTOM)
|
|
_APACHE_MODULES+= ${DEFAULT_MODULES}
|
|
.else
|
|
. if defined(WITH_CUSTOM_AUTH)
|
|
_APACHE_MODULES+= ${WITH_CUSTOM_AUTH}
|
|
. elif !defined(WITHOUT_AUTH)
|
|
_APACHE_MODULES+= ${AUTH_MODULES}
|
|
. endif
|
|
. if defined(WITH_CUSTOM_PROXY)
|
|
_APACHE_MODULES+= ${WITH_CUSTOM_PROXY}
|
|
. elif !defined(WITHOUT_PROXY)
|
|
_APACHE_MODULES+= ${PROXY_MODULES}
|
|
. endif
|
|
. if !defined(WITHOUT_DAV)
|
|
_APACHE_MODULES+= dav dav_fs
|
|
. endif
|
|
_APACHE_MODULES+= ${MISC_MODULES} ${SLAVE_PORT_MODULES}
|
|
.endif # end of module selection
|
|
|
|
.if defined (WITH_LDAP)
|
|
_APACHE_MODULES+= ${LDAP_MODULES}
|
|
.endif
|
|
|
|
.if defined(WITH_THREADS)
|
|
CONFIGURE_ARGS+= --enable-threads
|
|
CFLAGS+= -DFREEBSD_THREAD_HACK
|
|
. if ${WITH_PTHREAD_LIBS} != "c_r" && ${OSVERSION} > 500023
|
|
CONFIGURE_ENV+= apr_cv_pthreads_lib=-l${WITH_PTHREAD_LIBS} \
|
|
apr_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
|
|
. endif
|
|
. if !defined(WITH_CUSTOM_THREADS)
|
|
_APACHE_MODULES+= ${THREADS_MODULES}
|
|
. else
|
|
_APACHE_MODULES+= ${WITH_CUSTOM_THREADS}
|
|
. endif
|
|
.endif # endif of module selection
|
|
|
|
.if !defined(WITHOUT_SSL)
|
|
_APACHE_MODULES+= ${SSL_MODULE}
|
|
CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE}
|
|
.endif
|
|
|
|
.if defined(WITH_SUEXEC)
|
|
SUEXEC_DOCROOT?= ${PREFIX_RELDEST}/www/data
|
|
SUEXEC_USERDIR?= public_html
|
|
SUEXEC_SAFEPATH?= ${PREFIX_RELDEST}/bin:${LOCALBASE}/bin:/usr/bin:/bin
|
|
SUEXEC_LOGFILE?= /var/log/httpd-suexec.log
|
|
SUEXEC_UIDMIN?= 1000
|
|
SUEXEC_GIDMIN?= 1000
|
|
SUEXEC_CALLER?= ${WWWOWN}
|
|
_APACHE_MODULES+= ${SUEXEC_MODULES}
|
|
CONFIGURE_ARGS+= --with-suexec-caller=${SUEXEC_CALLER} \
|
|
--with-suexec-uidmin=${SUEXEC_UIDMIN} \
|
|
--with-suexec-gidmin=${SUEXEC_GIDMIN} \
|
|
--with-suexec-userdir="${SUEXEC_USERDIR}" \
|
|
--with-suexec-docroot="${SUEXEC_DOCROOT}" \
|
|
--with-suexec-safepath="${SUEXEC_SAFEPATH}" \
|
|
--with-suexec-logfile="${SUEXEC_LOGFILE}" \
|
|
--with-suexec-bin="${PREFIX_RELDEST}/sbin/suexec"
|
|
. if defined(WITH_SUEXEC_UMASK)
|
|
CONFIGURE_ARGS+= --with-suexec-umask=${WITH_SUEXEC_UMASK}
|
|
. endif
|
|
.endif
|
|
.if defined(WITH_EXTRA_MODULES)
|
|
_APACHE_MODULES+= ${WITH_EXTRA_MODULES}
|
|
.endif
|
|
|
|
.if defined(WITH_EXPERIMENTAL)
|
|
_APACHE_MODULES+= ${EXPERIMENTAL_MODULES}
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_MODULES)
|
|
APACHE_MODULES= ${_APACHE_MODULES}
|
|
.else
|
|
APACHE_MODULES!= \
|
|
for module in ${_APACHE_MODULES}; do \
|
|
${ECHO_CMD} ${WITHOUT_MODULES} | ${GREP} -wq $${module} 2> /dev/null || \
|
|
${ECHO_CMD} $${module}; \
|
|
done
|
|
.endif
|
|
|
|
.if defined(WITH_STATIC_MODULES)
|
|
_CONFIGURE_ARGS!= \
|
|
for module in ${APACHE_MODULES} ; do \
|
|
${ECHO_CMD} ${WITH_STATIC_MODULES} | \
|
|
${GREP} -wq $${module} 2> /dev/null ; \
|
|
if [ "$${?}" = "0" ] ; then \
|
|
${ECHO_CMD} "--enable-$${module}"; \
|
|
else \
|
|
${ECHO_CMD} "--enable-$${module}=shared"; \
|
|
fi; done
|
|
CONFIGURE_ARGS+= ${_CONFIGURE_ARGS}
|
|
.elif defined(WITH_STATIC_APACHE) || defined(WITH_ALL_STATIC_MODULES)
|
|
CONFIGURE_ARGS+= --enable-modules="${APACHE_MODULES}"
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-mods-shared="${APACHE_MODULES}"
|
|
.endif
|
|
|
|
.if defined(WITH_STATIC_MODULES)
|
|
_SHARED_MODULES!= \
|
|
for module in ${APACHE_MODULES} ; do \
|
|
${ECHO_CMD} ${WITH_STATIC_MODULES} | ${GREP} -wq $${module} 2> /dev/null || \
|
|
${ECHO_CMD} $${module}; \
|
|
done
|
|
SHARED_MODULES= ${_SHARED_MODULES}
|
|
.elif !defined(WITH_ALL_STATIC_MODULES)
|
|
SHARED_MODULES= ${APACHE_MODULES}
|
|
.endif
|
|
|
|
. for module in ${SHARED_MODULES}
|
|
${module}_PLIST_SUB= ""
|
|
. endfor
|
|
|
|
.for module in ${AVAILABLE_MODULES}
|
|
PLIST_SUB+= MOD_${module:U}=${${module}_PLIST_SUB}
|
|
.endfor
|