aboutsummaryrefslogtreecommitdiff
path: root/lang/itcl/Makefile
blob: f32a5f993076d44746642d3abab15e1f6b385dd1 (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
# Created by: chuckr
# $FreeBSD$

PORTNAME=	itcl
PORTVERSION=	3.4.1
PORTEPOCH=	1
CATEGORIES=	lang tcl
MASTER_SITES=	SF/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4.1
DISTNAME=	itcl${PORTVERSION}

MAINTAINER=	erik@bz.bzflag.bz
COMMENT=	Object-oriented extension to Tcl [incr Tcl]

USE_TCL=	84+

USE_LDCONFIG=	${PREFIX}/lib/itcl${PORTVERSION:R}

WRKSRC=		${WRKDIR}/${PORTNAME}${PORTVERSION}

GNU_CONFIGURE=	yes
CFLAGS+=	-I${TCL_INCLUDEDIR}/generic
CONFIGURE_ARGS=	--with-tcl=${TCL_LIBDIR} \
		--with-tclinclude=${TCL_INCLUDEDIR} \
		--prefix=${PREFIX} \
		--exec-prefix=${PREFIX}
CONFIGURE_ENV+=	ac_cv_c_tclh=${TCL_INCLUDEDIR}/unix
PLIST_SUB+=	PORTVERSION=${PORTVERSION} \
		VERSION=${PORTVERSION:R} \
		MAJOR=${PORTVERSION:R:R} \
		SHORT=${PORTVERSION:R:S/.//}

MANCOMPRESSED=	no
MANN=		body.itcl class.itcl code.itcl configbody.itcl delete.itcl ensemble.itcl find.itcl \
		is.itcl itcl.itcl itclvars.itcl local.itcl scope.itcl
MAN3=		Itcl_RegisterC.3 Itcl_Stack.3 Itcl_Class.3 Itcl_List.3 Itcl_Object.3 Itcl_Preserve.3

.include <bsd.port.pre.mk>

post-patch:
	${REINPLACE_CMD} -r '/^includedir/s|/include|/include/itcl${PORTVERSION:R}|' \
	    ${WRKSRC}/${CONFIGURE_SCRIPT}

post-build test:
	cd ${WRKSRC} && ${SETENV} ITCL_LIBRARY=${WRKSRC}/library \
		${TCLSH} tests/all.tcl -load "load ./libitcl.so.1"

post-install:
	${LN} -sf ${PREFIX}/lib/${PORTNAME}${PORTVERSION:R}/libitcl.so.1 \
	    ${PREFIX}/lib/libitcl.so.${PORTVERSION:R:R}
	${LN} -sf ${PREFIX}/lib/${PORTNAME}${PORTVERSION:R}/libitcl.so.1 \
	    ${PREFIX}/lib/${PORTNAME}${PORTVERSION:R}/libitcl${PORTVERSION:R:S/.//}.so
	${LN} -sf ${PREFIX}/lib/${PORTNAME}${PORTVERSION:R}/libitcl.so.1 \
	    ${PREFIX}/lib/libitcl.so
.for FILE in ${MAN3}
	${INSTALL_DATA} ${WRKSRC}/doc/${FILE:S/Itcl_//} ${PREFIX}/man/man3/${FILE}
.endfor

.include <bsd.port.post.mk>