summaryrefslogblamecommitdiff
path: root/www/apache20/Makefile
blob: cb909beccf279e9b4469e75669e307c996e2eeb8 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                    
                                                                        
 
           

 
                      
                      
                        

                                                                         
                                    

                                                          
                                  
 
                                             
                                                                     
 
                                                   
 


                                                                                           

                                                              



















































                                                                                                                
 
                                             
                  
 
                   
                   
                   
                   
                                            
                                         
                                      
                                          
                                           

                                                              
 
                                                                      
                                                         

                                 
                                         
                                                     
                                                  

                       
                              

      


                                                                                  
                         
                                          

      



                         




                                                                  

      




                   

      


                               
     
                      
      



                                 
     
                        

      


                                   
     
                          

      


                                 
     
                        

      

                                               

      
                          
 

























                                                                                                                    
 
             
                                                                                                 
 
           

                                       
                                                              
                                                                            
                
                                              
                                                                     
                                                                             
                                                            
 
            
                                                                       
 
             


                                                                                              
          
 
                           
# New ports collection makefile for:	apache2
# Date created:				7 April 2001
# Whom:					Hye-Shik Chang <perky@fallin.lv>
#
# $FreeBSD$
#

PORTNAME=	apache
PORTVERSION=	2.0.48
CATEGORIES=	www ipv6
MASTER_SITES=	${MASTER_SITE_APACHE_HTTPD} \
		http://sheepkiller.nerim.net/ports/${PORTNAME}/:powerlogo
DISTNAME=	httpd-${PORTVERSION}
DISTFILES=	${DISTNAME}.tar.gz powerlogo.gif:powerlogo
DIST_SUBDIR=	apache2
EXTRACT_ONLY=	${DISTNAME}.tar.gz

MAINTAINER?=	sheepkiller@cultdeadsheep.org
COMMENT?=	Version 2 of the extremely popular Apache http server

LIB_DEPENDS=	expat.4:${PORTSDIR}/textproc/expat2

LATEST_LINK=	apache2

CONFLICTS=	apache+ipv6-1.* apache+modssl-1.* apache+ssl-1.* apache-1.* apache_fp-1.* \
		caudium-devel-1.* caudium10-1.* caudium12-* \
		ru-apache+mod_ssl-1.* ru-apache-1.* thttpd-2.*

## Available knobs:
## By default, modules are compiled as dynamically loadable (DSO) modules.
##
##   Apache-related
##      WITH_MPM:                 prefork (default)
##                                worker
##                                perchild
##      HTTP_PORT:                default: 80
##      WITH_LDAP:                Enable LDAP support (mod_auth_ldap)
##      WITHOUT_PROXY:            Disable proxy support
##          WITH_CUSTOM_PROXY:    Let you choose which proxy modules you wish
##      WITHOUT_AUTH:             Disable auth modules
##          WITH_CUSTOM_AUTH:     Let you choose which auth modules you wish
##      WITHOUT_DAV:              Disable DAV support
##      IPV6_V6ONLY:              Disable IPv4 support
##      WITHOUT_SSL:              Disable SSL support
##      WITH_THREADS:             Enable threads support !! USE IT WITH CARE !!
##           WITH_CUSTOM_THREADS: Let you choose which threaded modules you want
##      WITH_EXPERIMENTAL:        Enable Experimental modules
##      WITH_DBM:                 Choose your DBM: bdb (Berkeley DB), gdbm or ndbm (default)
##          WITH_BERKELEYDB:      Choose your BerkeleyDB version: db2, db3 or db4 (default)
##      WITH_STATIC_SUPPORT:      Build statically linked support binaries
##      WITH_STATIC_APACHE:       Build a static version of httpd (implies WITH_STATIC_MODULES)
##      WITH_ALL_STATIC_APACHE:   All modules statically linked.
##      WITH_STATIC_MODULES:      List of modules to build modules statics (usefull for slave ports)
##                                (They must be already enabled (i.e. WITH_MODULES or with default configuration
##                                use 'make show-modules', to check if they are enabled)
##      WITH_EXPERIMENTAL:        Build and install experimental modules
##      WITH_EXTRA_MODULES:       To add addtionnal modules
##      WITH_MODULES:             List of your own modules
##      WITHOUT_MODULES:          Disable listed modules
##
##
##   Port-related:
##      NOPORTDOCS:               Do not install documentation
##      NO_CGI:                   Do not instal www/cgi-bin*
##      NO_ERROR:                   Do not instal www/error
##      NO_WWWDATA:               Do not instal www/data*
##      NO_ICONS:                 Do not instal www/icons*
##      NO_WWW:                   Implies NO_CGI, NO_WWWDATA, NO_ICONS and NO_ERROR
##
## Available make targets:
##      show-options:             prints this message
##      show-modules:             prints list of available modules
##
## Examples:
##      make WITHOUT_SSL=yes WITH_EXTRA_MODULES="bucketeer case_filter case_filter_in" WITHOUT_PROXY=yes
##      make WITH_STATIC_MODULES="ssl rewrite include" WITH_EXPERIMENTAL=yes WITH_CUSTOM_AUTH="auth auth_dbm"
##      make WITH_EXPERIMENTAL=yes WITHOUT_MODULES="access speling status"
##      make WITH_MODULES="include rewrite auth"
##

