summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]compat/zlib/win32/zlib1.dllbin105472 -> 105472 bytes
-rw-r--r--[-rwxr-xr-x]compat/zlib/win64/zlib1.dllbin116736 -> 116736 bytes
-rw-r--r--doc/FindExec.32
-rw-r--r--doc/Panic.32
-rw-r--r--generic/tcl.decls2
-rw-r--r--generic/tcl.h11
-rw-r--r--generic/tclDecls.h2
-rw-r--r--generic/tclEncoding.c5
-rw-r--r--generic/tclEvent.c12
-rw-r--r--generic/tclInt.h2
-rw-r--r--generic/tclPanic.c4
-rw-r--r--generic/tclStubLibDl.c73
-rw-r--r--generic/tclStubLibTbl.c4
-rw-r--r--unix/Makefile.in11
-rwxr-xr-xunix/configure19
-rw-r--r--unix/configure.ac4
-rw-r--r--win/Makefile.in8
-rwxr-xr-xwin/configure14
-rw-r--r--win/makefile.vc8
-rw-r--r--win/tcl.dsp24
20 files changed, 184 insertions, 23 deletions
diff --git a/compat/zlib/win32/zlib1.dll b/compat/zlib/win32/zlib1.dll
index 3196f4a..3196f4a 100755..100644
--- a/compat/zlib/win32/zlib1.dll
+++ b/compat/zlib/win32/zlib1.dll
Binary files differ
diff --git a/compat/zlib/win64/zlib1.dll b/compat/zlib/win64/zlib1.dll
index 81195c3..81195c3 100755..100644
--- a/compat/zlib/win64/zlib1.dll
+++ b/compat/zlib/win64/zlib1.dll
Binary files differ
diff --git a/doc/FindExec.3 b/doc/FindExec.3
index a1dd20d..4b92695 100644
--- a/doc/FindExec.3
+++ b/doc/FindExec.3
@@ -13,7 +13,7 @@ Tcl_FindExecutable, Tcl_GetNameOfExecutable \- identify or return the name of th
.nf
\fB#include <tcl.h>\fR
.sp
-void
+const char *
\fBTcl_FindExecutable\fR(\fIargv0\fR)
.sp
const char *
diff --git a/doc/Panic.3 b/doc/Panic.3
index d0c2a6d..6c6ec28 100644
--- a/doc/Panic.3
+++ b/doc/Panic.3
@@ -15,7 +15,7 @@ Tcl_Panic, Tcl_SetPanicProc, Tcl_ConsolePanic \- report fatal error and abort
void
\fBTcl_Panic\fR(\fIformat\fR, \fIarg\fR, \fIarg\fR, \fI...\fR)
.sp
-void
+const char *
\fBTcl_SetPanicProc\fR(\fIpanicProc\fR)
.sp
void
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 6cf7e36..815183e 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2496,7 +2496,7 @@ export {
Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
}
export {
- void Tcl_SetPanicProc(TCL_NORETURN1 Tcl_PanicProc *panicProc)
+ const char *Tcl_SetPanicProc(TCL_NORETURN1 Tcl_PanicProc *panicProc)
}
export {
Tcl_ExitProc *Tcl_SetExitProc(TCL_NORETURN1 Tcl_ExitProc *proc)
diff --git a/generic/tcl.h b/generic/tcl.h
index 37895b8..6a9e818 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2188,6 +2188,7 @@ const char * Tcl_InitStubs(Tcl_Interp *interp, const char *version,
int exact, int magic);
const char * TclTomMathInitializeStubs(Tcl_Interp *interp,
const char *version, int epoch, int revision);
+const char * TclInitStubTable(const char *version);
#if defined(_WIN32)
TCL_NORETURN1 void Tcl_ConsolePanic(const char *format, ...);
#else
@@ -2230,9 +2231,15 @@ EXTERN TCL_NORETURN void Tcl_MainEx(int argc, char **argv,
EXTERN const char * Tcl_PkgInitStubsCheck(Tcl_Interp *interp,
const char *version, int exact);
EXTERN void Tcl_GetMemoryInfo(Tcl_DString *dsPtr);
-EXTERN void Tcl_FindExecutable(const char *argv0);
-EXTERN void Tcl_SetPanicProc(
+EXTERN const char * Tcl_FindExecutable(const char *argv0);
+EXTERN const char * Tcl_SetPanicProc(
TCL_NORETURN1 Tcl_PanicProc *panicProc);
+#ifdef USE_TCL_STUBS
+#define Tcl_SetPanicProc(panicProc) \
+ TclInitStubTable((Tcl_SetPanicProc)(panicProc))
+#define Tcl_FindExecutable(argv0) \
+ TclInitStubTable((Tcl_FindExecutable)((const char *)argv0))
+#endif
EXTERN void Tcl_StaticPackage(Tcl_Interp *interp,
const char *pkgName,
Tcl_PackageInitProc *initProc,
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 35ad3fa..71aa8b8 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -3722,7 +3722,9 @@ extern const TclStubs *tclStubsPtr;
#endif
#if defined(_WIN32) && defined(UNICODE)
+#ifndef USE_TCL_STUBS
# define Tcl_FindExecutable(arg) ((Tcl_FindExecutable)((const char *)(arg)))
+#endif
# define Tcl_MainEx Tcl_MainExW
EXTERN TCL_NORETURN void Tcl_MainExW(int argc, wchar_t **argv,
Tcl_AppInitProc *appInitProc, Tcl_Interp *interp);
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index 6b4cc8e..387a2a6 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -1448,14 +1448,15 @@ Tcl_UtfToExternal(
*---------------------------------------------------------------------------
*/
#undef Tcl_FindExecutable
-void
+const char *
Tcl_FindExecutable(
const char *argv0) /* The value of the application's argv[0]
* (native). */
{
- TclInitSubsystems();
+ const char *version = TclInitSubsystems();
TclpSetInitialEncodings();
TclpFindExecutable(argv0);
+ return version;
}
/*
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index b224349..22b6958 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -1013,7 +1013,16 @@ Tcl_Exit(
*-------------------------------------------------------------------------
*/
-void
+MODULE_SCOPE const TclStubs tclStubs;
+
+static const struct {
+ const TclStubs *stubs;
+ const char version[12];
+} stubInfo = {
+ &tclStubs, TCL_PATCH_LEVEL
+};
+
+const char *
TclInitSubsystems(void)
{
if (inExit != 0) {
@@ -1060,6 +1069,7 @@ TclInitSubsystems(void)
TclpInitUnlock();
}
TclInitNotifier();
+ return stubInfo.version;
}
/*
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 9c58405..7fc7bc6 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -3003,7 +3003,7 @@ MODULE_SCOPE void TclInitLimitSupport(Tcl_Interp *interp);
MODULE_SCOPE void TclInitNamespaceSubsystem(void);
MODULE_SCOPE void TclInitNotifier(void);
MODULE_SCOPE void TclInitObjSubsystem(void);
-MODULE_SCOPE void TclInitSubsystems(void);
+MODULE_SCOPE const char *TclInitSubsystems(void);
MODULE_SCOPE int TclInterpReady(Tcl_Interp *interp);
MODULE_SCOPE int TclIsSpaceProc(int byte);
MODULE_SCOPE int TclIsDigitProc(int byte);
diff --git a/generic/tclPanic.c b/generic/tclPanic.c
index 277f7ad..1dd34ca 100644
--- a/generic/tclPanic.c
+++ b/generic/tclPanic.c
@@ -41,12 +41,12 @@ static TCL_NORETURN1 Tcl_PanicProc *panicProc = NULL;
*----------------------------------------------------------------------
*/
-void
+const char *
Tcl_SetPanicProc(
TCL_NORETURN1 Tcl_PanicProc *proc)
{
panicProc = proc;
- TclInitSubsystems();
+ return TclInitSubsystems();
}
/*
diff --git a/generic/tclStubLibDl.c b/generic/tclStubLibDl.c
new file mode 100644
index 0000000..67d9e7d
--- /dev/null
+++ b/generic/tclStubLibDl.c
@@ -0,0 +1,73 @@
+/*
+ * tclStubLibDl.c --
+ *
+ * Stub object that will be statically linked into extensions that want
+ * to access Tcl.
+ *
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
+ * Copyright (c) 1998 Paul Duffin.
+ *
+ * See the file "license.terms" for information on usage and redistribution of
+ * this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ */
+
+#include "tclInt.h"
+#ifndef _WIN32
+# include <dlfcn.h>
+#else
+# define dlopen(a,b) (void *)LoadLibrary(TEXT(a))
+# define dlsym(a,b) (void *)GetProcAddress((HANDLE)(a),b)
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * Tcl_SetPanicProc --
+ *
+ * Load the Tcl core dynamically, version "9.0" (or higher, in future versions)
+ *
+ * Results:
+ * Outputs the value of the "version" argument.
+ *
+ * Side effects:
+ * Sets the stub table pointers.
+ *
+ *----------------------------------------------------------------------
+ */
+
+MODULE_SCOPE const char *
+Tcl_SetPanicProc(
+ TCL_NORETURN1 Tcl_PanicProc *panicProc)
+{
+ static const char *(*setPanicProc)(TCL_NORETURN1 Tcl_PanicProc *) = NULL;
+ static const char *version = NULL;
+
+ if (!setPanicProc) {
+ void *handle = dlopen(TCL_DLL_FILE, RTLD_NOW|RTLD_LOCAL);
+ if (!handle) {
+ if (panicProc) {
+ panicProc("Cannot find " TCL_DLL_FILE);
+ } else {
+ fprintf(stderr, "Cannot find " TCL_DLL_FILE);
+ abort();
+ }
+ return NULL;
+ }
+ setPanicProc = dlsym(handle, "Tcl_SetPanicProc");
+ if (!setPanicProc) {
+ setPanicProc = dlsym(handle, "_Tcl_SetPanicProc");
+ }
+ if (setPanicProc) {
+ version = setPanicProc(panicProc);
+ }
+ }
+ return version;
+}
+
+/*
+ * Local Variables:
+ * mode: c
+ * c-basic-offset: 4
+ * fill-column: 78
+ * End:
+ */
diff --git a/generic/tclStubLibTbl.c b/generic/tclStubLibTbl.c
index 0391502..53680c5 100644
--- a/generic/tclStubLibTbl.c
+++ b/generic/tclStubLibTbl.c
@@ -32,9 +32,9 @@
MODULE_SCOPE const char *
TclInitStubTable(
const char *version) /* points to the version field of a
- TclStubInfoType structure variable. */
+ structure variable. */
{
- tclStubsPtr = ((const TclStubInfoType *) version)->stubs;
+ tclStubsPtr = ((const TclStubs **) version)[-1];
if (tclStubsPtr->hooks) {
tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs;
diff --git a/unix/Makefile.in b/unix/Makefile.in
index b9739ce..3b24caf 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -201,6 +201,7 @@ BUILD_DLTEST = @BUILD_DLTEST@
TCL_LIB_FILE = @TCL_LIB_FILE@
#TCL_LIB_FILE = libtcl.a
+TCL_PREV_LIB_FILE = @TCL_PREV_LIB_FILE@
# Generic lib name used in rules that apply to tcl and tk
LIB_FILE = ${TCL_LIB_FILE}
@@ -344,6 +345,8 @@ TOMMATH_OBJS = bn_reverse.o bn_fast_s_mp_mul_digs.o \
bn_s_mp_mul_digs.o bn_s_mp_sqr.o bn_s_mp_sub.o
STUB_LIB_OBJS = tclStubLib.o \
+ tclStubLibDl.o \
+ tclStubLibTbl.o \
tclTomMathStubLib.o \
tclOOStubLib.o \
${COMPAT_OBJS}
@@ -486,6 +489,8 @@ OO_SRCS = \
STUB_SRCS = \
$(GENERIC_DIR)/tclStubLib.c \
+ $(GENERIC_DIR)/tclStubLibDl.c \
+ $(GENERIC_DIR)/tclStubLibTbl.c \
$(GENERIC_DIR)/tclTomMathStubLib.c \
$(GENERIC_DIR)/tclOOStubLib.c
@@ -1820,6 +1825,12 @@ Zzutil.o: $(ZLIB_DIR)/zutil.c
tclStubLib.o: $(GENERIC_DIR)/tclStubLib.c
$(CC) -c $(STUB_CC_SWITCHES) -DSTATIC_BUILD $(GENERIC_DIR)/tclStubLib.c
+tclStubLibDl.o: $(GENERIC_DIR)/tclStubLibDl.c
+ $(CC) -c $(STUB_CC_SWITCHES) -DSTATIC_BUILD -DTCL_DLL_FILE="\"$(TCL_LIB_FILE)\"" $(GENERIC_DIR)/tclStubLibDl.c
+
+tclStubLibTbl.o: $(GENERIC_DIR)/tclStubLibTbl.c
+ $(CC) -c $(STUB_CC_SWITCHES) -DSTATIC_BUILD $(GENERIC_DIR)/tclStubLibTbl.c
+
tclTomMathStubLib.o: $(GENERIC_DIR)/tclTomMathStubLib.c
$(CC) -c $(STUB_CC_SWITCHES) $(GENERIC_DIR)/tclTomMathStubLib.c
diff --git a/unix/configure b/unix/configure
index e83f47d..e899510 100755
--- a/unix/configure
+++ b/unix/configure
@@ -657,6 +657,7 @@ TCL_STUB_LIB_FLAG
TCL_STUB_LIB_FILE
TCL_LIB_SPEC
TCL_LIB_FLAG
+TCL_PREV_LIB_FILE
TCL_LIB_FILE
PKG_CFG_ARGS
TCL_YEAR
@@ -740,6 +741,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -828,6 +830,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1080,6 +1083,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1217,7 +1229,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1370,6 +1382,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -10311,6 +10324,9 @@ else
TCL_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_LIB_FLAG}"
TCL_LIB_SPEC="-L${libdir} ${TCL_LIB_FLAG}"
fi
+VERSION='8.5'
+eval "TCL_PREV_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}"
+eval "TCL_PREV_LIB_FILE=${TCL_PREV_LIB_FILE}"
VERSION='${VERSION}'
eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}"
eval "CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}"
@@ -10427,6 +10443,7 @@ TCL_SHARED_BUILD=${SHARED_BUILD}
+
ac_config_files="$ac_config_files Makefile:../unix/Makefile.in dltest/Makefile:../unix/dltest/Makefile.in tclConfig.sh:../unix/tclConfig.sh.in tcl.pc:../unix/tcl.pc.in"
cat >confcache <<\_ACEOF
diff --git a/unix/configure.ac b/unix/configure.ac
index c41cf73..2dd407a 100644
--- a/unix/configure.ac
+++ b/unix/configure.ac
@@ -916,6 +916,9 @@ else
TCL_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TCL_LIB_FLAG}"
TCL_LIB_SPEC="-L${libdir} ${TCL_LIB_FLAG}"
fi
+VERSION='8.5'
+eval "TCL_PREV_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}"
+eval "TCL_PREV_LIB_FILE=${TCL_PREV_LIB_FILE}"
VERSION='${VERSION}'
eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}"
eval "CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}"
@@ -980,6 +983,7 @@ AC_SUBST(PKG_CFG_ARGS)
AC_SUBST(TCL_ZIP_FILE)
AC_SUBST(TCL_LIB_FILE)
+AC_SUBST(TCL_PREV_LIB_FILE)
AC_SUBST(TCL_LIB_FLAG)
AC_SUBST(TCL_LIB_SPEC)
AC_SUBST(TCL_STUB_LIB_FILE)
diff --git a/win/Makefile.in b/win/Makefile.in
index e1dc5d9..8bc34d5 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -455,6 +455,8 @@ REG_OBJS = tclWinReg.$(OBJEXT)
STUB_OBJS = \
tclStubLib.$(OBJEXT) \
+ tclStubLibDl.$(OBJEXT) \
+ tclStubLibTbl.$(OBJEXT) \
tclTomMathStubLib.$(OBJEXT) \
tclOOStubLib.$(OBJEXT) \
tclWinPanic.$(OBJEXT)
@@ -669,6 +671,12 @@ tclPkgConfig.${OBJEXT}: tclPkgConfig.c
tclStubLib.${OBJEXT}: tclStubLib.c
$(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
+tclStubLibDl.${OBJEXT}: tclStubLibDl.c
+ $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD -DTCL_DLL_FILE="\"$(TCL_DLL_FILE)\"" @DEPARG@ $(CC_OBJNAME)
+
+tclStubLibTbl.${OBJEXT}: tclStubLibTbl.c
+ $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
+
tclTomMathStubLib.${OBJEXT}: tclTomMathStubLib.c
$(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
diff --git a/win/configure b/win/configure
index 1c08bd9..b16bc1c 100755
--- a/win/configure
+++ b/win/configure
@@ -753,6 +753,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -830,6 +831,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1082,6 +1084,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1219,7 +1230,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1372,6 +1383,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
diff --git a/win/makefile.vc b/win/makefile.vc
index 959fd64..aafd9fb 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -413,6 +413,8 @@ TCLOBJS = $(COREOBJS) $(ZLIBOBJS) $(TOMMATHOBJS) $(PLATFORMOBJS)
TCLSTUBOBJS = \
$(TMP_DIR)\tclStubLib.obj \
+ $(TMP_DIR)\tclStubLibDl.obj \
+ $(TMP_DIR)\tclStubLibTbl.obj \
$(TMP_DIR)\tclTomMathStubLib.obj \
$(TMP_DIR)\tclOOStubLib.obj \
$(TMP_DIR)\tclWinPanic.obj
@@ -800,6 +802,12 @@ $(TMP_DIR)\tclWinDde.obj: $(WINDIR)\tclWinDde.c
$(TMP_DIR)\tclStubLib.obj: $(GENERICDIR)\tclStubLib.c
$(cc32) $(stubscflags) -Fo$@ $?
+$(TMP_DIR)\tclStubLibDl.obj: $(GENERICDIR)\tclStubLibDl.c
+ $(cc32) $(STUB_CFLAGS) -Zl -DSTATIC_BUILD -DTCL_DLL_FILE="\"tcl86.dll\"" $(TCL_INCLUDES) -Fo$@ $?
+
+$(TMP_DIR)\tclStubLibTbl.obj: $(GENERICDIR)\tclStubLibTbl.c
+ $(cc32) $(STUB_CFLAGS) -Zl -DSTATIC_BUILD $(TCL_INCLUDES) -Fo$@ $?
+
$(TMP_DIR)\tclTomMathStubLib.obj: $(GENERICDIR)\tclTomMathStubLib.c
$(cc32) $(stubscflags) -Fo$@ $?
diff --git a/win/tcl.dsp b/win/tcl.dsp
index 277bb4e..a8e71d2 100644
--- a/win/tcl.dsp
+++ b/win/tcl.dsp
@@ -7,21 +7,21 @@
CFG=tcl - Win32 Debug Static
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
-!MESSAGE
+!MESSAGE
!MESSAGE NMAKE /f "tcl.mak".
-!MESSAGE
+!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
+!MESSAGE
!MESSAGE NMAKE /f "tcl.mak" CFG="tcl - Win32 Debug Static"
-!MESSAGE
+!MESSAGE
!MESSAGE Possible choices for configuration are:
-!MESSAGE
+!MESSAGE
!MESSAGE "tcl - Win32 Release" (based on "Win32 (x86) External Target")
!MESSAGE "tcl - Win32 Debug" (based on "Win32 (x86) External Target")
!MESSAGE "tcl - Win32 Debug Static" (based on "Win32 (x86) External Target")
!MESSAGE "tcl - Win32 Release Static" (based on "Win32 (x86) External Target")
-!MESSAGE
+!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
@@ -112,7 +112,7 @@ CFG=tcl - Win32 Debug Static
# PROP Bsc_Name ""
# PROP Target_Dir ""
-!ENDIF
+!ENDIF
# Begin Target
@@ -129,7 +129,7 @@ CFG=tcl - Win32 Debug Static
!ELSEIF "$(CFG)" == "tcl - Win32 Release Static"
-!ENDIF
+!ENDIF
# Begin Group "compat"
@@ -1288,6 +1288,14 @@ SOURCE=..\generic\tclStubLib.c
# End Source File
# Begin Source File
+SOURCE=..\generic\tclStubLibDl.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\generic\tclStubLibTbl.c
+# End Source File
+# Begin Source File
+
SOURCE=..\generic\tclOOStubLib.c
# End Source File
# Begin Source File