44 lines
1.5 KiB
Makefile
44 lines
1.5 KiB
Makefile
# $OpenBSD: tcl.port.mk,v 1.17 2018/07/20 21:31:15 stu Exp $
|
|
|
|
CATEGORIES += lang/tcl
|
|
|
|
MODTCL_VERSION ?= 8.5
|
|
|
|
.if ${MODTCL_VERSION} == 8.5
|
|
_MODTCL_SPEC = tcl->=${MODTCL_VERSION},<8.6
|
|
MODTCL_LIB ?= tcl85
|
|
.elif ${MODTCL_VERSION} == 8.6
|
|
_MODTCL_SPEC = tcl->=${MODTCL_VERSION},<8.7
|
|
MODTCL_LIB ?= tcl86
|
|
.endif
|
|
|
|
MODTCL_BIN ?= ${LOCALBASE}/bin/tclsh${MODTCL_VERSION}
|
|
MODTCL_INCDIR ?= ${LOCALBASE}/include/tcl${MODTCL_VERSION}
|
|
MODTCL_TCLDIR ?= ${LOCALBASE}/lib/tcl
|
|
MODTCL_MODDIR ?= ${LOCALBASE}/lib/tcl/modules
|
|
MODTCL_LIBDIR ?= ${MODTCL_TCLDIR}/tcl${MODTCL_VERSION}
|
|
MODTCL_CONFIG ?= ${MODTCL_LIBDIR}/tclConfig.sh
|
|
|
|
MODTCL_BUILD_DEPENDS ?= ${_MODTCL_SPEC}:lang/tcl/${MODTCL_VERSION}
|
|
MODTCL_RUN_DEPENDS ?= ${_MODTCL_SPEC}:lang/tcl/${MODTCL_VERSION}
|
|
MODTCL_LIB_DEPENDS ?= ${_MODTCL_SPEC}:lang/tcl/${MODTCL_VERSION}
|
|
MODTCL_WANTLIB ?= ${MODTCL_LIB}
|
|
|
|
|
|
# Handle the two most commonly used methods
|
|
# for starting up executable Tcl scripts.
|
|
# See http://wiki.tcl.tk/812 for more information.
|
|
|
|
# Set 'tclsh' for executable scripts (in-place modification).
|
|
# Do not convert (tcl|wi)sh to (tclsh|wish), or the MODTCL_WISH_ADJ
|
|
# macro below will be broken.
|
|
MODTCL_TCLSH_ADJ = perl -pi \
|
|
-e '$$. == 1 && s!/\S*(?:/env\s+|bin/)(?:tcl|wi)sh\S*(\s+.+)?$$!${MODTCL_BIN}$$1!;' \
|
|
-e '$$. >= 3 && $$. <= 30 && s!exec\s+(?:tcl|wi)sh.*$$!exec ${MODTCL_BIN} "\$$0" \$${1+"\$$@"}!;' \
|
|
-e 'close ARGV if eof;'
|
|
|
|
# Same for 'wish'.
|
|
MODTCL_WISH_ADJ = ${MODTCL_TCLSH_ADJ:S/tclsh/wish/}
|
|
|
|
SUBST_VARS += MODTCL_VERSION MODTCL_BIN
|