diff options
author | taca <taca@pkgsrc.org> | 2014-03-10 14:20:44 +0000 |
---|---|---|
committer | taca <taca@pkgsrc.org> | 2014-03-10 14:20:44 +0000 |
commit | 7c825f5df3b3b875e503a26439f3b972e88feb17 (patch) | |
tree | b6dc195fb481659581fccbcc36c1a3ffebb300f9 /lang/tcl85 | |
parent | 7b13a121f09cda56d0d767181f465ca1aaa77024 (diff) | |
download | pkgsrc-7c825f5df3b3b875e503a26439f3b972e88feb17.tar.gz |
Restore tcl-8.5.15 package as lang/tcl85 with bump PKGREVISION since
x11/ruby-tk package needs tcl/tk 8.5 and it dosen't support tcl/tk 8.6
and later.
Diffstat (limited to 'lang/tcl85')
-rw-r--r-- | lang/tcl85/DESCR | 15 | ||||
-rw-r--r-- | lang/tcl85/Makefile | 47 | ||||
-rw-r--r-- | lang/tcl85/Makefile.version | 5 | ||||
-rw-r--r-- | lang/tcl85/PLIST | 956 | ||||
-rw-r--r-- | lang/tcl85/buildlink3.mk | 32 | ||||
-rw-r--r-- | lang/tcl85/distinfo | 17 | ||||
-rw-r--r-- | lang/tcl85/options.mk | 18 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-generic_tclInt.h | 29 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-generic_tclPort.h | 15 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-generic_tclPosixStr.c | 24 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-tests_load.test | 15 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-tests_pkgMkIndex.test | 33 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_Makefile.in | 153 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_configure | 178 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_tclConfig.sh.in | 25 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_tclUnixCompat.c | 67 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_tclUnixFCmd.c | 21 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_tclUnixInit.c | 65 | ||||
-rw-r--r-- | lang/tcl85/patches/patch-unix_tclUnixPort.h | 28 |
19 files changed, 1743 insertions, 0 deletions
diff --git a/lang/tcl85/DESCR b/lang/tcl85/DESCR new file mode 100644 index 00000000000..521fe4d2e65 --- /dev/null +++ b/lang/tcl85/DESCR @@ -0,0 +1,15 @@ +Tcl (Tool Command Language) is a very powerful but easy to learn dynamic +programming language, suitable for a very wide range of uses, including +web and desktop applications, networking, administration, testing and +many more. Open source and business-friendly, Tcl is a mature yet +evolving language that is truly cross platform, easily deployed and +highly extensible. + +Tcl/Tk resources: + Newsgroup: comp.lang.tcl + Wiki: http://wiki.tcl.tk + Books: + * Practical Programming in Tcl and Tk, 4th Edition + ISBN: 0-13-038560-3 + * Tcl and the Tk Toolkit, 2nd Edition + ISBN: 978-0-321-33633-0 diff --git a/lang/tcl85/Makefile b/lang/tcl85/Makefile new file mode 100644 index 00000000000..ccb9ac67bd7 --- /dev/null +++ b/lang/tcl85/Makefile @@ -0,0 +1,47 @@ +# $NetBSD: Makefile,v 1.1 2014/03/10 14:20:44 taca Exp $ + +DISTNAME= tcl${TCL_VERSION}-src +PKGNAME= tcl-${TCL_VERSION} +PKGREVISION= 1 +CATEGORIES= lang +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=tcl/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.tcl.tk/ +COMMENT= Tool Command Language, a dynamic language +LICENSE= 2-clause-bsd + +.include "../../lang/tcl85/Makefile.version" + +WRKSRC= ${WRKDIR}/tcl${TCL_VERSION} + +GNU_CONFIGURE= yes +CONFIGURE_DIRS= unix +BUILD_DIRS= ${CONFIGURE_DIRS} +INSTALL_TARGET= install + +PKGCONFIG_OVERRIDE+= unix/tcl.pc.in + +CHECK_PORTABILITY_SKIP= win/configure + +# The test target gives better results when not run as root. +TEST_TARGET= test + +.include "options.mk" + +# This is needed for SGI and maybe sun (according to tcl developers) +.if defined(ABI) && ${ABI} == "64" +CONFIGURE_ARGS+= --enable-64bit +.endif + +SUBST_CLASSES+= tcl-config +SUBST_STAGE.tcl-config= post-build +SUBST_FILES.tcl-config= unix/tclConfig.sh +SUBST_SED.tcl-config+= -e "s|${WRKSRC}/unix|${PREFIX}/lib|" +SUBST_SED.tcl-config+= -e "s|${WRKSRC}|${PREFIX}/include/tcl|" + +PLIST_SUBST+= SONUM=${TCL_SONUM} +PLIST_SUBST+= BASEVER=${TCL_BASEVER} + +.include "../../devel/zlib/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/lang/tcl85/Makefile.version b/lang/tcl85/Makefile.version new file mode 100644 index 00000000000..ead01507516 --- /dev/null +++ b/lang/tcl85/Makefile.version @@ -0,0 +1,5 @@ +# $NetBSD: Makefile.version,v 1.1 2014/03/10 14:20:44 taca Exp $ + +TCL_SONUM= 85 +TCL_BASEVER= 8.5 +TCL_VERSION= 8.5.15 diff --git a/lang/tcl85/PLIST b/lang/tcl85/PLIST new file mode 100644 index 00000000000..37dd28b2f24 --- /dev/null +++ b/lang/tcl85/PLIST @@ -0,0 +1,956 @@ +@comment $NetBSD: PLIST,v 1.1 2014/03/10 14:20:44 taca Exp $ +bin/tclsh +bin/tclsh${BASEVER} +include/tcl.h +include/tcl/generic/regcustom.h +include/tcl/generic/regerrs.h +include/tcl/generic/regex.h +include/tcl/generic/regguts.h +include/tcl/generic/tcl.h +include/tcl/generic/tclCompile.h +include/tcl/generic/tclDecls.h +include/tcl/generic/tclFileSystem.h +include/tcl/generic/tclIO.h +include/tcl/generic/tclInt.h +include/tcl/generic/tclIntDecls.h +include/tcl/generic/tclIntPlatDecls.h +include/tcl/generic/tclPlatDecls.h +include/tcl/generic/tclPort.h +include/tcl/generic/tclRegexp.h +include/tcl/generic/tclTomMath.h +include/tcl/generic/tclTomMathDecls.h +include/tcl/generic/tclTomMathInt.h +include/tcl/generic/tommath.h +include/tcl/unix/tclUnixPort.h +include/tcl/unix/tclUnixThrd.h +include/tclDecls.h +include/tclPlatDecls.h +lib/libtcl${SONUM}.a +lib/libtcl${SONUM}.so +lib/libtcl${SONUM}.so.1.0 +lib/libtclstub${SONUM}.a +lib/tcl${BASEVER}/auto.tcl +lib/tcl${BASEVER}/clock.tcl +lib/tcl${BASEVER}/encoding/ascii.enc +lib/tcl${BASEVER}/encoding/big5.enc +lib/tcl${BASEVER}/encoding/cp1250.enc +lib/tcl${BASEVER}/encoding/cp1251.enc +lib/tcl${BASEVER}/encoding/cp1252.enc +lib/tcl${BASEVER}/encoding/cp1253.enc +lib/tcl${BASEVER}/encoding/cp1254.enc +lib/tcl${BASEVER}/encoding/cp1255.enc +lib/tcl${BASEVER}/encoding/cp1256.enc +lib/tcl${BASEVER}/encoding/cp1257.enc +lib/tcl${BASEVER}/encoding/cp1258.enc +lib/tcl${BASEVER}/encoding/cp437.enc +lib/tcl${BASEVER}/encoding/cp737.enc +lib/tcl${BASEVER}/encoding/cp775.enc +lib/tcl${BASEVER}/encoding/cp850.enc +lib/tcl${BASEVER}/encoding/cp852.enc +lib/tcl${BASEVER}/encoding/cp855.enc +lib/tcl${BASEVER}/encoding/cp857.enc +lib/tcl${BASEVER}/encoding/cp860.enc +lib/tcl${BASEVER}/encoding/cp861.enc +lib/tcl${BASEVER}/encoding/cp862.enc +lib/tcl${BASEVER}/encoding/cp863.enc +lib/tcl${BASEVER}/encoding/cp864.enc +lib/tcl${BASEVER}/encoding/cp865.enc +lib/tcl${BASEVER}/encoding/cp866.enc +lib/tcl${BASEVER}/encoding/cp869.enc +lib/tcl${BASEVER}/encoding/cp874.enc +lib/tcl${BASEVER}/encoding/cp932.enc +lib/tcl${BASEVER}/encoding/cp936.enc +lib/tcl${BASEVER}/encoding/cp949.enc +lib/tcl${BASEVER}/encoding/cp950.enc +lib/tcl${BASEVER}/encoding/dingbats.enc +lib/tcl${BASEVER}/encoding/ebcdic.enc +lib/tcl${BASEVER}/encoding/euc-cn.enc +lib/tcl${BASEVER}/encoding/euc-jp.enc +lib/tcl${BASEVER}/encoding/euc-kr.enc +lib/tcl${BASEVER}/encoding/gb12345.enc +lib/tcl${BASEVER}/encoding/gb1988.enc +lib/tcl${BASEVER}/encoding/gb2312-raw.enc +lib/tcl${BASEVER}/encoding/gb2312.enc +lib/tcl${BASEVER}/encoding/iso2022-jp.enc +lib/tcl${BASEVER}/encoding/iso2022-kr.enc +lib/tcl${BASEVER}/encoding/iso2022.enc +lib/tcl${BASEVER}/encoding/iso8859-1.enc +lib/tcl${BASEVER}/encoding/iso8859-10.enc +lib/tcl${BASEVER}/encoding/iso8859-13.enc +lib/tcl${BASEVER}/encoding/iso8859-14.enc +lib/tcl${BASEVER}/encoding/iso8859-15.enc +lib/tcl${BASEVER}/encoding/iso8859-16.enc +lib/tcl${BASEVER}/encoding/iso8859-2.enc +lib/tcl${BASEVER}/encoding/iso8859-3.enc +lib/tcl${BASEVER}/encoding/iso8859-4.enc +lib/tcl${BASEVER}/encoding/iso8859-5.enc +lib/tcl${BASEVER}/encoding/iso8859-6.enc +lib/tcl${BASEVER}/encoding/iso8859-7.enc +lib/tcl${BASEVER}/encoding/iso8859-8.enc +lib/tcl${BASEVER}/encoding/iso8859-9.enc +lib/tcl${BASEVER}/encoding/jis0201.enc +lib/tcl${BASEVER}/encoding/jis0208.enc +lib/tcl${BASEVER}/encoding/jis0212.enc +lib/tcl${BASEVER}/encoding/koi8-r.enc +lib/tcl${BASEVER}/encoding/koi8-u.enc +lib/tcl${BASEVER}/encoding/ksc5601.enc +lib/tcl${BASEVER}/encoding/macCentEuro.enc +lib/tcl${BASEVER}/encoding/macCroatian.enc +lib/tcl${BASEVER}/encoding/macCyrillic.enc +lib/tcl${BASEVER}/encoding/macDingbats.enc +lib/tcl${BASEVER}/encoding/macGreek.enc +lib/tcl${BASEVER}/encoding/macIceland.enc +lib/tcl${BASEVER}/encoding/macJapan.enc +lib/tcl${BASEVER}/encoding/macRoman.enc +lib/tcl${BASEVER}/encoding/macRomania.enc +lib/tcl${BASEVER}/encoding/macThai.enc +lib/tcl${BASEVER}/encoding/macTurkish.enc +lib/tcl${BASEVER}/encoding/macUkraine.enc +lib/tcl${BASEVER}/encoding/shiftjis.enc +lib/tcl${BASEVER}/encoding/symbol.enc +lib/tcl${BASEVER}/encoding/tis-620.enc +lib/tcl${BASEVER}/history.tcl +lib/tcl${BASEVER}/http/http.tcl +lib/tcl${BASEVER}/http/pkgIndex.tcl +lib/tcl${BASEVER}/http1.0/http.tcl +lib/tcl${BASEVER}/http1.0/pkgIndex.tcl +lib/tcl${BASEVER}/init.tcl +lib/tcl${BASEVER}/msgcat1.4/msgcat.tcl +lib/tcl${BASEVER}/msgcat1.4/pkgIndex.tcl +lib/tcl${BASEVER}/msgs/af.msg +lib/tcl${BASEVER}/msgs/af_za.msg +lib/tcl${BASEVER}/msgs/ar.msg +lib/tcl${BASEVER}/msgs/ar_in.msg +lib/tcl${BASEVER}/msgs/ar_jo.msg +lib/tcl${BASEVER}/msgs/ar_lb.msg +lib/tcl${BASEVER}/msgs/ar_sy.msg +lib/tcl${BASEVER}/msgs/be.msg +lib/tcl${BASEVER}/msgs/bg.msg +lib/tcl${BASEVER}/msgs/bn.msg +lib/tcl${BASEVER}/msgs/bn_in.msg +lib/tcl${BASEVER}/msgs/ca.msg +lib/tcl${BASEVER}/msgs/cs.msg +lib/tcl${BASEVER}/msgs/da.msg +lib/tcl${BASEVER}/msgs/de.msg +lib/tcl${BASEVER}/msgs/de_at.msg +lib/tcl${BASEVER}/msgs/de_be.msg +lib/tcl${BASEVER}/msgs/el.msg +lib/tcl${BASEVER}/msgs/en_au.msg +lib/tcl${BASEVER}/msgs/en_be.msg +lib/tcl${BASEVER}/msgs/en_bw.msg +lib/tcl${BASEVER}/msgs/en_ca.msg +lib/tcl${BASEVER}/msgs/en_gb.msg +lib/tcl${BASEVER}/msgs/en_hk.msg +lib/tcl${BASEVER}/msgs/en_ie.msg +lib/tcl${BASEVER}/msgs/en_in.msg +lib/tcl${BASEVER}/msgs/en_nz.msg +lib/tcl${BASEVER}/msgs/en_ph.msg +lib/tcl${BASEVER}/msgs/en_sg.msg +lib/tcl${BASEVER}/msgs/en_za.msg +lib/tcl${BASEVER}/msgs/en_zw.msg +lib/tcl${BASEVER}/msgs/eo.msg +lib/tcl${BASEVER}/msgs/es.msg +lib/tcl${BASEVER}/msgs/es_ar.msg +lib/tcl${BASEVER}/msgs/es_bo.msg +lib/tcl${BASEVER}/msgs/es_cl.msg +lib/tcl${BASEVER}/msgs/es_co.msg +lib/tcl${BASEVER}/msgs/es_cr.msg +lib/tcl${BASEVER}/msgs/es_do.msg +lib/tcl${BASEVER}/msgs/es_ec.msg +lib/tcl${BASEVER}/msgs/es_gt.msg +lib/tcl${BASEVER}/msgs/es_hn.msg +lib/tcl${BASEVER}/msgs/es_mx.msg +lib/tcl${BASEVER}/msgs/es_ni.msg +lib/tcl${BASEVER}/msgs/es_pa.msg +lib/tcl${BASEVER}/msgs/es_pe.msg +lib/tcl${BASEVER}/msgs/es_pr.msg +lib/tcl${BASEVER}/msgs/es_py.msg +lib/tcl${BASEVER}/msgs/es_sv.msg +lib/tcl${BASEVER}/msgs/es_uy.msg +lib/tcl${BASEVER}/msgs/es_ve.msg +lib/tcl${BASEVER}/msgs/et.msg +lib/tcl${BASEVER}/msgs/eu.msg +lib/tcl${BASEVER}/msgs/eu_es.msg +lib/tcl${BASEVER}/msgs/fa.msg +lib/tcl${BASEVER}/msgs/fa_in.msg +lib/tcl${BASEVER}/msgs/fa_ir.msg +lib/tcl${BASEVER}/msgs/fi.msg +lib/tcl${BASEVER}/msgs/fo.msg +lib/tcl${BASEVER}/msgs/fo_fo.msg +lib/tcl${BASEVER}/msgs/fr.msg +lib/tcl${BASEVER}/msgs/fr_be.msg +lib/tcl${BASEVER}/msgs/fr_ca.msg +lib/tcl${BASEVER}/msgs/fr_ch.msg +lib/tcl${BASEVER}/msgs/ga.msg +lib/tcl${BASEVER}/msgs/ga_ie.msg +lib/tcl${BASEVER}/msgs/gl.msg +lib/tcl${BASEVER}/msgs/gl_es.msg +lib/tcl${BASEVER}/msgs/gv.msg +lib/tcl${BASEVER}/msgs/gv_gb.msg +lib/tcl${BASEVER}/msgs/he.msg +lib/tcl${BASEVER}/msgs/hi.msg +lib/tcl${BASEVER}/msgs/hi_in.msg +lib/tcl${BASEVER}/msgs/hr.msg +lib/tcl${BASEVER}/msgs/hu.msg +lib/tcl${BASEVER}/msgs/id.msg +lib/tcl${BASEVER}/msgs/id_id.msg +lib/tcl${BASEVER}/msgs/is.msg +lib/tcl${BASEVER}/msgs/it.msg +lib/tcl${BASEVER}/msgs/it_ch.msg +lib/tcl${BASEVER}/msgs/ja.msg +lib/tcl${BASEVER}/msgs/kl.msg +lib/tcl${BASEVER}/msgs/kl_gl.msg +lib/tcl${BASEVER}/msgs/ko.msg +lib/tcl${BASEVER}/msgs/ko_kr.msg +lib/tcl${BASEVER}/msgs/kok.msg +lib/tcl${BASEVER}/msgs/kok_in.msg +lib/tcl${BASEVER}/msgs/kw.msg +lib/tcl${BASEVER}/msgs/kw_gb.msg +lib/tcl${BASEVER}/msgs/lt.msg +lib/tcl${BASEVER}/msgs/lv.msg +lib/tcl${BASEVER}/msgs/mk.msg +lib/tcl${BASEVER}/msgs/mr.msg +lib/tcl${BASEVER}/msgs/mr_in.msg +lib/tcl${BASEVER}/msgs/ms.msg +lib/tcl${BASEVER}/msgs/ms_my.msg +lib/tcl${BASEVER}/msgs/mt.msg +lib/tcl${BASEVER}/msgs/nb.msg +lib/tcl${BASEVER}/msgs/nl.msg +lib/tcl${BASEVER}/msgs/nl_be.msg +lib/tcl${BASEVER}/msgs/nn.msg +lib/tcl${BASEVER}/msgs/pl.msg +lib/tcl${BASEVER}/msgs/pt.msg +lib/tcl${BASEVER}/msgs/pt_br.msg +lib/tcl${BASEVER}/msgs/ro.msg +lib/tcl${BASEVER}/msgs/ru.msg +lib/tcl${BASEVER}/msgs/ru_ua.msg +lib/tcl${BASEVER}/msgs/sh.msg +lib/tcl${BASEVER}/msgs/sk.msg +lib/tcl${BASEVER}/msgs/sl.msg +lib/tcl${BASEVER}/msgs/sq.msg +lib/tcl${BASEVER}/msgs/sr.msg +lib/tcl${BASEVER}/msgs/sv.msg +lib/tcl${BASEVER}/msgs/sw.msg +lib/tcl${BASEVER}/msgs/ta.msg +lib/tcl${BASEVER}/msgs/ta_in.msg +lib/tcl${BASEVER}/msgs/te.msg +lib/tcl${BASEVER}/msgs/te_in.msg +lib/tcl${BASEVER}/msgs/th.msg +lib/tcl${BASEVER}/msgs/tr.msg +lib/tcl${BASEVER}/msgs/uk.msg +lib/tcl${BASEVER}/msgs/vi.msg +lib/tcl${BASEVER}/msgs/zh.msg +lib/tcl${BASEVER}/msgs/zh_cn.msg +lib/tcl${BASEVER}/msgs/zh_hk.msg +lib/tcl${BASEVER}/msgs/zh_sg.msg +lib/tcl${BASEVER}/msgs/zh_tw.msg +lib/tcl${BASEVER}/opt0.4/optparse.tcl +lib/tcl${BASEVER}/opt0.4/pkgIndex.tcl +lib/tcl${BASEVER}/package.tcl +lib/tcl${BASEVER}/parray.tcl +lib/tcl${BASEVER}/platform1.0/pkgIndex.tcl +lib/tcl${BASEVER}/platform1.0/platform.tcl +lib/tcl${BASEVER}/safe.tcl +lib/tcl${BASEVER}/shell1.1/pkgIndex.tcl +lib/tcl${BASEVER}/shell1.1/shell.tcl +lib/tcl${BASEVER}/tclAppInit.c +lib/tcl${BASEVER}/tclIndex +lib/tcl${BASEVER}/tcltest2.3/tcltest.tcl +lib/tcl${BASEVER}/tcltest2.3/pkgIndex.tcl +lib/tcl${BASEVER}/tm.tcl +lib/tcl${BASEVER}/word.tcl +lib/tclConfig.sh +man/man1/tclsh.1 +man/man3/TCL_MEM_DEBUG.3 +man/man3/Tcl_Access.3 +man/man3/Tcl_AddErrorInfo.3 +man/man3/Tcl_AddObjErrorInfo.3 +man/man3/Tcl_AlertNotifier.3 +man/man3/Tcl_Alloc.3 +man/man3/Tcl_AllocStatBuf.3 +man/man3/Tcl_AllowExceptions.3 +man/man3/Tcl_AppInit.3 +man/man3/Tcl_AppendAllObjTypes.3 +man/man3/Tcl_AppendElement.3 +man/man3/Tcl_AppendExportList.3 +man/man3/Tcl_AppendFormatToObj.3 +man/man3/Tcl_AppendLimitedToObj.3 +man/man3/Tcl_AppendObjToErrorInfo.3 +man/man3/Tcl_AppendObjToObj.3 +man/man3/Tcl_AppendPrintfToObj.3 +man/man3/Tcl_AppendResult.3 +man/man3/Tcl_AppendResultVA.3 +man/man3/Tcl_AppendStringsToObj.3 +man/man3/Tcl_AppendStringsToObjVA.3 +man/man3/Tcl_AppendToObj.3 +man/man3/Tcl_AppendUnicodeToObj.3 +man/man3/Tcl_AsyncCreate.3 +man/man3/Tcl_AsyncDelete.3 +man/man3/Tcl_AsyncInvoke.3 +man/man3/Tcl_AsyncMark.3 +man/man3/Tcl_AsyncReady.3 +man/man3/Tcl_AttemptAlloc.3 +man/man3/Tcl_AttemptRealloc.3 +man/man3/Tcl_AttemptSetObjLength.3 +man/man3/Tcl_BackgroundError.3 +man/man3/Tcl_Backslash.3 +man/man3/Tcl_BadChannelOption.3 +man/man3/Tcl_CallWhenDeleted.3 +man/man3/Tcl_CancelIdleCall.3 +man/man3/Tcl_ChannelBlockModeProc.3 +man/man3/Tcl_ChannelBuffered.3 +man/man3/Tcl_ChannelClose2Proc.3 +man/man3/Tcl_ChannelCloseProc.3 +man/man3/Tcl_ChannelFlushProc.3 +man/man3/Tcl_ChannelGetHandleProc.3 +man/man3/Tcl_ChannelGetOptionProc.3 +man/man3/Tcl_ChannelHandlerProc.3 +man/man3/Tcl_ChannelInputProc.3 +man/man3/Tcl_ChannelName.3 +man/man3/Tcl_ChannelOutputProc.3 +man/man3/Tcl_ChannelSeekProc.3 +man/man3/Tcl_ChannelSetOptionProc.3 +man/man3/Tcl_ChannelThreadActionProc.3 +man/man3/Tcl_ChannelTruncateProc.3 +man/man3/Tcl_ChannelVersion.3 +man/man3/Tcl_ChannelWatchProc.3 +man/man3/Tcl_ChannelWideSeekProc.3 +man/man3/Tcl_Chdir.3 +man/man3/Tcl_ClearChannelHandlers.3 +man/man3/Tcl_Close.3 +man/man3/Tcl_CommandComplete.3 +man/man3/Tcl_CommandTraceInfo.3 +man/man3/Tcl_Concat.3 +man/man3/Tcl_ConcatObj.3 +man/man3/Tcl_ConditionFinalize.3 +man/man3/Tcl_ConditionNotify.3 +man/man3/Tcl_ConditionWait.3 +man/man3/Tcl_ConvertCountedElement.3 +man/man3/Tcl_ConvertElement.3 +man/man3/Tcl_ConvertToType.3 +man/man3/Tcl_CreateAlias.3 +man/man3/Tcl_CreateAliasObj.3 +man/man3/Tcl_CreateChannel.3 +man/man3/Tcl_CreateChannelHandler.3 +man/man3/Tcl_CreateCloseHandler.3 +man/man3/Tcl_CreateCommand.3 +man/man3/Tcl_CreateEncoding.3 +man/man3/Tcl_CreateEnsemble.3 +man/man3/Tcl_CreateEventSource.3 +man/man3/Tcl_CreateExitHandler.3 +man/man3/Tcl_CreateFileHandler.3 +man/man3/Tcl_CreateHashEntry.3 +man/man3/Tcl_CreateInterp.3 +man/man3/Tcl_CreateMathFunc.3 +man/man3/Tcl_CreateNamespace.3 +man/man3/Tcl_CreateObjCommand.3 +man/man3/Tcl_CreateObjTrace.3 +man/man3/Tcl_CreateSlave.3 +man/man3/Tcl_CreateThread.3 +man/man3/Tcl_CreateThreadExitHandler.3 +man/man3/Tcl_CreateTimerHandler.3 +man/man3/Tcl_CreateTrace.3 +man/man3/Tcl_CutChannel.3 +man/man3/Tcl_DStringAppend.3 +man/man3/Tcl_DStringAppendElement.3 +man/man3/Tcl_DStringEndSublist.3 +man/man3/Tcl_DStringFree.3 +man/man3/Tcl_DStringGetResult.3 +man/man3/Tcl_DStringInit.3 +man/man3/Tcl_DStringLength.3 +man/man3/Tcl_DStringResult.3 +man/man3/Tcl_DStringSetLength.3 +man/man3/Tcl_DStringStartSublist.3 +man/man3/Tcl_DStringTrunc.3 +man/man3/Tcl_DStringValue.3 +man/man3/Tcl_DecrRefCount.3 +man/man3/Tcl_DeleteAssocData.3 +man/man3/Tcl_DeleteChannelHandler.3 +man/man3/Tcl_DeleteCloseHandler.3 +man/man3/Tcl_DeleteCommand.3 +man/man3/Tcl_DeleteCommandFromToken.3 +man/man3/Tcl_DeleteEventSource.3 +man/man3/Tcl_DeleteEvents.3 +man/man3/Tcl_DeleteExitHandler.3 +man/man3/Tcl_DeleteFileHandler.3 +man/man3/Tcl_DeleteHashEntry.3 +man/man3/Tcl_DeleteHashTable.3 +man/man3/Tcl_DeleteInterp.3 +man/man3/Tcl_DeleteNamespace.3 +man/man3/Tcl_DeleteThreadExitHandler.3 +man/man3/Tcl_DeleteTimerHandler.3 +man/man3/Tcl_DeleteTrace.3 +man/man3/Tcl_DetachChannel.3 +man/man3/Tcl_DetachPids.3 +man/man3/Tcl_DictObjDone.3 +man/man3/Tcl_DictObjFirst.3 +man/man3/Tcl_DictObjGet.3 +man/man3/Tcl_DictObjNext.3 +man/man3/Tcl_DictObjPut.3 +man/man3/Tcl_DictObjPutKeyList.3 +man/man3/Tcl_DictObjRemove.3 +man/man3/Tcl_DictObjRemoveKeyList.3 +man/man3/Tcl_DictObjSize.3 +man/man3/Tcl_DiscardInterpState.3 +man/man3/Tcl_DiscardResult.3 +man/man3/Tcl_DoOneEvent.3 +man/man3/Tcl_DoWhenIdle.3 +man/man3/Tcl_DontCallWhenDeleted.3 +man/man3/Tcl_DumpActiveMemory.3 +man/man3/Tcl_DuplicateObj.3 +man/man3/Tcl_Eof.3 +man/man3/Tcl_ErrnoId.3 +man/man3/Tcl_ErrnoMsg.3 +man/man3/Tcl_Eval.3 +man/man3/Tcl_EvalEx.3 +man/man3/Tcl_EvalFile.3 +man/man3/Tcl_EvalObjEx.3 +man/man3/Tcl_EvalObjv.3 +man/man3/Tcl_EvalTokens.3 +man/man3/Tcl_EvalTokensStandard.3 +man/man3/Tcl_EventuallyFree.3 +man/man3/Tcl_Exit.3 +man/man3/Tcl_ExitThread.3 +man/man3/Tcl_Export.3 +man/man3/Tcl_ExposeCommand.3 +man/man3/Tcl_ExprBoolean.3 +man/man3/Tcl_ExprBooleanObj.3 +man/man3/Tcl_ExprDouble.3 +man/man3/Tcl_ExprDoubleObj.3 +man/man3/Tcl_ExprLong.3 +man/man3/Tcl_ExprLongObj.3 +man/man3/Tcl_ExprObj.3 +man/man3/Tcl_ExprString.3 +man/man3/Tcl_ExternalToUtf.3 +man/man3/Tcl_ExternalToUtfDString.3 +man/man3/Tcl_FSAccess.3 +man/man3/Tcl_FSChdir.3 +man/man3/Tcl_FSConvertToPathType.3 +man/man3/Tcl_FSCopyDirectory.3 +man/man3/Tcl_FSCopyFile.3 +man/man3/Tcl_FSCreateDirectory.3 +man/man3/Tcl_FSData.3 +man/man3/Tcl_FSDeleteFile.3 +man/man3/Tcl_FSEqualPaths.3 +man/man3/Tcl_FSEvalFile.3 +man/man3/Tcl_FSEvalFileEx.3 +man/man3/Tcl_FSFileAttrStrings.3 +man/man3/Tcl_FSFileAttrsGet.3 +man/man3/Tcl_FSFileAttrsSet.3 +man/man3/Tcl_FSFileSystemInfo.3 +man/man3/Tcl_FSGetCwd.3 +man/man3/Tcl_FSGetFileSystemForPath.3 +man/man3/Tcl_FSGetInternalRep.3 +man/man3/Tcl_FSGetNativePath.3 +man/man3/Tcl_FSGetNormalizedPath.3 +man/man3/Tcl_FSGetPathType.3 +man/man3/Tcl_FSGetTranslatedPath.3 +man/man3/Tcl_FSGetTranslatedStringPath.3 +man/man3/Tcl_FSJoinPath.3 +man/man3/Tcl_FSJoinToPath.3 +man/man3/Tcl_FSLink.3 +man/man3/Tcl_FSListVolumes.3 +man/man3/Tcl_FSLoadFile.3 +man/man3/Tcl_FSLstat.3 +man/man3/Tcl_FSMatchInDirectory.3 +man/man3/Tcl_FSMountsChanged.3 +man/man3/Tcl_FSNewNativePath.3 +man/man3/Tcl_FSOpenFileChannel.3 +man/man3/Tcl_FSPathSeparator.3 +man/man3/Tcl_FSRegister.3 +man/man3/Tcl_FSRemoveDirectory.3 +man/man3/Tcl_FSRenameFile.3 +man/man3/Tcl_FSSplitPath.3 +man/man3/Tcl_FSStat.3 +man/man3/Tcl_FSUnregister.3 +man/man3/Tcl_FSUtime.3 +man/man3/Tcl_Finalize.3 +man/man3/Tcl_FinalizeNotifier.3 +man/man3/Tcl_FinalizeThread.3 +man/man3/Tcl_FindCommand.3 +man/man3/Tcl_FindEnsemble.3 +man/man3/Tcl_FindExecutable.3 +man/man3/Tcl_FindHashEntry.3 +man/man3/Tcl_FindNamespace.3 +man/man3/Tcl_FirstHashEntry.3 +man/man3/Tcl_Flush.3 +man/man3/Tcl_ForgetImport.3 +man/man3/Tcl_Format.3 +man/man3/Tcl_Free.3 +man/man3/Tcl_FreeEncoding.3 +man/man3/Tcl_FreeParse.3 +man/man3/Tcl_FreeResult.3 +man/man3/Tcl_GetAlias.3 +man/man3/Tcl_GetAliasObj.3 +man/man3/Tcl_GetAssocData.3 +man/man3/Tcl_GetBignumFromObj.3 +man/man3/Tcl_GetBoolean.3 +man/man3/Tcl_GetBooleanFromObj.3 +man/man3/Tcl_GetByteArrayFromObj.3 +man/man3/Tcl_GetChannel.3 +man/man3/Tcl_GetChannelBufferSize.3 +man/man3/Tcl_GetChannelError.3 +man/man3/Tcl_GetChannelErrorInterp.3 +man/man3/Tcl_GetChannelHandle.3 +man/man3/Tcl_GetChannelInstanceData.3 +man/man3/Tcl_GetChannelMode.3 +man/man3/Tcl_GetChannelName.3 +man/man3/Tcl_GetChannelNames.3 +man/man3/Tcl_GetChannelNamesEx.3 +man/man3/Tcl_GetChannelOption.3 +man/man3/Tcl_GetChannelThread.3 +man/man3/Tcl_GetChannelType.3 +man/man3/Tcl_GetCharLength.3 +man/man3/Tcl_GetCommandFromObj.3 +man/man3/Tcl_GetCommandFullName.3 +man/man3/Tcl_GetCommandInfo.3 +man/man3/Tcl_GetCommandInfoFromToken.3 +man/man3/Tcl_GetCommandName.3 +man/man3/Tcl_GetCurrentNamespace.3 +man/man3/Tcl_GetCurrentThread.3 +man/man3/Tcl_GetCwd.3 +man/man3/Tcl_GetDefaultEncodingDir.3 +man/man3/Tcl_GetDouble.3 +man/man3/Tcl_GetDoubleFromObj.3 +man/man3/Tcl_GetEncoding.3 +man/man3/Tcl_GetEncodingFromObj.3 +man/man3/Tcl_GetEncodingName.3 +man/man3/Tcl_GetEncodingNameFromEnvironment.3 +man/man3/Tcl_GetEncodingNames.3 +man/man3/Tcl_GetEncodingSearchPath.3 +man/man3/Tcl_GetEnsembleFlags.3 +man/man3/Tcl_GetEnsembleMappingDict.3 +man/man3/Tcl_GetEnsembleNamespace.3 +man/man3/Tcl_GetEnsembleSubcommandList.3 +man/man3/Tcl_GetEnsembleUnknownHandler.3 +man/man3/Tcl_GetErrno.3 +man/man3/Tcl_GetGlobalNamespace.3 +man/man3/Tcl_GetHashKey.3 +man/man3/Tcl_GetHashValue.3 +man/man3/Tcl_GetHostName.3 +man/man3/Tcl_GetIndexFromObj.3 +man/man3/Tcl_GetIndexFromObjStruct.3 +man/man3/Tcl_GetInt.3 +man/man3/Tcl_GetIntFromObj.3 +man/man3/Tcl_GetInterpPath.3 +man/man3/Tcl_GetLongFromObj.3 +man/man3/Tcl_GetMaster.3 +man/man3/Tcl_GetMathFuncInfo.3 +man/man3/Tcl_GetNameOfExecutable.3 +man/man3/Tcl_GetNamespaceUnknownHandler.3 +man/man3/Tcl_GetObjResult.3 +man/man3/Tcl_GetObjType.3 +man/man3/Tcl_GetOpenFile.3 +man/man3/Tcl_GetPathType.3 +man/man3/Tcl_GetRange.3 +man/man3/Tcl_GetRegExpFromObj.3 +man/man3/Tcl_GetReturnOptions.3 +man/man3/Tcl_GetServiceMode.3 +man/man3/Tcl_GetSlave.3 +man/man3/Tcl_GetStackedChannel.3 +man/man3/Tcl_GetStdChannel.3 +man/man3/Tcl_GetString.3 +man/man3/Tcl_GetStringFromObj.3 +man/man3/Tcl_GetStringResult.3 +man/man3/Tcl_GetThreadData.3 +man/man3/Tcl_GetTime.3 +man/man3/Tcl_GetTopChannel.3 +man/man3/Tcl_GetUniChar.3 +man/man3/Tcl_GetUnicode.3 +man/man3/Tcl_GetUnicodeFromObj.3 +man/man3/Tcl_GetVar.3 +man/man3/Tcl_GetVar2.3 +man/man3/Tcl_GetVar2Ex.3 +man/man3/Tcl_GetVersion.3 +man/man3/Tcl_GetWideIntFromObj.3 +man/man3/Tcl_Gets.3 +man/man3/Tcl_GetsObj.3 +man/man3/Tcl_GlobalEval.3 +man/man3/Tcl_GlobalEvalObj.3 +man/man3/Tcl_HashStats.3 +man/man3/Tcl_HideCommand.3 +man/man3/Tcl_Import.3 +man/man3/Tcl_IncrRefCount.3 +man/man3/Tcl_Init.3 +man/man3/Tcl_InitCustomHashTable.3 +man/man3/Tcl_InitHashTable.3 +man/man3/Tcl_InitMemory.3 +man/man3/Tcl_InitNotifier.3 +man/man3/Tcl_InitObjHashTable.3 +man/man3/Tcl_InitStubs.3 +man/man3/Tcl_InputBlocked.3 +man/man3/Tcl_InputBuffered.3 +man/man3/Tcl_Interp.3 +man/man3/Tcl_InterpDeleted.3 +man/man3/Tcl_InvalidateStringRep.3 +man/man3/Tcl_IsChannelExisting.3 +man/man3/Tcl_IsChannelRegistered.3 +man/man3/Tcl_IsChannelShared.3 +man/man3/Tcl_IsEnsemble.3 +man/man3/Tcl_IsSafe.3 +man/man3/Tcl_IsShared.3 +man/man3/Tcl_IsStandardChannel.3 +man/man3/Tcl_JoinPath.3 +man/man3/Tcl_JoinThread.3 +man/man3/Tcl_LimitAddHandler.3 +man/man3/Tcl_LimitCheck.3 +man/man3/Tcl_LimitExceeded.3 +man/man3/Tcl_LimitGetCommands.3 +man/man3/Tcl_LimitGetGranularity.3 +man/man3/Tcl_LimitGetTime.3 +man/man3/Tcl_LimitReady.3 +man/man3/Tcl_LimitRemoveHandler.3 +man/man3/Tcl_LimitSetCommands.3 +man/man3/Tcl_LimitSetGranularity.3 +man/man3/Tcl_LimitSetTime.3 +man/man3/Tcl_LimitTypeEnabled.3 +man/man3/Tcl_LimitTypeExceeded.3 +man/man3/Tcl_LimitTypeReset.3 +man/man3/Tcl_LimitTypeSet.3 +man/man3/Tcl_LinkVar.3 +man/man3/Tcl_ListMathFuncs.3 +man/man3/Tcl_ListObjAppendElement.3 +man/man3/Tcl_ListObjAppendList.3 +man/man3/Tcl_ListObjGetElements.3 +man/man3/Tcl_ListObjIndex.3 +man/man3/Tcl_ListObjLength.3 +man/man3/Tcl_ListObjReplace.3 +man/man3/Tcl_LogCommandInfo.3 +man/man3/Tcl_Main.3 +man/man3/Tcl_MakeFileChannel.3 +man/man3/Tcl_MakeSafe.3 +man/man3/Tcl_MakeTcpClientChannel.3 +man/man3/Tcl_Merge.3 +man/man3/Tcl_MutexFinalize.3 +man/man3/Tcl_MutexLock.3 +man/man3/Tcl_MutexUnlock.3 +man/man3/Tcl_NewBignumObj.3 +man/man3/Tcl_NewBooleanObj.3 +man/man3/Tcl_NewByteArrayObj.3 +man/man3/Tcl_NewDictObj.3 +man/man3/Tcl_NewDoubleObj.3 +man/man3/Tcl_NewIntObj.3 +man/man3/Tcl_NewListObj.3 +man/man3/Tcl_NewLongObj.3 +man/man3/Tcl_NewObj.3 +man/man3/Tcl_NewStringObj.3 +man/man3/Tcl_NewUnicodeObj.3 +man/man3/Tcl_NewWideIntObj.3 +man/man3/Tcl_NextHashEntry.3 +man/man3/Tcl_NotifyChannel.3 +man/man3/Tcl_NumUtfChars.3 +man/man3/Tcl_ObjGetVar2.3 +man/man3/Tcl_ObjPrintf.3 +man/man3/Tcl_ObjSetVar2.3 +man/man3/Tcl_OpenCommandChannel.3 +man/man3/Tcl_OpenFileChannel.3 +man/man3/Tcl_OpenTcpClient.3 +man/man3/Tcl_OpenTcpServer.3 +man/man3/Tcl_OutputBuffered.3 +man/man3/Tcl_Panic.3 +man/man3/Tcl_PanicVA.3 +man/man3/Tcl_ParseBraces.3 +man/man3/Tcl_ParseCommand.3 +man/man3/Tcl_ParseExpr.3 +man/man3/Tcl_ParseQuotedString.3 +man/man3/Tcl_ParseVar.3 +man/man3/Tcl_ParseVarName.3 +man/man3/Tcl_PkgPresent.3 +man/man3/Tcl_PkgPresentEx.3 +man/man3/Tcl_PkgProvide.3 +man/man3/Tcl_PkgProvideEx.3 +man/man3/Tcl_PkgRequire.3 +man/man3/Tcl_PkgRequireEx.3 +man/man3/Tcl_PkgRequireProc.3 +man/man3/Tcl_PosixError.3 +man/man3/Tcl_Preserve.3 +man/man3/Tcl_PrintDouble.3 +man/man3/Tcl_PutEnv.3 +man/man3/Tcl_QueryTimeProc.3 +man/man3/Tcl_QueueEvent.3 +man/man3/Tcl_Read.3 +man/man3/Tcl_ReadChars.3 +man/man3/Tcl_ReadRaw.3 +man/man3/Tcl_Realloc.3 +man/man3/Tcl_ReapDetachedProcs.3 +man/man3/Tcl_RecordAndEval.3 +man/man3/Tcl_RecordAndEvalObj.3 +man/man3/Tcl_RegExpCompile.3 +man/man3/Tcl_RegExpExec.3 +man/man3/Tcl_RegExpExecObj.3 +man/man3/Tcl_RegExpGetInfo.3 +man/man3/Tcl_RegExpMatch.3 +man/man3/Tcl_RegExpMatchObj.3 +man/man3/Tcl_RegExpRange.3 +man/man3/Tcl_RegisterChannel.3 +man/man3/Tcl_RegisterConfig.3 +man/man3/Tcl_RegisterObjType.3 +man/man3/Tcl_Release.3 +man/man3/Tcl_ResetResult.3 +man/man3/Tcl_RestoreInterpState.3 +man/man3/Tcl_RestoreResult.3 +man/man3/Tcl_SaveInterpState.3 +man/man3/Tcl_SaveResult.3 +man/man3/Tcl_ScanCountedElement.3 +man/man3/Tcl_ScanElement.3 +man/man3/Tcl_Seek.3 +man/man3/Tcl_ServiceAll.3 +man/man3/Tcl_ServiceEvent.3 +man/man3/Tcl_SetAssocData.3 +man/man3/Tcl_SetBignumObj.3 +man/man3/Tcl_SetBooleanObj.3 +man/man3/Tcl_SetByteArrayLength.3 +man/man3/Tcl_SetByteArrayObj.3 +man/man3/Tcl_SetChannelBufferSize.3 +man/man3/Tcl_SetChannelError.3 +man/man3/Tcl_SetChannelErrorInterp.3 +man/man3/Tcl_SetChannelOption.3 +man/man3/Tcl_SetCommandInfo.3 +man/man3/Tcl_SetCommandInfoFromToken.3 +man/man3/Tcl_SetDefaultEncodingDir.3 +man/man3/Tcl_SetDoubleObj.3 +man/man3/Tcl_SetEncodingSearchPath.3 +man/man3/Tcl_SetEnsembleFlags.3 +man/man3/Tcl_SetEnsembleMappingDict.3 +man/man3/Tcl_SetEnsembleSubcommandList.3 +man/man3/Tcl_SetEnsembleUnknownHandler.3 +man/man3/Tcl_SetErrno.3 +man/man3/Tcl_SetErrorCode.3 +man/man3/Tcl_SetErrorCodeVA.3 +man/man3/Tcl_SetExitProc.3 +man/man3/Tcl_SetHashValue.3 +man/man3/Tcl_SetIntObj.3 +man/man3/Tcl_SetListObj.3 +man/man3/Tcl_SetLongObj.3 +man/man3/Tcl_SetMainLoop.3 +man/man3/Tcl_SetMaxBlockTime.3 +man/man3/Tcl_SetNamespaceUnknownHandler.3 +man/man3/Tcl_SetObjErrorCode.3 +man/man3/Tcl_SetObjLength.3 +man/man3/Tcl_SetObjResult.3 +man/man3/Tcl_SetPanicProc.3 +man/man3/Tcl_SetRecursionLimit.3 +man/man3/Tcl_SetResult.3 +man/man3/Tcl_SetReturnOptions.3 +man/man3/Tcl_SetServiceMode.3 +man/man3/Tcl_SetStdChannel.3 +man/man3/Tcl_SetStringObj.3 +man/man3/Tcl_SetSystemEncoding.3 +man/man3/Tcl_SetTimeProc.3 +man/man3/Tcl_SetTimer.3 +man/man3/Tcl_SetUnicodeObj.3 +man/man3/Tcl_SetVar.3 +man/man3/Tcl_SetVar2.3 +man/man3/Tcl_SetVar2Ex.3 +man/man3/Tcl_SetWideIntObj.3 +man/man3/Tcl_SignalId.3 +man/man3/Tcl_SignalMsg.3 +man/man3/Tcl_Sleep.3 +man/man3/Tcl_SourceRCFile.3 +man/man3/Tcl_SpliceChannel.3 +man/man3/Tcl_SplitList.3 +man/man3/Tcl_SplitPath.3 +man/man3/Tcl_StackChannel.3 +man/man3/Tcl_StandardChannels.3 +man/man3/Tcl_Stat.3 +man/man3/Tcl_StaticPackage.3 +man/man3/Tcl_StringCaseMatch.3 +man/man3/Tcl_StringMatch.3 +man/man3/Tcl_SubstObj.3 +man/man3/Tcl_TakeBignumFromObj.3 +man/man3/Tcl_Tell.3 +man/man3/Tcl_ThreadAlert.3 +man/man3/Tcl_ThreadQueueEvent.3 +man/man3/Tcl_TraceCommand.3 +man/man3/Tcl_TraceVar.3 +man/man3/Tcl_TraceVar2.3 +man/man3/Tcl_TranslateFileName.3 +man/man3/Tcl_TruncateChannel.3 +man/man3/Tcl_Ungets.3 +man/man3/Tcl_UniChar.3 +man/man3/Tcl_UniCharAtIndex.3 +man/man3/Tcl_UniCharCaseMatch.3 +man/man3/Tcl_UniCharIsAlnum.3 +man/man3/Tcl_UniCharIsAlpha.3 +man/man3/Tcl_UniCharIsControl.3 +man/man3/Tcl_UniCharIsDigit.3 +man/man3/Tcl_UniCharIsGraph.3 +man/man3/Tcl_UniCharIsLower.3 +man/man3/Tcl_UniCharIsPrint.3 +man/man3/Tcl_UniCharIsPunct.3 +man/man3/Tcl_UniCharIsSpace.3 +man/man3/Tcl_UniCharIsUpper.3 +man/man3/Tcl_UniCharIsWordChar.3 +man/man3/Tcl_UniCharLen.3 +man/man3/Tcl_UniCharNcasecmp.3 +man/man3/Tcl_UniCharNcmp.3 +man/man3/Tcl_UniCharToLower.3 +man/man3/Tcl_UniCharToTitle.3 +man/man3/Tcl_UniCharToUpper.3 +man/man3/Tcl_UniCharToUtf.3 +man/man3/Tcl_UniCharToUtfDString.3 +man/man3/Tcl_UnlinkVar.3 +man/man3/Tcl_UnregisterChannel.3 +man/man3/Tcl_UnsetVar.3 +man/man3/Tcl_UnsetVar2.3 +man/man3/Tcl_UnstackChannel.3 +man/man3/Tcl_UntraceCommand.3 +man/man3/Tcl_UntraceVar.3 +man/man3/Tcl_UntraceVar2.3 +man/man3/Tcl_UpVar.3 +man/man3/Tcl_UpVar2.3 +man/man3/Tcl_UpdateLinkedVar.3 +man/man3/Tcl_UtfAtIndex.3 +man/man3/Tcl_UtfBackslash.3 +man/man3/Tcl_UtfCharComplete.3 +man/man3/Tcl_UtfFindFirst.3 +man/man3/Tcl_UtfFindLast.3 +man/man3/Tcl_UtfNext.3 +man/man3/Tcl_UtfPrev.3 +man/man3/Tcl_UtfToExternal.3 +man/man3/Tcl_UtfToExternalDString.3 +man/man3/Tcl_UtfToLower.3 +man/man3/Tcl_UtfToTitle.3 +man/man3/Tcl_UtfToUniChar.3 +man/man3/Tcl_UtfToUniCharDString.3 +man/man3/Tcl_UtfToUpper.3 +man/man3/Tcl_ValidateAllMemory.3 +man/man3/Tcl_VarEval.3 +man/man3/Tcl_VarEvalVA.3 +man/man3/Tcl_VarTraceInfo.3 +man/man3/Tcl_VarTraceInfo2.3 +man/man3/Tcl_WaitForEvent.3 +man/man3/Tcl_WaitPid.3 +man/man3/Tcl_WinTCharToUtf.3 +man/man3/Tcl_WinUtfToTChar.3 +man/man3/Tcl_Write.3 +man/man3/Tcl_WriteChars.3 +man/man3/Tcl_WriteObj.3 +man/man3/Tcl_WriteRaw.3 +man/man3/Tcl_WrongNumArgs.3 +man/man3/attemptckalloc.3 +man/man3/attemptckrealloc.3 +man/man3/ckalloc.3 +man/man3/ckfree.3 +man/man3/ckrealloc.3 +man/mann/SafeBase.n +man/mann/Tcl.n +man/mann/after.n +man/mann/append.n +man/mann/apply.n +man/mann/array.n +man/mann/auto_execok.n +man/mann/auto_import.n +man/mann/auto_load.n +man/mann/auto_mkindex.n +man/mann/auto_mkindex_old.n +man/mann/auto_qualify.n +man/mann/auto_reset.n +man/mann/bgerror.n +man/mann/binary.n +man/mann/break.n +man/mann/case.n +man/mann/catch.n +man/mann/cd.n +man/mann/chan.n +man/mann/clock.n +man/mann/close.n +man/mann/concat.n +man/mann/continue.n +man/mann/dde.n +man/mann/dict.n +man/mann/encoding.n +man/mann/eof.n +man/mann/error.n +man/mann/eval.n +man/mann/exec.n +man/mann/exit.n +man/mann/expr.n +man/mann/fblocked.n +man/mann/fconfigure.n +man/mann/fcopy.n +man/mann/file.n +man/mann/fileevent.n +man/mann/filename.n +man/mann/flush.n +man/mann/for.n +man/mann/foreach.n +man/mann/format.n +man/mann/gets.n +man/mann/glob.n +man/mann/global.n +man/mann/history.n +man/mann/http.n +man/mann/if.n +man/mann/incr.n +man/mann/info.n +man/mann/interp.n +man/mann/join.n +man/mann/lappend.n +man/mann/lassign.n +man/mann/lindex.n +man/mann/linsert.n +man/mann/list.n +man/mann/llength.n +man/mann/load.n +man/mann/lrange.n +man/mann/lrepeat.n +man/mann/lreplace.n +man/mann/lreverse.n +man/mann/lsearch.n +man/mann/lset.n +man/mann/lsort.n +man/mann/mathfunc.n +man/mann/mathop.n +man/mann/memory.n +man/mann/msgcat.n +man/mann/namespace.n +man/mann/open.n +man/mann/package.n +man/mann/parray.n +man/mann/pid.n +man/mann/pkg::create.n +man/mann/pkg_mkIndex.n +man/mann/platform.n +man/mann/platform::shell.n +man/mann/proc.n +man/mann/puts.n +man/mann/pwd.n +man/mann/re_syntax.n +man/mann/read.n +man/mann/refchan.n +man/mann/regexp.n +man/mann/registry.n +man/mann/regsub.n +man/mann/rename.n +man/mann/return.n +man/mann/scan.n +man/mann/seek.n +man/mann/set.n +man/mann/socket.n +man/mann/source.n +man/mann/split.n +man/mann/string.n +man/mann/subst.n +man/mann/switch.n +man/mann/tcl_endOfWord.n +man/mann/tcl_findLibrary.n +man/mann/tcl_startOfNextWord.n +man/mann/tcl_startOfPreviousWord.n +man/mann/tcl_wordBreakAfter.n +man/mann/tcl_wordBreakBefore.n +man/mann/tcltest.n +man/mann/tclvars.n +man/mann/tell.n +man/mann/time.n +man/mann/tm.n +man/mann/trace.n +man/mann/unknown.n +man/mann/unload.n +man/mann/unset.n +man/mann/update.n +man/mann/uplevel.n +man/mann/upvar.n +man/mann/variable.n +man/mann/vwait.n +man/mann/while.n diff --git a/lang/tcl85/buildlink3.mk b/lang/tcl85/buildlink3.mk new file mode 100644 index 00000000000..906056a6db9 --- /dev/null +++ b/lang/tcl85/buildlink3.mk @@ -0,0 +1,32 @@ +# $NetBSD: buildlink3.mk,v 1.1 2014/03/10 14:20:44 taca Exp $ + +BUILDLINK_TREE+= tcl + +.if !defined(TCL_BUILDLINK3_MK) +TCL_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.tcl+= tcl>=8.5.7 +BUILDLINK_ABI_DEPENDS.tcl+= tcl>=8.5.7 +BUILDLINK_PKGSRCDIR.tcl?= ../../lang/tcl85 + +BUILDLINK_FILES.tcl+= bin/tclsh* +# +# Make "-ltcl" and "-ltcl8.5" resolve into "-ltcl85", so that we don't +# need to patch so many Makefiles. +# +BUILDLINK_TRANSFORM+= l:tcl:tcl85 +BUILDLINK_TRANSFORM+= l:tcl8.5:tcl85 + +TCLCONFIG_SH?= ${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh + +_TOOLS_USE_PKGSRC.tclsh= yes + +FIND_PREFIX:= TOOLS_PREFIX.tclsh=tcl +.include "../../mk/find-prefix.mk" +TCLSH= ${TOOLS_PREFIX.tclsh}/bin/tclsh + +.include "../../devel/zlib/buildlink3.mk" +.include "../../mk/dlopen.buildlink3.mk" +.endif # TCL_BUILDLINK3_MK + +BUILDLINK_TREE+= -tcl diff --git a/lang/tcl85/distinfo b/lang/tcl85/distinfo new file mode 100644 index 00000000000..5b1f9f1526c --- /dev/null +++ b/lang/tcl85/distinfo @@ -0,0 +1,17 @@ +$NetBSD: distinfo,v 1.1 2014/03/10 14:20:44 taca Exp $ + +SHA1 (tcl8.5.15-src.tar.gz) = ff20698d7f77617ea179ec225300f4ea4a905299 +RMD160 (tcl8.5.15-src.tar.gz) = 17f570c0f44da5cb49b4b7c56273544bad7b5a76 +Size (tcl8.5.15-src.tar.gz) = 4536117 bytes +SHA1 (patch-generic_tclInt.h) = 2e83a0345bc7f87b2a0196d2c2d8d2462b28fbd6 +SHA1 (patch-generic_tclPort.h) = 2b1d78456b23206e5431a696f271d5ecebac7b52 +SHA1 (patch-generic_tclPosixStr.c) = 8c252a4f3d8898fb48544d15123d6a8ddc3172f0 +SHA1 (patch-tests_load.test) = 438695ab76e01646e49aadc01c44344a5495eabb +SHA1 (patch-tests_pkgMkIndex.test) = 3091cc124a4e7ae6a1140f83c9f43bee7edccf98 +SHA1 (patch-unix_Makefile.in) = 956490fe37e5f8b5564c2f3ef3c474c49ba9f73a +SHA1 (patch-unix_configure) = 1ec17ce4dbb78cbf42f5ee39bc10a6840b360913 +SHA1 (patch-unix_tclConfig.sh.in) = 6d1c69065d7c4ed1a7462f041094e91e33d7d0f4 +SHA1 (patch-unix_tclUnixCompat.c) = 7ffa40a1a56345f5b86cd896e8e3b0d5748d8c5e +SHA1 (patch-unix_tclUnixFCmd.c) = a56a12b8a0068e914d10336076347ca2b0ba9ac7 +SHA1 (patch-unix_tclUnixInit.c) = 4cbddb3e1a9ed4bbbf2d8de0df1a9032fc5b2629 +SHA1 (patch-unix_tclUnixPort.h) = fde3e497b9c94958aaac1b14a4f97916f17cf951 diff --git a/lang/tcl85/options.mk b/lang/tcl85/options.mk new file mode 100644 index 00000000000..e73efe8fdba --- /dev/null +++ b/lang/tcl85/options.mk @@ -0,0 +1,18 @@ +# $NetBSD: options.mk,v 1.1 2014/03/10 14:20:44 taca Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.tcl +PKG_SUPPORTED_OPTIONS= threads debug +PKG_SUGGESTED_OPTIONS= threads + +.include "../../mk/bsd.prefs.mk" +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mdebug) +CONFIGURE_ARGS+= --enable-symbols=mem +.endif + +.if !empty(PKG_OPTIONS:Mthreads) +CONFIGURE_ARGS+= --enable-threads +.else +CONFIGURE_ARGS+= --disable-threads +.endif diff --git a/lang/tcl85/patches/patch-generic_tclInt.h b/lang/tcl85/patches/patch-generic_tclInt.h new file mode 100644 index 00000000000..482919b9d25 --- /dev/null +++ b/lang/tcl85/patches/patch-generic_tclInt.h @@ -0,0 +1,29 @@ +$NetBSD: patch-generic_tclInt.h,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Always use <stdilb.h> and <stddef.h> + +--- generic/tclInt.h.orig 2012-07-16 11:57:05.000000000 +0000 ++++ generic/tclInt.h +@@ -38,21 +38,9 @@ + #include <stdio.h> + + #include <ctype.h> +-#ifdef NO_STDLIB_H +-# include "../compat/stdlib.h" +-#else +-# include <stdlib.h> +-#endif +-#ifdef NO_STRING_H +-#include "../compat/string.h" +-#else ++#include <stdlib.h> + #include <string.h> +-#endif +-#ifdef STDC_HEADERS + #include <stddef.h> +-#else +-typedef int ptrdiff_t; +-#endif + + /* + * Ensure WORDS_BIGENDIAN is defined correctly: diff --git a/lang/tcl85/patches/patch-generic_tclPort.h b/lang/tcl85/patches/patch-generic_tclPort.h new file mode 100644 index 00000000000..ad743105395 --- /dev/null +++ b/lang/tcl85/patches/patch-generic_tclPort.h @@ -0,0 +1,15 @@ +$NetBSD: patch-generic_tclPort.h,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Use relative path to include. + +--- generic/tclPort.h.orig 2013-03-21 12:57:40.000000000 +0000 ++++ generic/tclPort.h +@@ -20,7 +20,7 @@ + #if defined(_WIN32) + # include "tclWinPort.h" + #else +-# include "tclUnixPort.h" ++# include "../unix/tclUnixPort.h" + #endif + #include "tcl.h" + diff --git a/lang/tcl85/patches/patch-generic_tclPosixStr.c b/lang/tcl85/patches/patch-generic_tclPosixStr.c new file mode 100644 index 00000000000..d2bb7dec4ee --- /dev/null +++ b/lang/tcl85/patches/patch-generic_tclPosixStr.c @@ -0,0 +1,24 @@ +$NetBSD: patch-generic_tclPosixStr.c,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Carried over from TCL 8.4 + +--- generic/tclPosixStr.c.orig 2012-07-16 11:57:05.000000000 +0000 ++++ generic/tclPosixStr.c +@@ -335,7 +335,7 @@ Tcl_ErrnoId(void) + #if defined(EOPNOTSUPP) && (!defined(ENOTSUP) || (ENOTSUP != EOPNOTSUPP)) + case EOPNOTSUPP: return "EOPNOTSUPP"; + #endif +-#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) ++#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) && (!defined(ERANGE) || (EOVERFLOW != ERANGE)) + case EOVERFLOW: return "EOVERFLOW"; + #endif + #ifdef EPERM +@@ -783,7 +783,7 @@ Tcl_ErrnoMsg( + #if defined(EOPNOTSUPP) && (!defined(ENOTSUP) || (ENOTSUP != EOPNOTSUPP)) + case EOPNOTSUPP: return "operation not supported on socket"; + #endif +-#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) ++#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL)) && (!defined(ERANGE) || (EOVERFLOW != ERANGE)) + case EOVERFLOW: return "file too big"; + #endif + #ifdef EPERM diff --git a/lang/tcl85/patches/patch-tests_load.test b/lang/tcl85/patches/patch-tests_load.test new file mode 100644 index 00000000000..24648364a4e --- /dev/null +++ b/lang/tcl85/patches/patch-tests_load.test @@ -0,0 +1,15 @@ +$NetBSD: patch-tests_load.test,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Carried over from TCL 8.4 + +--- tests/load.test.orig 2012-07-16 11:57:06.000000000 +0000 ++++ tests/load.test +@@ -21,7 +21,7 @@ if {![info exists ext]} { + set ext [info sharedlibextension] + } + # Tests require the existence of one of the DLLs in the dltest directory. +-set testDir [file join [file dirname [info nameofexecutable]] dltest] ++set testDir [file join [file dirname [info nameofexecutable]] .. dltest .libs ] + set x [file join $testDir pkga$ext] + set dll "[file tail $x]Required" + testConstraint $dll [file readable $x] diff --git a/lang/tcl85/patches/patch-tests_pkgMkIndex.test b/lang/tcl85/patches/patch-tests_pkgMkIndex.test new file mode 100644 index 00000000000..c5bec090dde --- /dev/null +++ b/lang/tcl85/patches/patch-tests_pkgMkIndex.test @@ -0,0 +1,33 @@ +$NetBSD: patch-tests_pkgMkIndex.test,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Carried over from TCL 8.4 + +--- tests/pkgMkIndex.test.orig 2013-08-30 15:58:40.000000000 +0000 ++++ tests/pkgMkIndex.test +@@ -555,7 +555,7 @@ removeFile [file join pkg circ2.tcl] + removeFile [file join pkg circ3.tcl] + + # Some tests require the existence of one of the DLLs in the dltest directory +-set x [file join [file dirname [info nameofexecutable]] dltest \ ++set x [file join [file dirname [info nameofexecutable]] .. dltest .libs \ + pkga[info sharedlibextension]] + set dll "[file tail $x]Required" + testConstraint $dll [file exists $x] +@@ -568,7 +568,7 @@ proc pkga_neq { x } { + return [expr {! [pkgq_eq $x]}] + } + } [file join pkg pkga.tcl] +- file copy -force $x $fullPkgPath ++ eval file copy -force [glob "$x*"] $fullPkgPath + } + testConstraint exec [llength [info commands ::exec]] + +@@ -594,7 +594,7 @@ test pkgMkIndex-10.2 {package in DLL hid + } {0 {}} + + if {[testConstraint $dll]} { +- file delete -force [file join $fullPkgPath [file tail $x]] ++ eval file delete -force [global [file join $fullPkgPath [file tail "$x*"] ] ] + removeFile [file join pkg pkga.tcl] + } + diff --git a/lang/tcl85/patches/patch-unix_Makefile.in b/lang/tcl85/patches/patch-unix_Makefile.in new file mode 100644 index 00000000000..5968f8ead8c --- /dev/null +++ b/lang/tcl85/patches/patch-unix_Makefile.in @@ -0,0 +1,153 @@ +$NetBSD: patch-unix_Makefile.in,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Shared library handling on pkgsrc. + +--- unix/Makefile.in.orig 2012-11-09 17:14:39.000000000 +0200 ++++ unix/Makefile.in 2013-04-08 17:05:01.000000000 +0300 +@@ -8,6 +8,7 @@ + MAJOR_VERSION = @TCL_MAJOR_VERSION@ + MINOR_VERSION = @TCL_MINOR_VERSION@ + PATCH_LEVEL = @TCL_PATCH_LEVEL@ ++SHLIB_VERSION = @SHLIB_VERSION@ + + #-------------------------------------------------------------------------- + # Things you can change to personalize the Makefile for your own site (you can +@@ -54,6 +55,8 @@ + + # Directory in which to install the include file tcl.h: + INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) ++UNIX_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/tcl/unix ++GENERIC_INCLUDE_INSTALL_DIR = $(INCLUDE_INSTALL_DIR)/tcl/generic + + # Path to the private tcl header dir: + PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ +@@ -100,7 +103,7 @@ + #CFLAGS = $(CFLAGS_DEBUG) + #CFLAGS = $(CFLAGS_OPTIMIZE) + #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE) +-CFLAGS = @CFLAGS_DEFAULT@ @CFLAGS@ ++CFLAGS += @CFLAGS_DEFAULT@ @CFLAGS@ + + # Flags to pass to the linker + LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ +@@ -194,6 +197,7 @@ + #BUILD_DLTEST = + + TCL_LIB_FILE = @TCL_LIB_FILE@ ++TCL_LIB_A_FILE = ${TCL_LIB_FILE:@SHLIB_SUFFIX@=.a} + #TCL_LIB_FILE = libtcl.a + + # Generic lib name used in rules that apply to tcl and tk +@@ -542,7 +546,7 @@ + + all: binaries libraries doc + +-binaries: ${LIB_FILE} $(STUB_LIB_FILE) ${TCL_EXE} ++binaries: ${LIB_FILE} $(STUB_LIB_FILE) ${TCL_EXE} ${TCL_LIB_A_FILE} + + libraries: + +@@ -558,6 +562,11 @@ + rm -f $@ + @MAKE_STUB_LIB@ + ++${TCL_LIB_A_FILE}: ${OBJS} ++ rm -rf $@ ++ ar cr $@ ${OBJS} ++ $(RANLIB) $@ ++ + # Make target which outputs the list of the .o contained in the Tcl lib useful + # to build a single big shared library containing Tcl and other extensions. + # Used for the Tcl Plugin. -- dl +@@ -719,9 +728,16 @@ + done; + @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" + @@INSTALL_LIB@ +- @chmod 555 "$(DLL_INSTALL_DIR)"/$(LIB_FILE) ++ @cd "$(DLL_INSTALL_DIR)" && if test "$(SHLIB_SUFFIX)" = ".dylib"; then \ ++ ln -sf libtcl$(MAJOR_VERSION)$(MINOR_VERSION).$(SHLIB_VERSION)$(SHLIB_SUFFIX) $(LIB_FILE) ; \ ++ else \ ++ ln -sf libtcl$(MAJOR_VERSION)$(MINOR_VERSION)$(SHLIB_SUFFIX).$(SHLIB_VERSION) $(LIB_FILE) ; \ ++ fi ++ @echo "Installing ${TCL_LIB_A_FILE} to $(DLL_INSTALL_DIR)/" ++ @$(INSTALL_DATA) ${TCL_LIB_A_FILE} $(DLL_INSTALL_DIR)/${TCL_LIB_A_FILE} + @echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)@EXEEXT@" + @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)"/tclsh$(VERSION)@EXEEXT@ ++ @cd "$(BIN_INSTALL_DIR)" && ln -sf tclsh$(VERSION)@EXEEXT@ tclsh + @echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/" + @$(INSTALL_DATA) tclConfig.sh "$(CONFIG_INSTALL_DIR)"/tclConfig.sh + @if test "$(STUB_LIB_FILE)" != "" ; then \ +@@ -731,7 +747,8 @@ + @EXTRA_INSTALL_BINARIES@ + + install-libraries: libraries $(INSTALL_TZDATA) install-msgs +- @for i in "$(INCLUDE_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)"; \ ++ @for i in "$(INCLUDE_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)" \ ++ "$(GENERIC_INCLUDE_INSTALL_DIR)" "$(UNIX_INCLUDE_INSTALL_DIR)"; \ + do \ + if [ ! -d "$$i" ] ; then \ + echo "Making directory $$i"; \ +@@ -739,7 +756,7 @@ + else true; \ + fi; \ + done; +- @for i in opt0.4 http1.0 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5; \ ++ @for i in opt0.4 http1.0 encoding; \ + do \ + if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ + echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ +@@ -748,12 +765,17 @@ + fi; \ + done; + @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/"; +- @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \ +- $(GENERIC_DIR)/tclPlatDecls.h \ +- $(GENERIC_DIR)/tclTomMath.h \ +- $(GENERIC_DIR)/tclTomMathDecls.h ; \ ++ @for i in $(GENERIC_DIR)/*.h ; \ ++ do \ ++ $(INSTALL_DATA) $$i "$(GENERIC_INCLUDE_INSTALL_DIR)"; \ ++ done; ++ @for i in $(UNIX_DIR)/*.h ; \ ++ do \ ++ $(INSTALL_DATA) $$i "$(UNIX_INCLUDE_INSTALL_DIR)"; \ ++ done; ++ @for i in tcl.h tclDecls.h tclPlatDecls.h ; \ + do \ +- $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"; \ ++ cd "$(INCLUDE_INSTALL_DIR)" && ln -sf tcl/generic/$$i $$i; \ + done; + @echo "Installing library files to $(SCRIPT_INSTALL_DIR)/"; + @for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex \ +@@ -767,21 +789,26 @@ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/http1.0; \ + done; + @echo "Installing package http 2.7.12 as a Tcl Module"; +- @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/http-2.7.12.tm; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/http/http.tcl; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/http/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"/http/pkgIndex.tcl; + @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; + @for i in $(TOP_DIR)/library/opt/*.tcl ; \ + do \ + $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/opt0.4; \ + done; + @echo "Installing package msgcat 1.5.2 as a Tcl Module"; +- @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/msgcat-1.5.2.tm; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl "$(SCRIPT_INSTALL_DIR)"/msgcat1.4/msgcat.tcl; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"/msgcat1.4/pkgIndex.tcl; + @echo "Installing package tcltest 2.3.5 as a Tcl Module"; +- @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.5/tcltest-2.3.5.tm; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl "$(SCRIPT_INSTALL_DIR)"/tcltest2.3/tcltest.tcl; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"/tcltest2.3/pkgIndex.tcl; + + @echo "Installing package platform 1.0.12 as a Tcl Module"; +- @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.12.tm; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/platform1.0/platform.tcl; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/platform/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"/platform1.0/pkgIndex.tcl; + @echo "Installing package platform::shell 1.1.4 as a Tcl Module"; +- @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.4.tm; ++ @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/shell1.1/shell.tcl ++ @$(INSTALL_DATA) $(TOP_DIR)/library/platform/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)"/shell1.1/pkgIndex.tcl + + @echo "Installing encoding files to $(SCRIPT_INSTALL_DIR)/encoding/"; + @for i in $(TOP_DIR)/library/encoding/*.enc ; do \ diff --git a/lang/tcl85/patches/patch-unix_configure b/lang/tcl85/patches/patch-unix_configure new file mode 100644 index 00000000000..599ffc5f7ba --- /dev/null +++ b/lang/tcl85/patches/patch-unix_configure @@ -0,0 +1,178 @@ +$NetBSD: patch-unix_configure,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Add MirBSD and DragonFly support. + +--- unix/configure.orig 2013-09-13 16:07:56.000000000 +0000 ++++ unix/configure +@@ -7560,7 +7560,7 @@ fi + CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS="" + ;; +- OpenBSD-*) ++ OpenBSD-*|MirBSD-*) + arch=`arch -s` + case "$arch" in + vax) +@@ -7642,11 +7642,10 @@ fi + ;; + esac + ;; +- FreeBSD-*) ++ FreeBSD-*|DragonFly-*) + # This configuration from FreeBSD Ports. + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="${CC} -shared" +- TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\$@" + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" +@@ -7672,7 +7671,6 @@ fi + TCL_LIB_VERSIONS_OK=nodots + ;; + Darwin-*) +- CFLAGS_OPTIMIZE="-Os" + SHLIB_CFLAGS="-fno-common" + # To avoid discrepancies between what headers configure sees during + # preprocessing tests and compiling tests, move any -isysroot and +@@ -8846,7 +8844,7 @@ fi + BSD/OS*) ;; + CYGWIN_*|MINGW32_*) ;; + IRIX*) ;; +- NetBSD-*|FreeBSD-*|OpenBSD-*) ;; ++ NetBSD-*|FreeBSD-*|OpenBSD-*|DragonFly-*|MirBSD-*) ;; + Darwin-*) ;; + SCO_SV-3.2*) ;; + *) SHLIB_CFLAGS="-fPIC" ;; +@@ -8877,7 +8875,11 @@ fi + + else + +- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)"' ++ if test "${SHLIB_SUFFIX}" = ".dylib" ; then ++ INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/libtcl$(MAJOR_VERSION)$(MINOR_VERSION).$(SHLIB_VERSION)$(SHLIB_SUFFIX)"' ++ else ++ INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE).$(SHLIB_VERSION)"' ++ fi + + fi + +@@ -8911,7 +8913,7 @@ fi + else + + MAKE_STUB_LIB='${STLIB_LD} $@ ${STUB_LIB_OBJS} ; ${RANLIB} $@' +- INSTALL_STUB_LIB='$(INSTALL_LIBRARY) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)" ; (cd "$(LIB_INSTALL_DIR)" ; $(RANLIB) $(STUB_LIB_FILE))' ++ INSTALL_STUB_LIB='$(INSTALL_DATA) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)" ; (cd "$(LIB_INSTALL_DIR)" ; $(RANLIB) $(STUB_LIB_FILE))' + + fi + +@@ -18684,9 +18686,9 @@ fi + # building libtcl as a shared library instead of a static library. + #-------------------------------------------------------------------- + +-TCL_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} +-TCL_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX} +-eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" ++TCL_UNSHARED_LIB_SUFFIX=${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}.a ++TCL_SHARED_LIB_SUFFIX=${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${SHLIB_SUFFIX} ++eval "TCL_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}" + + # tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed + # since on some platforms TCL_LIB_FILE contains shell escapes. +@@ -18791,13 +18793,10 @@ _ACEOF + else + # libdir must be a fully qualified path and not ${exec_prefix}/lib + eval libdir="$libdir" +- if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then +- TCL_LIB_FLAG="-ltcl${TCL_VERSION}" +- else +- TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`" +- fi ++ TCL_LIB_FLAG="-ltcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}" + TCL_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_LIB_FLAG}" +- TCL_LIB_SPEC="-L${libdir} ${TCL_LIB_FLAG}" ++ TCL_LIB_SPEC_RPATH="${COMPILER_RPATH_FLAG}${libdir}" ++ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${libdir} ${TCL_LIB_FLAG}" + fi + VERSION='${VERSION}' + eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}" +@@ -18816,12 +18815,11 @@ if test "$FRAMEWORK_BUILD" = "1" ; then + TCL_PACKAGE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl ~/Library/Frameworks /Library/Frameworks /System/Library/Frameworks" + test -z "$TCL_MODULE_PATH" && \ + TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl" +-elif test "$prefix/lib" != "$libdir"; then +- TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}" + else +- TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}" ++ TCL_PACKAGE_PATH="${prefix}/lib/tcl ${prefix}/lib" + fi + ++ + #-------------------------------------------------------------------- + # The statements below define various symbols relating to Tcl + # stub support. +@@ -18834,12 +18832,7 @@ eval "TCL_STUB_LIB_FILE=libtclstub${TCL_ + eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" + eval "TCL_STUB_LIB_DIR=${libdir}" + +-if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then +- TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}" +-else +- TCL_STUB_LIB_FLAG="-ltclstub`echo ${TCL_VERSION} | tr -d .`" +-fi +- ++TCL_STUB_LIB_FLAG="-ltclstub${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}" + TCL_BUILD_STUB_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_STUB_LIB_FLAG}" + TCL_STUB_LIB_SPEC="-L${TCL_STUB_LIB_DIR} ${TCL_STUB_LIB_FLAG}" + TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +@@ -18991,34 +18984,15 @@ fi + # Transform confdefs.h into DEFS. + # Protect against shell expansion while executing Makefile rules. + # Protect against Makefile macro expansion. +-# +-# If the first sed substitution is executed (which looks for macros that +-# take arguments), then we branch to the quote section. Otherwise, +-# look for a macro that doesn't take arguments. +-cat >confdef2opt.sed <<\_ACEOF +-t clear +-: clear +-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +-t quote +-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +-t quote +-d +-: quote +-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +-s,\[,\\&,g +-s,\],\\&,g +-s,\$,$$,g +-p +-_ACEOF +-# We use echo to avoid assuming a particular line-breaking character. +-# The extra dot is to prevent the shell from consuming trailing +-# line-breaks from the sub-command output. A line-break within +-# single-quotes doesn't work because, if this script is created in a +-# platform that uses two characters for line-breaks (e.g., DOS), tr +-# would break. +-ac_LF_and_DOT=`echo; echo .` +-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +-rm -f confdef2opt.sed ++cat > conftest.defs <<\EOF ++s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g ++s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g ++s%\[%\\&%g ++s%\]%\\&%g ++s%\$%$$%g ++EOF ++DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` ++rm -f conftest.defs + + + +@@ -19639,6 +19613,7 @@ s,@EXTRA_BUILD_HTML@,$EXTRA_BUILD_HTML,; + s,@EXTRA_TCLSH_LIBS@,$EXTRA_TCLSH_LIBS,;t t + s,@DLTEST_LD@,$DLTEST_LD,;t t + s,@DLTEST_SUFFIX@,$DLTEST_SUFFIX,;t t ++s,@SHLIB_VERSION@,$SHLIB_VERSION,;t t + CEOF + + _ACEOF diff --git a/lang/tcl85/patches/patch-unix_tclConfig.sh.in b/lang/tcl85/patches/patch-unix_tclConfig.sh.in new file mode 100644 index 00000000000..646c27c55e7 --- /dev/null +++ b/lang/tcl85/patches/patch-unix_tclConfig.sh.in @@ -0,0 +1,25 @@ +$NetBSD: patch-unix_tclConfig.sh.in,v 1.1 2014/03/10 14:20:44 taca Exp $ + +* Handling of thread PKG_OPTIONS. + +--- unix/tclConfig.sh.in.orig 2012-07-25 16:45:05.000000000 +0000 ++++ unix/tclConfig.sh.in +@@ -9,6 +9,8 @@ + # + # The information in this file is specific to a single platform. + ++if [ -z "${_TCL_NOTHREAD}" ]; then ++ + # Tcl's version number. + TCL_VERSION='@TCL_VERSION@' + TCL_MAJOR_VERSION='@TCL_MAJOR_VERSION@' +@@ -167,3 +169,9 @@ TCL_STUB_LIB_PATH='@TCL_STUB_LIB_PATH@' + + # Flag, 1: we built Tcl with threads enables, 0 we didn't + TCL_THREADS=@TCL_THREADS@ ++ ++else ++ ++. @prefix@/lib/tclConfig-nothread.sh ++ ++fi diff --git a/lang/tcl85/patches/patch-unix_tclUnixCompat.c b/lang/tcl85/patches/patch-unix_tclUnixCompat.c new file mode 100644 index 00000000000..cadde57e945 --- /dev/null +++ b/lang/tcl85/patches/patch-unix_tclUnixCompat.c @@ -0,0 +1,67 @@ +$NetBSD: patch-unix_tclUnixCompat.c,v 1.1 2014/03/10 14:20:44 taca Exp $ + +This is needed on MirBSD, which does not have the required sysconf +constants. + +--- unix/tclUnixCompat.c.orig Thu Dec 13 16:53:10 2012 ++++ unix/tclUnixCompat.c +@@ -197,10 +197,14 @@ TclpGetPwNam( + */ + + if (tsdPtr->pbuf == NULL) { ++#ifdef _SC_GETPW_R_SIZE_MAX + tsdPtr->pbuflen = (int) sysconf(_SC_GETPW_R_SIZE_MAX); + if (tsdPtr->pbuflen < 1) { ++#endif + tsdPtr->pbuflen = 1024; ++#ifdef _SC_GETPW_R_SIZE_MAX + } ++#endif + tsdPtr->pbuf = ckalloc(tsdPtr->pbuflen); + Tcl_CreateThreadExitHandler(FreePwBuf, NULL); + } +@@ -277,10 +281,14 @@ TclpGetPwUid( + */ + + if (tsdPtr->pbuf == NULL) { ++#ifdef _SC_GETPW_R_SIZE_MAX + tsdPtr->pbuflen = (int) sysconf(_SC_GETPW_R_SIZE_MAX); + if (tsdPtr->pbuflen < 1) { ++#endif + tsdPtr->pbuflen = 1024; ++#ifdef _SC_GETPW_R_SIZE_MAX + } ++#endif + tsdPtr->pbuf = ckalloc(tsdPtr->pbuflen); + Tcl_CreateThreadExitHandler(FreePwBuf, NULL); + } +@@ -380,10 +388,14 @@ TclpGetGrNam( + */ + + if (tsdPtr->gbuf == NULL) { ++#ifdef _SC_GETGR_R_SIZE_MAX + tsdPtr->gbuflen = (int) sysconf(_SC_GETGR_R_SIZE_MAX); + if (tsdPtr->gbuflen < 1) { ++#endif + tsdPtr->gbuflen = 1024; ++#ifdef _SC_GETGR_R_SIZE_MAX + } ++#endif + tsdPtr->gbuf = ckalloc(tsdPtr->gbuflen); + Tcl_CreateThreadExitHandler(FreeGrBuf, NULL); + } +@@ -460,10 +472,14 @@ TclpGetGrGid( + */ + + if (tsdPtr->gbuf == NULL) { ++#ifdef _SC_GETGR_R_SIZE_MAX + tsdPtr->gbuflen = (int) sysconf(_SC_GETGR_R_SIZE_MAX); + if (tsdPtr->gbuflen < 1) { ++#endif + tsdPtr->gbuflen = 1024; ++#ifdef _SC_GETGR_R_SIZE_MAX + } ++#endif + tsdPtr->gbuf = ckalloc(tsdPtr->gbuflen); + Tcl_CreateThreadExitHandler(FreeGrBuf, NULL); + } diff --git a/lang/tcl85/patches/patch-unix_tclUnixFCmd.c b/lang/tcl85/patches/patch-unix_tclUnixFCmd.c new file mode 100644 index 00000000000..e539e01cc49 --- /dev/null +++ b/lang/tcl85/patches/patch-unix_tclUnixFCmd.c @@ -0,0 +1,21 @@ +$NetBSD: patch-unix_tclUnixFCmd.c,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Carried over from TCL 8.4 + +--- unix/tclUnixFCmd.c.orig 2012-07-16 11:57:06.000000000 +0000 ++++ unix/tclUnixFCmd.c +@@ -660,6 +660,14 @@ TclpDeleteFile( + *--------------------------------------------------------------------------- + */ + ++/* Reintroduced here for the benefit of scotty */ ++int ++TclpCreateDirectory(path) ++ CONST char *path; ++{ ++ return DoCreateDirectory(path); ++} ++ + int + TclpObjCreateDirectory( + Tcl_Obj *pathPtr) diff --git a/lang/tcl85/patches/patch-unix_tclUnixInit.c b/lang/tcl85/patches/patch-unix_tclUnixInit.c new file mode 100644 index 00000000000..e7185ff428c --- /dev/null +++ b/lang/tcl85/patches/patch-unix_tclUnixInit.c @@ -0,0 +1,65 @@ +$NetBSD: patch-unix_tclUnixInit.c,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Carried over from TCL 8.4 + +--- unix/tclUnixInit.c.orig 2012-07-16 11:57:06.000000000 +0000 ++++ unix/tclUnixInit.c +@@ -22,7 +22,7 @@ + # endif + #endif + #include <sys/resource.h> +-#if defined(__FreeBSD__) && defined(__GNUC__) ++#if (defined(__FreeBSD__) || defined(__DragonFly__)) && defined(__GNUC__) + # include <floatingpoint.h> + #endif + #if defined(__bsdi__) +@@ -31,6 +31,12 @@ + # include <dlfcn.h> + # endif + #endif ++#if defined(__NetBSD__) ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#include <sys/utsname.h> ++#endif ++ + + #ifdef __CYGWIN__ + DLLIMPORT extern __stdcall unsigned char GetVersionExA(void *); +@@ -448,7 +454,7 @@ TclpInitPlatform(void) + (void) signal(SIGPIPE, SIG_IGN); + #endif /* SIGPIPE */ + +-#if defined(__FreeBSD__) && defined(__GNUC__) ++#if (defined(__FreeBSD__) || defined(__DragonFly__)) && defined(__GNUC__) + /* + * Adjust the rounding mode to be more conventional. Note that FreeBSD + * only provides the __fpsetreg() used by the following two for the GNU +@@ -818,6 +824,11 @@ TclpSetVariables( + #endif + int unameOK; + Tcl_DString ds; ++#if defined(__NetBSD__) ++ char machine_arch[SYS_NMLN]; ++ int mib[2] = { CTL_HW, HW_MACHINE_ARCH }; ++ size_t len = sizeof(machine_arch); ++#endif + + #ifdef HAVE_COREFOUNDATION + char tclLibPath[MAXPATHLEN + 1]; +@@ -986,8 +997,15 @@ TclpSetVariables( + + #endif /* DJGPP */ + } ++#if defined(__NetBSD__) ++ if (sysctl(mib, sizeof(mib) / sizeof(int), machine_arch, &len, NULL, 0) < 0) ++ unameOK = 0; ++ else ++ Tcl_SetVar2(interp, "tcl_platform", "machine", machine_arch, TCL_GLOBAL_ONLY); ++#else + Tcl_SetVar2(interp, "tcl_platform", "machine", name.machine, + TCL_GLOBAL_ONLY); ++#endif /* __NetBSD__ */ + } + #endif /* !NO_UNAME */ + if (!unameOK) { diff --git a/lang/tcl85/patches/patch-unix_tclUnixPort.h b/lang/tcl85/patches/patch-unix_tclUnixPort.h new file mode 100644 index 00000000000..f72ff07d27e --- /dev/null +++ b/lang/tcl85/patches/patch-unix_tclUnixPort.h @@ -0,0 +1,28 @@ +$NetBSD: patch-unix_tclUnixPort.h,v 1.1 2014/03/10 14:20:44 taca Exp $ + +Always use <libmits.h> and <unistd.h>. + +--- unix/tclUnixPort.h.orig 2013-08-30 15:58:40.000000000 +0000 ++++ unix/tclUnixPort.h +@@ -131,19 +131,11 @@ typedef off_t Tcl_SeekOffset; + #if HAVE_INTTYPES_H + # include <inttypes.h> + #endif +-#ifdef NO_LIMITS_H +-# include "../compat/limits.h" +-#else +-# include <limits.h> +-#endif ++#include <limits.h> + #if HAVE_STDINT_H + # include <stdint.h> + #endif +-#ifdef HAVE_UNISTD_H +-# include <unistd.h> +-#else +-# include "../compat/unistd.h" +-#endif ++#include <unistd.h> + + extern int TclUnixSetBlockingMode(int fd, int mode); + |