summaryrefslogtreecommitdiff
path: root/lang/tclX/Makefile
blob: 7eff9c563439d48c882066fb060b3415863f26de (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:	tclX
# Date created:		6 February 1996
# Whom:			jkh
#
# $FreeBSD$
#

PORTNAME=	tclX
PORTVERSION=	8.4
PORTREVISION=	3
CATEGORIES=	lang tcl devel
MASTER_SITES=	SF/${PORTNAME:L}/TclX/${PORTVERSION}.0
DISTNAME=	tclx${PORTVERSION}

MAINTAINER=	mi@aldan.algebra.com
COMMENT=	Extended TCL

USE_BZIP2=	yes
USE_TCL=	83+

USE_LDCONFIG=	yes
GNU_CONFIGURE=	yes
CONFIGURE_ENV+=	CPPFLAGS="-I${TCL_INCLUDEDIR}/unix\
		-I${TCL_INCLUDEDIR}/generic"
CONFIGURE_ARGS=	--enable-shared \
		--with-help=Help \
		--with-tcl="${TCL_LIBDIR}"
PLIST_SUB=	TCLX_VER=${PORTVERSION}
MAKE_JOBS_SAFE=	yes
ALL_TARGET=	binaries libraries
INSTALL_TARGET=	install-binaries install-libraries

check test regression-check:
	#
	# Define TCLX_NO_SELF_TESTS to disable automatic
	# running of TclX' checks after building
	#
	${SETENV} ${MAKE_ENV} ${MAKE} -C ${WRKSRC} test

.ifndef TCLX_NO_SELF_TESTS
post-build:	test
.endif

MAN3=	CmdWrite.3 Handles.3 Keylist.3 ObjCmdWrite.3 TclXInit.3
MANN=	TclX.n

MLINKS=	CmdWrite.3	TclCommandWriting.3	\
	Keylist.3	TclX_NewKeyedListObj.3
.for l in Delete Get GetKeys Set TclX_Main TclX_NewKeyedListObj
MLINKS+=	Keylist.3	TclX_KeyedList$l.3
.endfor
.for l in Alloc Free TblInit TblRelease TblUseCount Walk Xlate
MLINKS+=	Handles.3	TclX_Handle$l.3
.endfor
.for l in Tclxcmd_Init TclX_Main Tkx_Init TkX_Main
MLINKS+=	TclXInit.3	$l.3
.endfor

.include <bsd.port.pre.mk>

.if ${TCL_VER} > 8.4
EXTRA_PATCHES+=	${FILESDIR}/tcl85-test-patch
PLIST_SUB+=	BELOW_85='@comment '
.else
PLIST_SUB+=	BELOW_85=''
.endif
.if ${TCL_VER} > 8.3
PLIST_SUB+=	ABOVE_83=''
.else
PLIST_SUB+=	ABOVE_83='@comment '
.endif

pre-configure:
.if exists(${TCL_LIBDIR}/tclConfig-threads.sh)
	${REINPLACE_CMD} -e 's|tclConfig.sh|tclConfig-threads.sh|'	\
		${WRKSRC}/${CONFIGURE_SCRIPT}
.endif
	${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|'	\
		${WRKSRC}/${CONFIGURE_SCRIPT}

post-configure:
	${REINPLACE_CMD} -e	\
	    's,^TCLSH_PROG.*,TCLSH_PROG=${TCLSH},' \
	    -e 's,TCL_LIBRARY=.*,\\,' ${WRKSRC}/Makefile
	# Disabling the failing help.test
	${MV} ${WRKSRC}/tests/help.test ${WRKSRC}/tests/help.test.dis

pre-su-install:
	cd ${WRKSRC}/doc && ${INSTALL_MAN} ${MAN3} ${PREFIX}/man/man3
	cd ${WRKSRC}/doc && ${INSTALL_MAN} ${MANN} ${PREFIX}/man/mann

.include <bsd.port.post.mk>

.ifndef(NOPORTDOCS) && exists(${MANPREFIX}/man/mann/Tcl.n.gz)
ALL_TARGET+=	doc
INSTALL_TARGET+=install-help
.else
PLIST_SUB:=	${PLIST_SUB:NPORTDOCS=*} PORTDOCS='@comment '
.endif