mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-30 05:40:06 +00:00
b681129df8
- Add a new knob: USE_TK_BUILD - Support a new tcl version: 84-thread PR: ports/103897, ports/107372 (based on)
164 lines
4.3 KiB
Makefile
164 lines
4.3 KiB
Makefile
# -*- mode: Makefile; tab-width: 4; -*-
|
|
# ex: ts=4
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
.if !defined(_POSTMKINCLUDED) && !defined(Tcl_Pre_Include)
|
|
|
|
Tcl_Pre_Include= bsd.tcl.mk
|
|
Tcl_Include_MAINTAINER= ports@FreeBSD.org
|
|
|
|
# USE_TCL - Depend on tcl to run. In case of incompatible APIs of
|
|
# different TCL versions the version can be specified directly.
|
|
# If version is not specified (USE_TCL=yes) then the latest
|
|
# version is used (8.4 currently).
|
|
# Available values are: 84, 84-thread, 83, 82, 81 and 80.
|
|
# USE_TCL_BUILD - Build time dependency on tcl. Same semantics as USE_TCL.
|
|
#
|
|
# USE_TK - Depend on tk to run. In case of incompatible APIs of different
|
|
# TK versions the version can be specified directly. If version
|
|
# is not specified (USE_TK=yes) then the latest version is
|
|
# used (8.4 currently).
|
|
# Available values are: 84, 83, 82, 81 and 80.
|
|
# USE_TK_BUILD - Build time dependency on tk. Same semantics as USE_TK.
|
|
##
|
|
# TCL_LIBDIR - Path where tcl libraries can be found
|
|
#
|
|
# TCL_INCLUDEDIR
|
|
# - Path where tcl C headers can be found
|
|
##
|
|
# TK_LIBDIR - Path where tk libraries can be found
|
|
#
|
|
# TK_INCLUDEDIR - Path where tk C headers can be found
|
|
##
|
|
# TCLSH - Path to tclsh executable respecting tcl version
|
|
#
|
|
# WISH - Path to wish executable respecting tk version
|
|
##
|
|
# PATCH_TCL_SCRIPTS
|
|
# - List of tcl scripts that need to be patched to replace
|
|
# tclsh calls with tclsh${TK_VER} calls. Also note that
|
|
# post-patch target is used.
|
|
#
|
|
# PATCH_TK_SCRIPTS
|
|
# - List of tcl scripts that need to be patched to replace
|
|
# wish calls with wish${TK_VER} calls. Also note that
|
|
# post-patch target is used.
|
|
|
|
.if defined(USE_TCL) || defined(USE_TCL_BUILD)
|
|
|
|
_TCL_VERSIONS= 84 84-thread 83 82 81 80
|
|
|
|
.if defined(USE_TCL)
|
|
_RUN= yes
|
|
.endif
|
|
|
|
.if defined(USE_TCL_BUILD)
|
|
USE_TCL= ${USE_TCL_BUILD}
|
|
_BUILD= yes
|
|
.endif
|
|
|
|
.if ${USE_TCL} == "yes"
|
|
USE_TCL= 84
|
|
.endif
|
|
|
|
TCL_VER:= ${USE_TCL:S/8/8./:S/-thread//}
|
|
|
|
# Special case
|
|
.if ${USE_TCL} == "81"
|
|
USE_TCL= tcl81-thread
|
|
.endif
|
|
|
|
_FOUND= no
|
|
.for ver in ${_TCL_VERSIONS}
|
|
. if ${USE_TCL} == "${ver}"
|
|
_FOUND= yes
|
|
. if defined(_BUILD)
|
|
BUILD_DEPENDS+= tclsh${TCL_VER}:${PORTSDIR}/lang/tcl${USE_TCL}
|
|
. endif
|
|
. if defined(_RUN)
|
|
RUN_DEPENDS+= tclsh${TCL_VER}:${PORTSDIR}/lang/tcl${USE_TCL}
|
|
. endif
|
|
TCL_INCLUDEDIR= ${LOCALBASE}/include/tcl${TCL_VER}
|
|
TCL_LIBDIR= ${LOCALBASE}/lib/tcl${TCL_VER}
|
|
TCLSH= ${LOCALBASE}/bin/tclsh${TCL_VER}
|
|
. endif
|
|
.endfor
|
|
|
|
.if ${_FOUND} == "no"
|
|
IGNORE= Unknown TCL version specified: ${USE_TCL}
|
|
.endif
|
|
.endif # defined(USE_TCL) || defined(USE_TCL_BUILD)
|
|
|
|
.if defined(USE_TK) || defined(USE_TK_BUILD)
|
|
|
|
_TK_VERSIONS= 84 83 82 81 80
|
|
|
|
.if defined(USE_TK)
|
|
_TK_RUN= yes
|
|
.endif
|
|
|
|
.if defined(USE_TK_BUILD)
|
|
USE_TK= ${USE_TK_BUILD}
|
|
_TK_BUILD= yes
|
|
.endif
|
|
|
|
.if ${USE_TK} == "yes"
|
|
USE_TK= 84
|
|
.endif
|
|
|
|
TK_VER:= ${USE_TK:S/8/8./}
|
|
|
|
.if defined(USE_TCL) && ${TCL_VER} != ${TK_VER}
|
|
IGNORE= TCL and TK versions must be equal (${TCL_VER} vs ${TK_VER})
|
|
.endif
|
|
|
|
_FOUND= no
|
|
.for ver in ${_TK_VERSIONS}
|
|
. if ${USE_TK} == ${ver}
|
|
_FOUND= yes
|
|
. if defined(_TK_BUILD)
|
|
BUILD_DEPENDS+= wish${TK_VER}:${PORTSDIR}/x11-toolkits/tk${USE_TK}
|
|
.endif
|
|
. if defined(_TK_RUN)
|
|
RUN_DEPENDS+= wish${TK_VER}:${PORTSDIR}/x11-toolkits/tk${USE_TK}
|
|
.endif
|
|
TCL_INCLUDEDIR= ${LOCALBASE}/include/tcl${TK_VER}
|
|
TCL_LIBDIR= ${LOCALBASE}/lib/tcl${TK_VER}
|
|
TK_INCLUDEDIR= ${LOCALBASE}/include/tk${TK_VER}
|
|
TK_LIBDIR= ${LOCALBASE}/lib/tk${TK_VER}
|
|
TCLSH= ${LOCALBASE}/bin/tclsh${TK_VER}
|
|
WISH= ${LOCALBASE}/bin/wish${TK_VER}
|
|
. endif
|
|
.endfor
|
|
|
|
.if ${_FOUND} == "no"
|
|
IGNORE= Unknown TK version specified: ${USE_TK}
|
|
.endif
|
|
.endif # defined(USE_TK) || defined(USE_TK_BUILD)
|
|
|
|
.endif # !defined(_POSTMKINCLUDED) && !defined(Tcl_Pre_Include)
|
|
|
|
.if defined(_POSTMKINCLUDED) && !defined(Tcl_Post_Include)
|
|
|
|
Tcl_Post_Include= bsd.tcl.mk
|
|
|
|
.if defined(PATCH_TCL_SCRIPTS) || defined (PATCH_TK_SCRIPTS)
|
|
.if !target(post-patch)
|
|
post-patch:
|
|
.if defined(PATCH_TCL_SCRIPTS) && defined(TCLSH)
|
|
. for tcl_script in ${PATCH_TCL_SCRIPTS}
|
|
@${REINPLACE_CMD} -e 's,tclsh,${TCLSH},' ${WRKSRC}/${tcl_script}
|
|
. endfor
|
|
.endif
|
|
.if defined(PATCH_TK_SCRIPTS) && defined(WISH)
|
|
. for tk_script in ${PATCH_TK_SCRIPTS}
|
|
@${REINPLACE_CMD} -e 's,wish,${WISH},' ${WRKSRC}/${tk_script}
|
|
. endfor
|
|
.endif
|
|
.endif # !target(post-patch)
|
|
.endif # defined(PATCH_TCL_SCRIPTS) || defined (PATCH_TK_SCRIPTS)
|
|
|
|
.endif # defined(_POSTMKINCLUDED) && !defined(Tcl_Post_Include)
|