diff options
author | ohauer <ohauer@FreeBSD.org> | 2012-08-14 03:51:11 +0800 |
---|---|---|
committer | ohauer <ohauer@FreeBSD.org> | 2012-08-14 03:51:11 +0800 |
commit | 8e9ac5930368c8e1eaa99d57c964226e077c1b1b (patch) | |
tree | 40c29332846280b75968a0ef9408dda497d82dbd /Mk | |
parent | f34bf5f226d04fd9a53cfc11faa69de052a3fc0e (diff) | |
download | freebsd-ports-gnome-8e9ac5930368c8e1eaa99d57c964226e077c1b1b.tar.gz freebsd-ports-gnome-8e9ac5930368c8e1eaa99d57c964226e077c1b1b.tar.zst freebsd-ports-gnome-8e9ac5930368c8e1eaa99d57c964226e077c1b1b.zip |
- rewrite bsd.apache.mk (prepare for options NG support)
keep full backward support until apache20 is removed from the tree
comment code to remove with MFC TODO:
- adjust apache20 and apache22 ports
changes are transparent for users (no PORTREVISION bump)
Users who are using special build instructions in make.conf, such as
- WITH_STATIC_MODULES= alias dir log_config mime rewrite setenvif vhost_alias
should convert the values to UPPERCASE
- WITH_STATIC_MODULES= ALIAS DIR LOG_CONFIG MIME REWRITE SETENVIF VHOST_ALIAS
At the moment code to support old lowercase style is in place, but
target to remove in favor for options NG.
with hat apache@
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/bsd.apache.mk | 180 |
1 files changed, 91 insertions, 89 deletions
diff --git a/Mk/bsd.apache.mk b/Mk/bsd.apache.mk index 3c62a49349d4..36ede056a62d 100644 --- a/Mk/bsd.apache.mk +++ b/Mk/bsd.apache.mk @@ -92,9 +92,9 @@ _ERROR_MSG= : Error from bsd.apache.mk. # two versions or in combination with range! .if defined(USE_APACHE) && !empty(USE_APACHE) . if ${USE_APACHE:Mcommon*} != "" -AP_PORT_IS_SERVER= YES +AP_PORT_IS_SERVER= yes . elif ${USE_APACHE:C/\-//:S/^20//:S/^22//:C/\+$//} == "" -AP_PORT_IS_MODULE= YES +AP_PORT_IS_MODULE= yes . if ${USE_APACHE:C/\-//:S/^20//:S/^22//} == "+" AP_PLUS= yes . endif @@ -115,12 +115,16 @@ IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( no version specified ) # =============================================================== .if defined(AP_PORT_IS_SERVER) +# MFC TODO: remove this check +# used only in apache22-peruser-mpm, remved in rev. 253708 +# http://svnweb.freebsd.org/ports?view=revision&revision=253708 # For slave ports: .if defined(SLAVE_DESIGNED_FOR) && ${PORTVERSION} != ${SLAVE_DESIGNED_FOR} IGNORE= Sorry, ${SLAVENAME} and ${PORTNAME} versions are out of sync ${PORTVERSION} != ${SLAVE_DESIGNED_FOR} .endif -# used by www/cakeph* ports +# MFC TODO: remove this check +# used only by www/cakephp* ports .if defined(SLAVE_PORT_MODULES) DEFAULT_MODULES_CATEGORIES+= SLAVE_PORT ALL_MODULES_CATEGORIES+= SLAVE_PORT @@ -129,71 +133,75 @@ ALL_MODULES_CATEGORIES+= SLAVE_PORT # Module selection .for category in ${DEFAULT_MODULES_CATEGORIES} DEFAULT_MODULES+= ${${category}_MODULES} -WITH_${category}_MODULES= YES +WITH_${category}_MODULES= yes .endfor .for category in ${ALL_MODULES_CATEGORIES} AVAILABLE_MODULES+= ${${category}_MODULES} .endfor +# == start convert param to UPPERCASE +# detect lowercase params in make.conf, users should them to UPPERCASE +# In near future we will throw an IGNORE message +#_ERROR_DLCM= ... detected (make.conf), please convert apache releated params to UPPERCASE +.if defined(WITH_MODULES) && ${WITH_MODULES:M[a-z]*} +#IGNNORE= lowercase WITH_MODULES= ${_ERROR_DLCM} +WITH_MODULES:=${WITH_MODULES:U} +.endif +.if defined(WITHOUT_MODULES) && ${WITHOUT_MODULES:M[a-z]*} +#IGNORE= lowercase WITHOUT_MODULES= ${_ERROR_DLCM} +WITHOUT_MODULES:=${WITHOUT_MODULES:U} +.endif +.if defined(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M[a-z]*} +#IGNORE= lowercase WITH_STATIC_MODULES= ${_ERROR_DLCM} +WITH_STATIC_MODULES:=${WITH_STATIC_MODULES:U} +.endif +# == end convert param to UPPERCASE + # Setting "@comment " as default. -.for module in ${AVAILABLE_MODULES} -${module}_PLIST_SUB= "@comment " +.for module in ${AVAILABLE_MODULES:O} +${module}_PLIST_SUB= "@comment " +_DISABLE_MODULES+= --disable-${module:L} .endfor # Configure # dirty hacks to make sure all modules are disabled before we select them -.if ${USE_APACHE} == common20 -CONFIGURE_ARGS+= --disable-access --disable-auth \ - --disable-charset-lite --disable-include \ - --disable-log-config --disable-env --disable-setenvif \ - --disable-mime --disable-status --disable-autoindex \ - --disable-asis --disable-cgid --disable-cgi \ - --disable-negotiation --disable-dir --disable-imap \ - --disable-actions --disable-userdir --disable-alias -.elif ${USE_APACHE} == common22 -CONFIGURE_ARGS+= --disable-authn-file --disable-authn-default \ - --disable-authz-host --disable-authz-groupfile \ - --disable-authz-user --disable-authz-default \ - --disable-auth-basic --disable-charset-lite \ - --disable-include --disable-log-config --disable-env \ - --disable-setenvif --disable-mime --disable-status \ - --disable-autoindex --disable-asis --disable-cgid \ - --disable-cgi --disable-negotiation --disable-dir \ - --disable-imagemap --disable-actions --disable-userdir \ - --disable-alias --disable-filter --disable-substitute \ - --disable-proxy --disable-proxy-connect \ - --disable-proxy-ftp --disable-proxy-http \ - --disable-proxy-ajp --disable-proxy-balancer \ - --disable-proxy-scgi --disable-reqtimeout -.endif - -.if defined(OPTIONS) && !(make(make-options-list)) +.if ${USE_APACHE:Mcommon2*} +CONFIGURE_ARGS+= ${_DISABLE_MODULES:O:u} +.endif + +.if ( defined(OPTIONS) || defined(OPTIONS_DEFINE) ) && !(make(make-options-list)) .for module in ${AVAILABLE_MODULES} -. if defined(WITH_${module:U}) +. if defined(WITH_${module}) _APACHE_MODULES+= ${module} . endif -. if defined(WITHOUT_${module:U}) +. if defined(WITHOUT_${module}) WITHOUT_MODULES+= ${module} . endif .endfor + +# MFC TODO: remove together with apache20 .elif defined(WITH_MODULES) _APACHE_MODULES+= ${WITH_MODULES} .else +# MFC TODO: remove together with apache20 .for category in ${ALL_MODULES_CATEGORIES} . if defined (WITHOUT_${category}_MODULES) || defined (WITH_CUSTOM_${category}) . if defined(WITH_${category}_MODULES}) . undef WITH_${category}_MODULES . endif . if defined (WITH_CUSTOM_${category}) -_APACHE_MODULES+= ${WITH_CUSTOM_${category}} +_APACHE_MODULES+= ${WITH_CUSTOM_${category}:U} . endif . elif defined(WITH_${category}_MODULES) -_APACHE_MODULES+= ${${category}_MODULES} +_APACHE_MODULES+= ${${category}_MODULES:U} . endif .endfor +# MFC TODO: remove this check +# last usage of WITH_EXTRA_MODULES in apache22/Makefile.modules +# http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/apache22/Makefile.modules.diff?r1=text&tr1=1.1&r2=text&tr2=1.3 .if defined(WITH_EXTRA_MODULES) -_APACHE_MODULES+= ${WITH_EXTRA_MODULES} +_APACHE_MODULES+= ${WITH_EXTRA_MODULES:U} .endif .endif @@ -207,7 +215,7 @@ CONFIGURE_ARGS+= --enable-so . if ${USE_APACHE:Mcommon2*} != "" CONFIGURE_ARGS+= --disable-so . endif -WITH_ALL_STATIC_MODULES= YES +WITH_ALL_STATIC_MODULES= yes .endif .if defined(WITH_SUEXEC) || defined(WITH_SUEXEC_MODULES) @@ -243,39 +251,36 @@ CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-umask=${SUEXEC_UMASK} .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 +.for module in ${_APACHE_MODULES:O:u} +. if !${WITHOUT_MODULES:M${module}} +APACHE_MODULES+= ${module} +. endif +.endfor .endif .if defined(WITH_STATIC_MODULES) -STATIC_MODULE_CONFARG= --enable-$${module} -DSO_MODULE_CONFARG= --enable-$${module}=shared -_CONFIGURE_ARGS!= \ - for module in ${APACHE_MODULES} ; do \ - ${ECHO_CMD} ${WITH_STATIC_MODULES} | \ - ${GREP} -wq $${module} 2> /dev/null ; \ - if [ "$${?}" = "0" ] ; then \ - ${ECHO_CMD} "${STATIC_MODULE_CONFARG}"; \ - else \ - ${ECHO_CMD} "${DSO_MODULE_CONFARG}"; \ - fi; done -CONFIGURE_ARGS+= ${_CONFIGURE_ARGS} +. for module in ${APACHE_MODULES} +. if ${WITH_STATIC_MODULES:M${module}} +_CONFIGURE_ARGS+= --enable-${module:L} +. else +_CONFIGURE_ARGS+= --enable-${module:L}=shared +. endif +. endfor +CONFIGURE_ARGS+= ${_CONFIGURE_ARGS:O} .elif defined(WITH_STATIC_APACHE) || defined(WITH_ALL_STATIC_MODULES) WITH_STATIC_MODULES= ${APACHE_MODULES} -CONFIGURE_ARGS+= --enable-modules="${APACHE_MODULES}" +CONFIGURE_ARGS+= --enable-modules="${APACHE_MODULES:O:L}" .else -CONFIGURE_ARGS+= --enable-mods-shared="${APACHE_MODULES}" +CONFIGURE_ARGS+= --enable-mods-shared="${APACHE_MODULES:O:L}" .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 +.for module in ${APACHE_MODULES} +. if !${WITH_STATIC_MODULES:M${module}} +_SHARED_MODULES+= ${module} +. endif +.endfor + SHARED_MODULES= ${_SHARED_MODULES} .elif !defined(WITH_ALL_STATIC_MODULES) SHARED_MODULES= ${APACHE_MODULES} @@ -285,8 +290,8 @@ SHARED_MODULES= ${APACHE_MODULES} ${module}_PLIST_SUB= "" .endfor -.for module in ${AVAILABLE_MODULES} -PLIST_SUB+= MOD_${module:U}=${${module}_PLIST_SUB} +.for module in ${AVAILABLE_MODULES:O:u} +PLIST_SUB+= MOD_${module}=${${module}_PLIST_SUB} .endfor #### End of AP_PORT_IS_SERVER #### @@ -301,6 +306,7 @@ SRC_FILE?= ${MODULENAME}.c .if exists(${HTTPD}) _APACHE_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p' +# XXX see mod_perl-2.0.6/Changes # Apache 2.4 and onwards doesn't require linking the MPM module # directly in the httpd binary anymore. APXS lost the MPM_NAME query, # so we can't assume a given MPM anymore. @@ -457,36 +463,32 @@ show-categories: .if !target(show-modules) show-modules: - @for module in ${AVAILABLE_MODULES} ; do \ - ${ECHO_MSG} -n "$${module}: "; \ - if ${ECHO_CMD} ${APACHE_MODULES} | ${GREP} -wq $${module} 2> /dev/null ; \ - then \ - ${ECHO_CMD} -n "enabled "; \ - if ${ECHO_CMD} ${WITH_STATIC_MODULES} | ${GREP} -wq $${module} 2> /dev/null ; then \ - ${ECHO_CMD} "(static)" ; \ - else \ - ${ECHO_CMD} "(shared)" ;\ - fi;\ - else \ - ${ECHO_CMD} disabled ;\ - fi;\ - done +.for module in ${AVAILABLE_MODULES} + @${PRINTF} "%-20s : " ${module} +. if ${APACHE_MODULES:M${module}} + @${ECHO} -n "enabled " +. if !empty(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M${module}} + @${ECHO_CMD} " (static)" +. else + @${ECHO_CMD} "(shared)" +. endif +. else + @${ECHO_CMD} disabled +. endif +.endfor .endif +# MFC TODO: remove this target it's useless with options NG .if !target(make-options-list) make-options-list: @${ECHO_CMD} OPTIONS+= \\; - @for module in ${AVAILABLE_MODULES} ; do \ - if ${ECHO_CMD} ${APACHE_MODULES} | ${GREP} -wq $${module} 2> /dev/null ; \ - then \ - ${PRINTF} "\t `${ECHO_CMD} $${module} | ${TR} '[:lower:]' '[:upper:]'` \"Enable mod_$${module}\" ON \\"; \ - ${ECHO_CMD}; \ - else \ - ${PRINTF} "\t `${ECHO_CMD} $${module} | ${TR} '[:lower:]' '[:upper:]'` \"Enable mod_$${module}\" OFF \\";\ - ${ECHO_CMD}; \ - fi;\ - done; \ - ${ECHO_CMD}; +.for module in ${AVAILABLE_MODULES} +. if ${APACHE_MODULES:M${module}} + @${ECHO} -e "\t ${module} \"mod_${module:L}\" on \\" +. else + @${ECHO} -e "\t ${module} \"mod_${module:L}\" off \\" +. endif +.endfor .endif .elif defined(AP_PORT_IS_MODULE) |