aboutsummaryrefslogtreecommitdiffstats
path: root/www/apache2/Makefile
blob: ee695f8166e29fc0a0bb190e9e8b1751f67f2593 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# New ports collection makefile for:    apache2
# Date created:             7 April 2001
# Whom:                 Hye-Shik Chang <perky@fallin.lv>
#
# $FreeBSD$
#
# For more information, please read Makefile.doc
#

PORTNAME=   apache
PORTVERSION=    2.0.48
PORTREVISION=   2
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?=    clement@FreeBSD.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.*

# patch files
PATCH_SITES+=       http://www.cultdeadsheep.org/FreeBSD/ports/download/distfiles/:apache
PATCHFILES+=        httpd-2.0.48-buildconf.patch:apache \
            httpd-2.0.48-ldap-fix.patch:apache
PATCH_DIST_STRIP+=  -p1:apache-clem
SCRIPTS_ENV+=       LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} \
            LIBTOOL_VERSION=${LIBTOOL_VERSION}

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

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

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

WITH_MPM?=  prefork # or worker, perchild

WITH_HTTP_PORT?=    80

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

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

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

# Untested and may fail !
.if defined(WITH_APR_FROM_PORTS)
.    if defined (WITH_BDB) || defined(WITH_BERKELEYDB)
BROKEN=         "You can't set WITH_BDB or WITH_BERKELEYDB when WITH_APR_FROM_PORTS is defined"
.endif  
LIB_DEPENDS+=       apr-0.9:${PORTSDIR}/devel/apr
CONFIGURE_ARGS+=    --with-apr=${LOCALBASE}/bin/apr-config \
                    --with-apr-util=${LOCALBASE}/bin/apr-config
.endif

# for slave ports
.if !defined(MASTERDIR)
APACHEDIR=  ${.CURDIR}
.else
APACHEDIR=  ${MASTERDIR}
.endif

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

.include <bsd.port.pre.mk>

.include "${APACHEDIR}/Makefile.doc"
.include "${APACHEDIR}/Makefile.modules"

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

show-options:
    @${SED} -ne 's/^##//p' ${APACHEDIR}/Makefile.doc

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

pre-configure:
    cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ./buildconf

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>