aboutsummaryrefslogtreecommitdiffstats
path: root/www/websh/Makefile
blob: 0af863ebe9c82ddb52207220bc64365fea85b02e (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
# New ports collection makefile for:    websh
# Date created:             January 31, 2007
# Whom:                 Mikhail Teterin <mi@aldan.algebra.com>
#
# $FreeBSD$
#

PORTNAME=   websh
PORTVERSION=    3.6.0b4
PORTREVISION=   2
CATEGORIES= www tcl
MASTER_SITES=   ${MASTER_SITE_APACHE}
MASTER_SITE_SUBDIR=tcl/${PORTNAME}/source
EXTRACT_SUFX=   -src.tar.gz

MAINTAINER= mi@aldan.algebra.com
COMMENT=    Embeds a TCL8 interpreter in the Apache server

OPTIONS=    WSMDEBUG "memory(n) and checkmem(n) commands in web-scripts" on
OPTIONS+=   WSSTATIC "Link the objects into the module statically" off

TCL_DVER=   ${TCL_VER:S/.//}

USE_TCL=    84
USE_AUTOTOOLS=  autoconf:262
WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src/unix
CONFIGURE_ARGS+=--with-tclinclude=${TCL_INCLUDEDIR} \
        --with-tcl=${TCL_LIBDIR}
USE_GMAKE=  yes
USE_LDCONFIG=   yes
SUB_FILES=  httpd.conf pkgIndex.tcl pkg-message
SUB_LIST+=  TCL_DVER=${TCL_DVER} WS_VER=${PORTVERSION:R}
SUB_LIST+=  APACHEETCDIR=${APACHEETCDIR} APACHEMODDIR=${APACHEMODDIR}

USE_APACHE= 1.3+
CONFIGURE_ARGS+=--with-httpdinclude=`apxs -q includedir`

CPPFLAGS+=  -I ${LOCALBASE}/include/apr-1
.if !defined(NO_WERROR) && ${CC} == "cc" || ${CC:T:Mgcc*} != ""
CPPFLAGS+=  -Wall -Werror
.endif

post-patch:
    ${REINPLACE_CMD} -e 's,/usr/local/websh,${PREFIX},' \
        ${WRKSRC:H:H}/doc/mod_websh/conf/websh.conf
    for p in ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.html ; do \
        ${SED} -e 's,\.html,.whtml,g' < $$p >   \
            `${DIRNAME} $$p`/`${BASENAME} $$p .html`.whtml; \
    done
    ${REINPLACE_CMD} -e 's,\.html,.whtml,g' ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.ws3

post-configure:
    # Remove the "STUBS" and the PACKAGE_* defines, which may conflict
    # with Apache's definitions:
    ${REINPLACE_CMD} -e 's,tclstub,tcl,'    \
        -e 's,-DPACKAGE_[^=]*=."[^"]*",,g' ${WRKSRC}/Makefile

post-build test:
    ${SETENV} LANG=C ${GMAKE} -C ${WRKSRC} test | ${AWK} '\
        /Failed/ && $$NF {failed=1} \
        END {exit failed}   \
        {print}'

do-install:
    ${MKDIR} ${PREFIX}/lib/${PORTNAME}
    ${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/conf/*.ws3  \
        ${WRKDIR}/pkgIndex.tcl ${PREFIX}/lib/${PORTNAME}/
    ${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/conf/websh.conf \
        ${PREFIX}/etc/websh.conf.dist
    ${INSTALL_DATA} ${WRKSRC}/mod_websh${PORTVERSION}.so \
        ${PREFIX}/${APACHEMODDIR}/mod_websh.so
    ${INSTALL_DATA} ${WRKSRC}/libwebsh${TCL_DVER}.so.1 ${PREFIX}/lib
    ${LN} -sf ${PREFIX}/lib/libwebsh${TCL_DVER}.so.1 \
        ${PREFIX}/lib/libwebsh${TCL_DVER}.so
.if !defined(NOPORTDOCS)
    ${MKDIR} ${EXAMPLESDIR}
    ${INSTALL_DATA} ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.ws3    \
        ${WRKSRC:H:H}/doc/mod_websh/htdocs/*.whtml      \
        ${WRKDIR}/httpd.conf ${EXAMPLESDIR}/
    ${MKDIR} ${DOCSDIR}
    ${INSTALL_DATA} ${WRKSRC:H:H}/doc/html/* ${DOCSDIR}
.endif

post-install:
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.pre.mk>

.if defined(WITH_WSMDEBUG)
CFLAGS+=    -DTCL_MEM_DEBUG
.endif

.if defined(WITHOUT_WSSTATIC)
EXTRA_PATCHES=  ${FILESDIR}/shared-patch
.endif

CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}"

.include <bsd.port.post.mk>