WITH_MPM?=	prefork # or worker, perchild
HTTP_PORT?=	80

GNU_CONFIGURE=	yes
USE_LIBTOOL=	yes
USE_PERL5=	yes
USE_REINPLACE=	yes
CONFIGURE_ARGS=	--prefix=${PREFIX_RELDEST} \
		--enable-layout=FreeBSD \
		--with-perl=${PERL5} \
		--with-port=${HTTP_PORT} \
		--with-expat=${LOCALBASE} \
		--libdir=${PREFIX_RELDEST}/lib/apache2 \
		--includedir=${PREFIX_RELDEST}/include/apache2

CONFIGURE_ENV=	CC="${CC}" CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" \
		LDFLAGS="${LDFLAGS}" CONFIG_SHELL="${SH}"

DOCSDIR=	share/doc/apache2
PREFIX_RELDEST=	${PREFIX:S,^${DESTDIR},,}
RC_SUB=		-e 's,@@PREFIX@@,${PREFIX_RELDEST},g'
MAKE_ENV+=	DESTDIR=${DESTDIR} EXPR_COMPAT=yes

.if defined(NOPORTDOCS)
MAKE_ENV+=	NOPORTDOCS=yes
.endif

MAN1=		dbmmanage.1 htdigest.1 htpasswd.1
MAN8=		ab.8 apachectl.8 apxs.8 httpd.8 logresolve.8 rotatelogs.8 suexec.8

.if !defined(IPV6_V6ONLY)
CONFIGURE_ARGS+=	--enable-v4-mapped
.endif

.if !defined(WITHOUT_SSL)
USE_OPENSSL=	yes
.endif

.if defined(WITH_LDAP)
USE_LDAP=	YES
CONFIGURE_ARGS+=	--with-ldap \
			--with-ldap-lib="${LOCALBASE}/lib" \
			--with-ldap-include="${LOCALBASE}/include"
.endif

.if defined(NO_WWW)
NO_CGI=		YES
NO_WWWDATA=	YES
NO_ICONS=	YES
NO_ERROR=	YES
.endif

.if defined(NO_CGI)
MAKE_ENV+=	NO_CGI=yes
PLIST_SUB+=	CGI="@comment "
.else
PLIST_SUB+=	CGI=""
.endif

.if defined(NO_ICONS)
MAKE_ENV+=	NO_ICONS=yes
PLIST_SUB+=	ICONS="@comment "
.else
PLIST_SUB+=	ICONS=""
.endif

.if defined(NO_WWWDATA)
MAKE_ENV+=	NO_WWWDATA=yes
PLIST_SUB+=	WWWDATA="@comment "
.else
PLIST_SUB+=	WWWDATA=""
.endif

.if defined(NO_ERROR)
MAKE_ENV+=	NO_ERROR=yes
PLIST_SUB+=	ERROR="@comment "
.else
PLIST_SUB+=	ERROR=""
.endif

.if defined(WITH_STATIC_SUPPORT)
CONFIGURE_ARGS+=	--enable-static-support
.endif

.include <bsd.port.pre.mk>

.include "${.CURDIR}/Makefile.modules"

CONFIGURE_ARGS+=	--with-mpm=${WITH_MPM:L} ${CONFIGURE_TARGET}

show-options:
	@${EGREP} '^##' ${.CURDIR}/Makefile | ${SED} 's/##//'

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

pre-everything::
	@${ECHO_MSG}	""
	@${ECHO_MSG}	"  To see all available knobs, type make show-options"
	@${ECHO_MSG}	""

post-extract:
	@${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/powerlogo.gif ${WRKSRC}/docs/icons/freebsd.gif

post-patch:
	@cd ${WRKSRC}/docs/docroot && \
	 for f in index.html.*; do (\
	  ${REINPLACE_CMD} -e 's,apache_pb,icons/freebsd.gif"\
		ALT="[Powered by FreeBSD]"><IMG SRC="apache_pb2_ani,g' $$f \
	 ); done
	@${RM} -f ${WRKSRC}/docs/docroot/*.bak
	@${SED} ${RC_SUB} ${FILESDIR}/apache.sh >${WRKDIR}/apache2.sh
	@${SED} ${RC_SUB} ${FILESDIR}/config.layout >>${WRKSRC}/config.layout
	@${RM} -f ${WRKSRC}/docs/manual/index.html.ko.euc-kr

pre-install:
	PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

post-install:
	@if [ ! -f ${PREFIX}/etc/rc.d/apache2.sh ]; then \
		${ECHO} "Installing ${PREFIX}/etc/rc.d/apache2.sh startup file."; \
		${INSTALL_SCRIPT} -m 751 ${WRKDIR}/apache2.sh ${PREFIX}/etc/rc.d/apache2.sh; \
	fi

.include <bsd.port.post.mk>