summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhypnotoad <yoda@etoyoc.com>2017-11-21 22:34:06 (GMT)
committerhypnotoad <yoda@etoyoc.com>2017-11-21 22:34:06 (GMT)
commit09f849cabd3a540d83c2ce2e42174cd2c7ced9a9 (patch)
tree60f00e70862704db86a583cab4e8006c820beaa1
parentd997aa477de14bc3128e4e5ac08713f7c40d647c (diff)
parenta1bc5b8a2b3fbc46b0207124137c9b2a5a8cced1 (diff)
downloadtcl-09f849cabd3a540d83c2ce2e42174cd2c7ced9a9.zip
tcl-09f849cabd3a540d83c2ce2e42174cd2c7ced9a9.tar.gz
tcl-09f849cabd3a540d83c2ce2e42174cd2c7ced9a9.tar.bz2
Pulling changes from core-8-branch
-rw-r--r--generic/tclIO.c2
-rw-r--r--generic/tclInt.decls28
-rw-r--r--generic/tclIntDecls.h200
-rw-r--r--generic/tclStubInit.c67
-rw-r--r--library/init.tcl4
-rw-r--r--tests/expr-old.test20
-rwxr-xr-xunix/configure10
-rw-r--r--unix/tcl.m42
-rw-r--r--unix/tclConfig.h.in3
-rw-r--r--unix/tclUnixPort.h3
-rw-r--r--unix/tclUnixThrd.c2
-rw-r--r--win/Makefile.in1443
12 files changed, 770 insertions, 1014 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index df04794..81fd298 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -9032,6 +9032,7 @@ ZeroTransferTimerProc(
*----------------------------------------------------------------------
*/
+#if !defined(TCL_NO_DEPRECATED)
int
TclCopyChannelOld(
Tcl_Interp *interp, /* Current interpreter. */
@@ -9043,6 +9044,7 @@ TclCopyChannelOld(
return TclCopyChannel(interp, inChan, outChan, (Tcl_WideInt) toRead,
cmdPtr);
}
+#endif
int
TclCopyChannel(
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index b683a29..33bf0b3 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -453,26 +453,26 @@ declare 111 {
Tcl_ResolveCompiledVarProc *compiledVarProc)
}
declare 112 {
- int Tcl_AppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+ int TclAppendExportList(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
Tcl_Obj *objPtr)
}
declare 113 {
- Tcl_Namespace *Tcl_CreateNamespace(Tcl_Interp *interp, const char *name,
+ Tcl_Namespace *TclCreateNamespace(Tcl_Interp *interp, const char *name,
ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc)
}
declare 114 {
- void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr)
+ void TclDeleteNamespace(Tcl_Namespace *nsPtr)
}
declare 115 {
- int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+ int TclExport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
const char *pattern, int resetListFirst)
}
declare 116 {
- Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, const char *name,
+ Tcl_Command TclFindCommand(Tcl_Interp *interp, const char *name,
Tcl_Namespace *contextNsPtr, int flags)
}
declare 117 {
- Tcl_Namespace *Tcl_FindNamespace(Tcl_Interp *interp, const char *name,
+ Tcl_Namespace *TclFindNamespace(Tcl_Interp *interp, const char *name,
Tcl_Namespace *contextNsPtr, int flags)
}
declare 118 {
@@ -488,28 +488,28 @@ declare 120 {
Tcl_Namespace *contextNsPtr, int flags)
}
declare 121 {
- int Tcl_ForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+ int TclForgetImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
const char *pattern)
}
declare 122 {
- Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
+ Tcl_Command TclGetCommandFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
}
declare 123 {
- void Tcl_GetCommandFullName(Tcl_Interp *interp, Tcl_Command command,
+ void TclGetCommandFullName(Tcl_Interp *interp, Tcl_Command command,
Tcl_Obj *objPtr)
}
declare 124 {
- Tcl_Namespace *Tcl_GetCurrentNamespace(Tcl_Interp *interp)
+ Tcl_Namespace *TclGetCurrentNamespace_(Tcl_Interp *interp)
}
declare 125 {
- Tcl_Namespace *Tcl_GetGlobalNamespace(Tcl_Interp *interp)
+ Tcl_Namespace *TclGetGlobalNamespace_(Tcl_Interp *interp)
}
declare 126 {
void Tcl_GetVariableFullName(Tcl_Interp *interp, Tcl_Var variable,
Tcl_Obj *objPtr)
}
declare 127 {
- int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+ int TclImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
const char *pattern, int allowOverwrite)
}
declare 128 {
@@ -724,10 +724,10 @@ declare 177 {
const char *operation, const char *reason)
}
declare 178 {
- void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
+ void TclSetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
}
declare 179 {
- Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr)
+ Tcl_Obj *TclGetStartupScript(const char **encodingNamePtr)
}
# REMOVED
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h
index 4244362..22b8072 100644
--- a/generic/tclIntDecls.h
+++ b/generic/tclIntDecls.h
@@ -28,22 +28,6 @@
# endif
#endif
-/* [Bug #803489] Tcl_FindNamespace problem in the Stubs table */
-#undef Tcl_CreateNamespace
-#undef Tcl_DeleteNamespace
-#undef Tcl_AppendExportList
-#undef Tcl_Export
-#undef Tcl_Import
-#undef Tcl_ForgetImport
-#undef Tcl_GetCurrentNamespace
-#undef Tcl_GetGlobalNamespace
-#undef Tcl_FindNamespace
-#undef Tcl_FindCommand
-#undef Tcl_GetCommandFromObj
-#undef Tcl_GetCommandFullName
-#undef Tcl_SetStartupScript
-#undef Tcl_GetStartupScript
-
/*
* WARNING: This file is automatically generated by the tools/genStubs.tcl
* script. Any modifications to the function declarations below should be made
@@ -287,22 +271,22 @@ EXTERN void Tcl_AddInterpResolvers(Tcl_Interp *interp,
Tcl_ResolveVarProc *varProc,
Tcl_ResolveCompiledVarProc *compiledVarProc);
/* 112 */
-EXTERN int Tcl_AppendExportList(Tcl_Interp *interp,
+EXTERN int TclAppendExportList(Tcl_Interp *interp,
Tcl_Namespace *nsPtr, Tcl_Obj *objPtr);
/* 113 */
-EXTERN Tcl_Namespace * Tcl_CreateNamespace(Tcl_Interp *interp,
+EXTERN Tcl_Namespace * TclCreateNamespace(Tcl_Interp *interp,
const char *name, ClientData clientData,
Tcl_NamespaceDeleteProc *deleteProc);
/* 114 */
-EXTERN void Tcl_DeleteNamespace(Tcl_Namespace *nsPtr);
+EXTERN void TclDeleteNamespace(Tcl_Namespace *nsPtr);
/* 115 */
-EXTERN int Tcl_Export(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+EXTERN int TclExport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
const char *pattern, int resetListFirst);
/* 116 */
-EXTERN Tcl_Command Tcl_FindCommand(Tcl_Interp *interp, const char *name,
+EXTERN Tcl_Command TclFindCommand(Tcl_Interp *interp, const char *name,
Tcl_Namespace *contextNsPtr, int flags);
/* 117 */
-EXTERN Tcl_Namespace * Tcl_FindNamespace(Tcl_Interp *interp,
+EXTERN Tcl_Namespace * TclFindNamespace(Tcl_Interp *interp,
const char *name,
Tcl_Namespace *contextNsPtr, int flags);
/* 118 */
@@ -317,23 +301,23 @@ EXTERN Tcl_Var Tcl_FindNamespaceVar(Tcl_Interp *interp,
const char *name,
Tcl_Namespace *contextNsPtr, int flags);
/* 121 */
-EXTERN int Tcl_ForgetImport(Tcl_Interp *interp,
+EXTERN int TclForgetImport(Tcl_Interp *interp,
Tcl_Namespace *nsPtr, const char *pattern);
/* 122 */
-EXTERN Tcl_Command Tcl_GetCommandFromObj(Tcl_Interp *interp,
+EXTERN Tcl_Command TclGetCommandFromObj(Tcl_Interp *interp,
Tcl_Obj *objPtr);
/* 123 */
-EXTERN void Tcl_GetCommandFullName(Tcl_Interp *interp,
+EXTERN void TclGetCommandFullName(Tcl_Interp *interp,
Tcl_Command command, Tcl_Obj *objPtr);
/* 124 */
-EXTERN Tcl_Namespace * Tcl_GetCurrentNamespace(Tcl_Interp *interp);
+EXTERN Tcl_Namespace * TclGetCurrentNamespace_(Tcl_Interp *interp);
/* 125 */
-EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace(Tcl_Interp *interp);
+EXTERN Tcl_Namespace * TclGetGlobalNamespace_(Tcl_Interp *interp);
/* 126 */
EXTERN void Tcl_GetVariableFullName(Tcl_Interp *interp,
Tcl_Var variable, Tcl_Obj *objPtr);
/* 127 */
-EXTERN int Tcl_Import(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+EXTERN int TclImport(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
const char *pattern, int allowOverwrite);
/* 128 */
EXTERN void Tcl_PopCallFrame(Tcl_Interp *interp);
@@ -465,10 +449,10 @@ EXTERN void TclVarErrMsg(Tcl_Interp *interp, const char *part1,
const char *part2, const char *operation,
const char *reason);
/* 178 */
-EXTERN void Tcl_SetStartupScript(Tcl_Obj *pathPtr,
+EXTERN void TclSetStartupScript(Tcl_Obj *pathPtr,
const char *encodingName);
/* 179 */
-EXTERN Tcl_Obj * Tcl_GetStartupScript(const char **encodingNamePtr);
+EXTERN Tcl_Obj * TclGetStartupScript(const char **encodingNamePtr);
/* Slot 180 is reserved */
/* Slot 181 is reserved */
/* 182 */
@@ -767,22 +751,22 @@ typedef struct TclIntStubs {
int (*tclUpdateReturnInfo) (Interp *iPtr); /* 109 */
int (*tclSockMinimumBuffers) (void *sock, int size); /* 110 */
void (*tcl_AddInterpResolvers) (Tcl_Interp *interp, const char *name, Tcl_ResolveCmdProc *cmdProc, Tcl_ResolveVarProc *varProc, Tcl_ResolveCompiledVarProc *compiledVarProc); /* 111 */
- int (*tcl_AppendExportList) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, Tcl_Obj *objPtr); /* 112 */
- Tcl_Namespace * (*tcl_CreateNamespace) (Tcl_Interp *interp, const char *name, ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc); /* 113 */
- void (*tcl_DeleteNamespace) (Tcl_Namespace *nsPtr); /* 114 */
- int (*tcl_Export) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int resetListFirst); /* 115 */
- Tcl_Command (*tcl_FindCommand) (Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags); /* 116 */
- Tcl_Namespace * (*tcl_FindNamespace) (Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags); /* 117 */
+ int (*tclAppendExportList) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, Tcl_Obj *objPtr); /* 112 */
+ Tcl_Namespace * (*tclCreateNamespace) (Tcl_Interp *interp, const char *name, ClientData clientData, Tcl_NamespaceDeleteProc *deleteProc); /* 113 */
+ void (*tclDeleteNamespace) (Tcl_Namespace *nsPtr); /* 114 */
+ int (*tclExport) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int resetListFirst); /* 115 */
+ Tcl_Command (*tclFindCommand) (Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags); /* 116 */
+ Tcl_Namespace * (*tclFindNamespace) (Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags); /* 117 */
int (*tcl_GetInterpResolvers) (Tcl_Interp *interp, const char *name, Tcl_ResolverInfo *resInfo); /* 118 */
int (*tcl_GetNamespaceResolvers) (Tcl_Namespace *namespacePtr, Tcl_ResolverInfo *resInfo); /* 119 */
Tcl_Var (*tcl_FindNamespaceVar) (Tcl_Interp *interp, const char *name, Tcl_Namespace *contextNsPtr, int flags); /* 120 */
- int (*tcl_ForgetImport) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern); /* 121 */
- Tcl_Command (*tcl_GetCommandFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 122 */
- void (*tcl_GetCommandFullName) (Tcl_Interp *interp, Tcl_Command command, Tcl_Obj *objPtr); /* 123 */
- Tcl_Namespace * (*tcl_GetCurrentNamespace) (Tcl_Interp *interp); /* 124 */
- Tcl_Namespace * (*tcl_GetGlobalNamespace) (Tcl_Interp *interp); /* 125 */
+ int (*tclForgetImport) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern); /* 121 */
+ Tcl_Command (*tclGetCommandFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 122 */
+ void (*tclGetCommandFullName) (Tcl_Interp *interp, Tcl_Command command, Tcl_Obj *objPtr); /* 123 */
+ Tcl_Namespace * (*tclGetCurrentNamespace_) (Tcl_Interp *interp); /* 124 */
+ Tcl_Namespace * (*tclGetGlobalNamespace_) (Tcl_Interp *interp); /* 125 */
void (*tcl_GetVariableFullName) (Tcl_Interp *interp, Tcl_Var variable, Tcl_Obj *objPtr); /* 126 */
- int (*tcl_Import) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int allowOverwrite); /* 127 */
+ int (*tclImport) (Tcl_Interp *interp, Tcl_Namespace *nsPtr, const char *pattern, int allowOverwrite); /* 127 */
void (*tcl_PopCallFrame) (Tcl_Interp *interp); /* 128 */
int (*tcl_PushCallFrame) (Tcl_Interp *interp, Tcl_CallFrame *framePtr, Tcl_Namespace *nsPtr, int isProcCallFrame); /* 129 */
int (*tcl_RemoveInterpResolvers) (Tcl_Interp *interp, const char *name); /* 130 */
@@ -833,8 +817,8 @@ typedef struct TclIntStubs {
int (*tclCallVarTraces) (Interp *iPtr, Var *arrayPtr, Var *varPtr, const char *part1, const char *part2, int flags, int leaveErrMsg); /* 175 */
void (*tclCleanupVar) (Var *varPtr, Var *arrayPtr); /* 176 */
void (*tclVarErrMsg) (Tcl_Interp *interp, const char *part1, const char *part2, const char *operation, const char *reason); /* 177 */
- void (*tcl_SetStartupScript) (Tcl_Obj *pathPtr, const char *encodingName); /* 178 */
- Tcl_Obj * (*tcl_GetStartupScript) (const char **encodingNamePtr); /* 179 */
+ void (*tclSetStartupScript) (Tcl_Obj *pathPtr, const char *encodingName); /* 178 */
+ Tcl_Obj * (*tclGetStartupScript) (const char **encodingNamePtr); /* 179 */
void (*reserved180)(void);
void (*reserved181)(void);
TCL_DEPRECATED_API("") struct tm * (*tclpLocaltime) (const time_t *clock); /* 182 */
@@ -1099,38 +1083,38 @@ extern const TclIntStubs *tclIntStubsPtr;
(tclIntStubsPtr->tclSockMinimumBuffers) /* 110 */
#define Tcl_AddInterpResolvers \
(tclIntStubsPtr->tcl_AddInterpResolvers) /* 111 */
-#define Tcl_AppendExportList \
- (tclIntStubsPtr->tcl_AppendExportList) /* 112 */
-#define Tcl_CreateNamespace \
- (tclIntStubsPtr->tcl_CreateNamespace) /* 113 */
-#define Tcl_DeleteNamespace \
- (tclIntStubsPtr->tcl_DeleteNamespace) /* 114 */
-#define Tcl_Export \
- (tclIntStubsPtr->tcl_Export) /* 115 */
-#define Tcl_FindCommand \
- (tclIntStubsPtr->tcl_FindCommand) /* 116 */
-#define Tcl_FindNamespace \
- (tclIntStubsPtr->tcl_FindNamespace) /* 117 */
+#define TclAppendExportList \
+ (tclIntStubsPtr->tclAppendExportList) /* 112 */
+#define TclCreateNamespace \
+ (tclIntStubsPtr->tclCreateNamespace) /* 113 */
+#define TclDeleteNamespace \
+ (tclIntStubsPtr->tclDeleteNamespace) /* 114 */
+#define TclExport \
+ (tclIntStubsPtr->tclExport) /* 115 */
+#define TclFindCommand \
+ (tclIntStubsPtr->tclFindCommand) /* 116 */
+#define TclFindNamespace \
+ (tclIntStubsPtr->tclFindNamespace) /* 117 */
#define Tcl_GetInterpResolvers \
(tclIntStubsPtr->tcl_GetInterpResolvers) /* 118 */
#define Tcl_GetNamespaceResolvers \
(tclIntStubsPtr->tcl_GetNamespaceResolvers) /* 119 */
#define Tcl_FindNamespaceVar \
(tclIntStubsPtr->tcl_FindNamespaceVar) /* 120 */
-#define Tcl_ForgetImport \
- (tclIntStubsPtr->tcl_ForgetImport) /* 121 */
-#define Tcl_GetCommandFromObj \
- (tclIntStubsPtr->tcl_GetCommandFromObj) /* 122 */
-#define Tcl_GetCommandFullName \
- (tclIntStubsPtr->tcl_GetCommandFullName) /* 123 */
-#define Tcl_GetCurrentNamespace \
- (tclIntStubsPtr->tcl_GetCurrentNamespace) /* 124 */
-#define Tcl_GetGlobalNamespace \
- (tclIntStubsPtr->tcl_GetGlobalNamespace) /* 125 */
+#define TclForgetImport \
+ (tclIntStubsPtr->tclForgetImport) /* 121 */
+#define TclGetCommandFromObj \
+ (tclIntStubsPtr->tclGetCommandFromObj) /* 122 */
+#define TclGetCommandFullName \
+ (tclIntStubsPtr->tclGetCommandFullName) /* 123 */
+#define TclGetCurrentNamespace_ \
+ (tclIntStubsPtr->tclGetCurrentNamespace_) /* 124 */
+#define TclGetGlobalNamespace_ \
+ (tclIntStubsPtr->tclGetGlobalNamespace_) /* 125 */
#define Tcl_GetVariableFullName \
(tclIntStubsPtr->tcl_GetVariableFullName) /* 126 */
-#define Tcl_Import \
- (tclIntStubsPtr->tcl_Import) /* 127 */
+#define TclImport \
+ (tclIntStubsPtr->tclImport) /* 127 */
#define Tcl_PopCallFrame \
(tclIntStubsPtr->tcl_PopCallFrame) /* 128 */
#define Tcl_PushCallFrame \
@@ -1221,10 +1205,10 @@ extern const TclIntStubs *tclIntStubsPtr;
(tclIntStubsPtr->tclCleanupVar) /* 176 */
#define TclVarErrMsg \
(tclIntStubsPtr->tclVarErrMsg) /* 177 */
-#define Tcl_SetStartupScript \
- (tclIntStubsPtr->tcl_SetStartupScript) /* 178 */
-#define Tcl_GetStartupScript \
- (tclIntStubsPtr->tcl_GetStartupScript) /* 179 */
+#define TclSetStartupScript \
+ (tclIntStubsPtr->tclSetStartupScript) /* 178 */
+#define TclGetStartupScript \
+ (tclIntStubsPtr->tclGetStartupScript) /* 179 */
/* Slot 180 is reserved */
/* Slot 181 is reserved */
#define TclpLocaltime \
@@ -1361,58 +1345,28 @@ extern const TclIntStubs *tclIntStubsPtr;
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
-#undef TclGetStartupScriptFileName
-#undef TclSetStartupScriptFileName
-#undef TclGetStartupScriptPath
-#undef TclSetStartupScriptPath
-#undef TclBackgroundException
-
#if defined(USE_TCL_STUBS)
-# undef Tcl_SetStartupScript
-# define Tcl_SetStartupScript \
- (tclStubsPtr->tcl_SetStartupScript) /* 622 */
-# undef Tcl_GetStartupScript
-# define Tcl_GetStartupScript \
- (tclStubsPtr->tcl_GetStartupScript) /* 623 */
-# undef Tcl_CreateNamespace
-# define Tcl_CreateNamespace \
- (tclStubsPtr->tcl_CreateNamespace) /* 506 */
-# undef Tcl_DeleteNamespace
-# define Tcl_DeleteNamespace \
- (tclStubsPtr->tcl_DeleteNamespace) /* 507 */
-# undef Tcl_AppendExportList
-# define Tcl_AppendExportList \
- (tclStubsPtr->tcl_AppendExportList) /* 508 */
-# undef Tcl_Export
-# define Tcl_Export \
- (tclStubsPtr->tcl_Export) /* 509 */
-# undef Tcl_Import
-# define Tcl_Import \
- (tclStubsPtr->tcl_Import) /* 510 */
-# undef Tcl_ForgetImport
-# define Tcl_ForgetImport \
- (tclStubsPtr->tcl_ForgetImport) /* 511 */
-# undef Tcl_GetCurrentNamespace
-# define Tcl_GetCurrentNamespace \
- (tclStubsPtr->tcl_GetCurrentNamespace) /* 512 */
-# undef Tcl_GetGlobalNamespace
-# define Tcl_GetGlobalNamespace \
- (tclStubsPtr->tcl_GetGlobalNamespace) /* 513 */
-# undef Tcl_FindNamespace
-# define Tcl_FindNamespace \
- (tclStubsPtr->tcl_FindNamespace) /* 514 */
-# undef Tcl_FindCommand
-# define Tcl_FindCommand \
- (tclStubsPtr->tcl_FindCommand) /* 515 */
-# undef Tcl_GetCommandFromObj
-# define Tcl_GetCommandFromObj \
- (tclStubsPtr->tcl_GetCommandFromObj) /* 516 */
-# undef Tcl_GetCommandFullName
-# define Tcl_GetCommandFullName \
- (tclStubsPtr->tcl_GetCommandFullName) /* 517 */
+# undef TclGetStartupScriptFileName
+# undef TclSetStartupScriptFileName
+# undef TclGetStartupScriptPath
+# undef TclSetStartupScriptPath
+# undef TclBackgroundException
+# undef TclSetStartupScript
+# undef TclGetStartupScript
+# undef TclCreateNamespace
+# undef TclDeleteNamespace
+# undef TclAppendExportList
+# undef TclExport
+# undef TclImport
+# undef TclForgetImport
+# undef TclGetCurrentNamespace_
+# undef TclGetGlobalNamespace_
+# undef TclFindNamespace
+# undef TclFindCommand
+# undef TclGetCommandFromObj
+# undef TclGetCommandFullName
+# undef TclCopyChannelOld
+# undef TclSockMinimumBuffersOld
#endif
-#undef TclCopyChannelOld
-#undef TclSockMinimumBuffersOld
-
#endif /* _TCLINTDECLS */
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index abd030a..dc3c5c9 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -72,11 +72,6 @@ static int TclSockMinimumBuffersOld(int sock, int size)
# define TclBNInitBignumFromWideUInt 0
# define TclBNInitBignumFromWideInt 0
# define TclBNInitBignumFromLong 0
-# define Tcl_AppendResultVA 0
-# define Tcl_AppendStringsToObjVA 0
-# define Tcl_SetErrorCodeVA 0
-# define Tcl_PanicVA 0
-# define Tcl_VarEvalVA 0
#else
#define TclSetStartupScriptPath setStartupScriptPath
static void TclSetStartupScriptPath(Tcl_Obj *path)
@@ -371,6 +366,26 @@ static int formatInt(char *buffer, int n){
# define TclBackgroundException 0
# undef TclpReaddir
# define TclpReaddir 0
+# define TclSetStartupScript 0
+# define TclGetStartupScript 0
+# define TclCreateNamespace 0
+# define TclDeleteNamespace 0
+# define TclAppendExportList 0
+# define TclExport 0
+# define TclImport 0
+# define TclForgetImport 0
+# define TclGetCurrentNamespace_ 0
+# define TclGetGlobalNamespace_ 0
+# define TclFindNamespace 0
+# define TclFindCommand 0
+# define TclGetCommandFromObj 0
+# define TclGetCommandFullName 0
+# define TclCopyChannelOld 0
+# define Tcl_AppendResultVA 0
+# define Tcl_AppendStringsToObjVA 0
+# define Tcl_SetErrorCodeVA 0
+# define Tcl_PanicVA 0
+# define Tcl_VarEvalVA 0
# undef TclpGetDate
# define TclpGetDate 0
# undef TclpLocaltime
@@ -383,6 +398,20 @@ static int formatInt(char *buffer, int n){
# define Tcl_SeekOld seekOld
# define Tcl_TellOld tellOld
# define TclBackgroundException Tcl_BackgroundException
+# define TclSetStartupScript Tcl_SetStartupScript
+# define TclGetStartupScript Tcl_GetStartupScript
+# define TclCreateNamespace Tcl_CreateNamespace
+# define TclDeleteNamespace Tcl_DeleteNamespace
+# define TclAppendExportList Tcl_AppendExportList
+# define TclExport Tcl_Export
+# define TclImport Tcl_Import
+# define TclForgetImport Tcl_ForgetImport
+# define TclGetCurrentNamespace_ Tcl_GetCurrentNamespace
+# define TclGetGlobalNamespace_ Tcl_GetGlobalNamespace
+# define TclFindNamespace Tcl_FindNamespace
+# define TclFindCommand Tcl_FindCommand
+# define TclGetCommandFromObj Tcl_GetCommandFromObj
+# define TclGetCommandFullName Tcl_GetCommandFullName
# define TclpLocaltime_unix TclpLocaltime
# define TclpGmtime_unix TclpGmtime
@@ -535,22 +564,22 @@ static const TclIntStubs tclIntStubs = {
TclUpdateReturnInfo, /* 109 */
TclSockMinimumBuffers, /* 110 */
Tcl_AddInterpResolvers, /* 111 */
- Tcl_AppendExportList, /* 112 */
- Tcl_CreateNamespace, /* 113 */
- Tcl_DeleteNamespace, /* 114 */
- Tcl_Export, /* 115 */
- Tcl_FindCommand, /* 116 */
- Tcl_FindNamespace, /* 117 */
+ TclAppendExportList, /* 112 */
+ TclCreateNamespace, /* 113 */
+ TclDeleteNamespace, /* 114 */
+ TclExport, /* 115 */
+ TclFindCommand, /* 116 */
+ TclFindNamespace, /* 117 */
Tcl_GetInterpResolvers, /* 118 */
Tcl_GetNamespaceResolvers, /* 119 */
Tcl_FindNamespaceVar, /* 120 */
- Tcl_ForgetImport, /* 121 */
- Tcl_GetCommandFromObj, /* 122 */
- Tcl_GetCommandFullName, /* 123 */
- Tcl_GetCurrentNamespace, /* 124 */
- Tcl_GetGlobalNamespace, /* 125 */
+ TclForgetImport, /* 121 */
+ TclGetCommandFromObj, /* 122 */
+ TclGetCommandFullName, /* 123 */
+ TclGetCurrentNamespace_, /* 124 */
+ TclGetGlobalNamespace_, /* 125 */
Tcl_GetVariableFullName, /* 126 */
- Tcl_Import, /* 127 */
+ TclImport, /* 127 */
Tcl_PopCallFrame, /* 128 */
Tcl_PushCallFrame, /* 129 */
Tcl_RemoveInterpResolvers, /* 130 */
@@ -601,8 +630,8 @@ static const TclIntStubs tclIntStubs = {
TclCallVarTraces, /* 175 */
TclCleanupVar, /* 176 */
TclVarErrMsg, /* 177 */
- Tcl_SetStartupScript, /* 178 */
- Tcl_GetStartupScript, /* 179 */
+ TclSetStartupScript, /* 178 */
+ TclGetStartupScript, /* 179 */
0, /* 180 */
0, /* 181 */
TclpLocaltime, /* 182 */
diff --git a/library/init.tcl b/library/init.tcl
index 38d8726..96b9f12 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -79,7 +79,7 @@ namespace eval tcl {
proc min {args} {
if {![llength $args]} {
return -code error \
- "too few arguments to math function \"min\""
+ "too few arguments for math function \"min\""
}
set val Inf
foreach arg $args {
@@ -95,7 +95,7 @@ namespace eval tcl {
proc max {args} {
if {![llength $args]} {
return -code error \
- "too few arguments to math function \"max\""
+ "too few arguments for math function \"max\""
}
set val -Inf
foreach arg $args {
diff --git a/tests/expr-old.test b/tests/expr-old.test
index 3adfb63..8c159b2 100644
--- a/tests/expr-old.test
+++ b/tests/expr-old.test
@@ -1159,8 +1159,8 @@ test expr-old-40.2 {min math function} -body {
expr {min(0.0)}
} -result 0.0
test expr-old-40.3 {min math function} -body {
- list [catch {expr {min()}} msg] $msg
-} -result {1 {too few arguments to math function "min"}}
+ expr {min()}
+} -returnCodes error -result {too few arguments for math function "min"}
test expr-old-40.4 {min math function} -body {
expr {min(wide(-1) << 30, 4.5, -10)}
} -result [expr {wide(-1) << 30}]
@@ -1170,6 +1170,12 @@ test expr-old-40.5 {min math function} -body {
test expr-old-40.6 {min math function} -body {
expr {min(300, "0xFF")}
} -result 255
+test expr-old-40.7 {min math function} -body {
+ expr min(1[string repeat 0 10000], 1e300)
+} -result 1e+300
+test expr-old-40.8 {min math function} -body {
+ expr {min(0, "a")}
+} -returnCodes error -match glob -result *
test expr-old-41.1 {max math function} -body {
expr {max(0)}
@@ -1178,8 +1184,8 @@ test expr-old-41.2 {max math function} -body {
expr {max(0.0)}
} -result 0.0
test expr-old-41.3 {max math function} -body {
- list [catch {expr {max()}} msg] $msg
-} -result {1 {too few arguments to math function "max"}}
+ expr {max()}
+} -returnCodes error -result {too few arguments for math function "max"}
test expr-old-41.4 {max math function} -body {
expr {max(wide(1) << 30, 4.5, -10)}
} -result [expr {wide(1) << 30}]
@@ -1189,6 +1195,12 @@ test expr-old-41.5 {max math function} -body {
test expr-old-41.6 {max math function} -body {
expr {max(200, "0xFF")}
} -result 255
+test expr-old-41.7 {max math function} -body {
+ expr max(1[string repeat 0 10000], 1e300)
+} -result 1[string repeat 0 10000]
+test expr-old-41.8 {max math function} -body {
+ expr {max(0, "a")}
+} -returnCodes error -match glob -result *
# Special test for Pentium arithmetic bug of 1994:
diff --git a/unix/configure b/unix/configure
index 08c97e9..8ea0d45 100755
--- a/unix/configure
+++ b/unix/configure
@@ -3748,16 +3748,6 @@ $as_echo "#define NO_DIRENT_H 1" >>confdefs.h
fi
- ac_fn_c_check_header_mongrel "$LINENO" "values.h" "ac_cv_header_values_h" "$ac_includes_default"
-if test "x$ac_cv_header_values_h" = xyes; then :
-
-else
-
-$as_echo "#define NO_VALUES_H 1" >>confdefs.h
-
-fi
-
-
ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
if test "x$ac_cv_header_stdlib_h" = xyes; then :
tcl_ok=1
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index 81c0601..3718fd5 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -2041,7 +2041,6 @@ dnl # preprocessing tests use only CPPFLAGS.
#
# Defines some of the following vars:
# NO_DIRENT_H
-# NO_VALUES_H
# NO_STDLIB_H
# NO_STRING_H
# NO_SYS_WAIT_H
@@ -2079,7 +2078,6 @@ closedir(d);
AC_DEFINE(NO_DIRENT_H, 1, [Do we have <dirent.h>?])
fi
- AC_CHECK_HEADER(values.h, , [AC_DEFINE(NO_VALUES_H, 1, [Do we have <values.h>?])])
AC_CHECK_HEADER(stdlib.h, tcl_ok=1, tcl_ok=0)
AC_EGREP_HEADER(strtol, stdlib.h, , tcl_ok=0)
AC_EGREP_HEADER(strtoul, stdlib.h, , tcl_ok=0)
diff --git a/unix/tclConfig.h.in b/unix/tclConfig.h.in
index 28ce012..4902083 100644
--- a/unix/tclConfig.h.in
+++ b/unix/tclConfig.h.in
@@ -331,9 +331,6 @@
/* Do we have a usable 'union wait'? */
#undef NO_UNION_WAIT
-/* Do we have <values.h>? */
-#undef NO_VALUES_H
-
/* Do we have wait3() */
#undef NO_WAIT3
diff --git a/unix/tclUnixPort.h b/unix/tclUnixPort.h
index 8b766d6..d464f05 100644
--- a/unix/tclUnixPort.h
+++ b/unix/tclUnixPort.h
@@ -182,9 +182,6 @@ extern int TclUnixSetBlockingMode(int fd, int mode);
*/
#include <float.h>
-#ifndef NO_VALUES_H
-# include <values.h>
-#endif
#ifndef FLT_MAX
# ifdef MAXFLOAT
diff --git a/unix/tclUnixThrd.c b/unix/tclUnixThrd.c
index f475aed..6fa837c 100644
--- a/unix/tclUnixThrd.c
+++ b/unix/tclUnixThrd.c
@@ -15,11 +15,13 @@
#ifdef TCL_THREADS
+#ifndef TCL_NO_DEPRECATED
typedef struct {
char nabuf[16];
} ThreadSpecificData;
static Tcl_ThreadDataKey dataKey;
+#endif
/*
* masterLock is used to serialize creation of mutexes, condition variables,
diff --git a/win/Makefile.in b/win/Makefile.in
index 768178d..5f81b74 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -1,21 +1,26 @@
-#
-# This file is a Makefile for Tcl. If it has the name "Makefile.in" then it
-# is a template for a Makefile; to generate the actual Makefile, run
-# "./configure", which is a configuration script generated by the "autoconf"
-# program (constructs like "@foo@" will get replaced in the actual Makefile.
-
-VERSION = @TCL_VERSION@
-
-#--------------------------------------------------------------------------
-# Things you can change to personalize the Makefile for your own site (you can
-# make these changes in either Makefile.in or Makefile, but changes to
-# Makefile will get lost if you re-run the configuration script).
-#--------------------------------------------------------------------------
-
-# Default top-level directories in which to install architecture-specific
-# files (exec_prefix) and machine-independent files such as scripts (prefix).
-# The values specified here may be overridden at configure-time with the
-# --exec-prefix and --prefix options to the "configure" script.
+# This file is a Makefile for Tk. If it has the name "Makefile.in"
+# then it is a template for a Makefile; to generate the actual Makefile,
+# run "./configure", which is a configuration script generated by the
+# "autoconf" program (constructs like "@foo@" will get replaced in the
+# actual Makefile.
+
+TCLVERSION = @TCL_VERSION@
+TCLPATCHL = @TCL_PATCH_LEVEL@
+VERSION = @TK_VERSION@
+PATCH_LEVEL = @TK_PATCH_LEVEL@
+
+#----------------------------------------------------------------
+# Things you can change to personalize the Makefile for your own
+# site (you can make these changes in either Makefile.in or
+# Makefile, but changes to Makefile will get lost if you re-run
+# the configuration script).
+#----------------------------------------------------------------
+
+# Default top-level directories in which to install architecture-
+# specific files (exec_prefix) and machine-independent files such
+# as scripts (prefix). The values specified here may be overridden
+# at configure-time with the --exec-prefix and --prefix options
+# to the "configure" script.
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -25,164 +30,159 @@ includedir = @includedir@
datarootdir = @datarootdir@
mandir = @mandir@
-# The following definition can be set to non-null for special systems like AFS
-# with replication. It allows the pathnames used for installation to be
-# different than those used for actually reference files at run-time.
-# INSTALL_ROOT is prepended to $prefix and $exec_prefix when installing files.
-INSTALL_ROOT =
+# The following definition can be set to non-null for special systems
+# like AFS with replication. It allows the pathnames used for installation
+# to be different than those used for actually reference files at
+# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
+# when installing files.
+INSTALL_ROOT = $(DESTDIR)
-# Directory from which applications will reference the library of Tcl scripts
-# (note: you can set the TCL_LIBRARY environment variable at run-time to
-# override this value):
-TCL_LIBRARY = $(prefix)/lib/tcl$(VERSION)
+# Directory from which applications will reference the library of Tk
+# scripts (note: you can set the TK_LIBRARY environment variable at
+# run-time to override this value):
+TK_LIBRARY = $(prefix)/lib/tk$(VERSION)
# Path to use at runtime to refer to LIB_INSTALL_DIR:
LIB_RUNTIME_DIR = $(libdir)
-# Directory in which to install the program tclsh:
+# Directory in which to install the program wish:
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir)
-# Directory in which to install the .a or .so binary for the Tcl library:
+# Directory in which to install the .a or .so binary for the Tk library:
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
-# Path name to use when installing library scripts.
-SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY)
+# Path name to use when installing library scripts:
+SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TK_LIBRARY)
-# Directory in which to install the include file tcl.h:
+# Directory in which to install the include file tk.h:
INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
-# Directory in which to (optionally) install the private tcl headers:
+# Directory in which to (optionally) install the private tk headers:
PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
-# Top-level directory in which to install manual entries:
+# Top-level directory for manual entries:
MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir)
-# Directory in which to install manual entry for tclsh:
-MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
+# Directory in which to install manual entry for wish:
+MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
-# Directory in which to install manual entries for Tcl's C library procedures:
-MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
+# Directory in which to install manual entries for Tk's C library
+# procedures:
+MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
-# Directory in which to install manual entries for the built-in Tcl commands:
-MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
+# Directory in which to install manual entries for the built-in
+# Tk commands:
+MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
# Libraries built with optimization switches have this additional extension
-TCL_DBGX = @TCL_DBGX@
+TK_DBGX = @TK_DBGX@
-# warning flags
-CFLAGS_WARNING = @CFLAGS_WARNING@
+# Directory in which to install the pkgIndex.tcl file for loadable Tk
+PKG_INSTALL_DIR = $(LIB_INSTALL_DIR)/tk$(VERSION)$(TK_DBGX)
-# The default switches for optimization or debugging
-CFLAGS_DEBUG = @CFLAGS_DEBUG@
-CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
+# Package index file for loadable Tk
+PKG_INDEX = $(PKG_INSTALL_DIR)/pkgIndex.tcl
-# To change the compiler switches, for example to change from optimization to
-# debugging symbols, change the following line:
-#CFLAGS = $(CFLAGS_DEBUG)
-#CFLAGS = $(CFLAGS_OPTIMIZE)
-#CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
-CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -DUNICODE -D_UNICODE -D_ATL_XP_TARGETING
-
-# To compile without backward compatibility and deprecated code uncomment the
-# following
-NO_DEPRECATED_FLAGS =
-#NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
-
-# To enable compilation debugging reverse the comment characters on one of the
-# following lines.
-COMPILE_DEBUG_FLAGS =
-#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG
-#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
+# The directory containing the Tcl source and header files.
+TCL_SRC_DIR = @TCL_SRC_DIR@
-SRC_DIR = @srcdir@
-ROOT_DIR = @srcdir@/..
-TOP_DIR = $(shell cd @srcdir@/..; pwd -P)
-GENERIC_DIR = $(TOP_DIR)/generic
-TOMMATH_DIR = $(TOP_DIR)/libtommath
-WIN_DIR = $(TOP_DIR)/win
-COMPAT_DIR = $(TOP_DIR)/compat
-PKGS_DIR = $(TOP_DIR)/pkgs
-ZLIB_DIR = $(COMPAT_DIR)/zlib
+# The directory containing the Tcl library archive file appropriate
+# for this version of Tk:
+TCL_BIN_DIR = @TCL_BIN_DIR@
+
+# The directory containing the Tcl sources and headers appropriate
+# for this version of Tk ("srcdir" will be replaced or has already
+# been replaced by the configure script):
+TCL_GENERIC_DIR = @TCL_SRC_DIR@/generic
+
+# The directory containing the platform specific Tcl sources and headers
+# appropriate for this version of Tk:
+TCL_PLATFORM_DIR = @TCL_SRC_DIR@/win
+
+TCL_TOOL_DIR = @TCL_SRC_DIR@/tools
# Converts a POSIX path to a Windows native path.
CYGPATH = @CYGPATH@
-libdir_native = $(shell $(CYGPATH) '$(libdir)')
-bindir_native = $(shell $(CYGPATH) '$(bindir)')
-includedir_native = $(shell $(CYGPATH) '$(includedir)')
-mandir_native = $(shell $(CYGPATH) '$(mandir)')
-TCL_LIBRARY_NATIVE = $(shell $(CYGPATH) '$(TCL_LIBRARY)')
-GENERIC_DIR_NATIVE = $(shell $(CYGPATH) '$(GENERIC_DIR)')
-TOMMATH_DIR_NATIVE = $(shell $(CYGPATH) '$(TOMMATH_DIR)')
-WIN_DIR_NATIVE = $(shell $(CYGPATH) '$(WIN_DIR)')
-ROOT_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)')
-ZLIB_DIR_NATIVE = $(shell $(CYGPATH) '$(ZLIB_DIR)')
-#GENERIC_DIR_NATIVE = $(GENERIC_DIR)
-#TOMMATH_DIR_NATIVE = $(TOMMATH_DIR)
-#WIN_DIR_NATIVE = $(WIN_DIR)
-#ROOT_DIR_NATIVE = $(ROOT_DIR)
-
-# Fully qualify library path so that `make test`
-# does not depend on the current directory.
-LIBRARY_DIR1 = $(shell cd '$(ROOT_DIR_NATIVE)/library' ; pwd -P)
-LIBRARY_DIR = $(shell $(CYGPATH) '$(LIBRARY_DIR1)')
+# The name of the Tcl library.
+TCL_LIB_FILE = "$(shell $(CYGPATH) '@TCL_BIN_DIR@/@TCL_LIB_FILE@')"
+TCL_STUB_LIB_FILE = "$(shell $(CYGPATH) '@TCL_BIN_DIR@/@TCL_STUB_LIB_FILE@')"
+
+SRC_DIR = @srcdir@
+ROOT_DIR = $(SRC_DIR)/..
+WIN_DIR = $(SRC_DIR)
+UNIX_DIR = $(SRC_DIR)/../unix
+GENERIC_DIR = $(SRC_DIR)/../generic
+TTK_DIR = $(GENERIC_DIR)/ttk
+BITMAP_DIR = $(ROOT_DIR)/bitmaps
+XLIB_DIR = $(ROOT_DIR)/xlib
+RC_DIR = $(WIN_DIR)/rc
+
+ROOT_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)' | sed 's!\\!/!g')
+WIN_DIR_NATIVE = $(shell $(CYGPATH) '$(WIN_DIR)' | sed 's!\\!/!g')
+GENERIC_DIR_NATIVE = $(shell $(CYGPATH) '$(GENERIC_DIR)' | sed 's!\\!/!g')
+BITMAP_DIR_NATIVE = $(ROOT_DIR_NATIVE)/bitmaps
+XLIB_DIR_NATIVE = $(ROOT_DIR_NATIVE)/xlib
+RC_DIR_NATIVE = $(WIN_DIR_NATIVE)/rc
+TCL_GENERIC_NATIVE = $(shell $(CYGPATH) '$(TCL_GENERIC_DIR)' | sed 's!\\!/!g')
+TCL_PLATFORM_NATIVE = $(shell $(CYGPATH) '$(TCL_PLATFORM_DIR)' | sed 's!\\!/!g')
+TCL_SRC_DIR_NATIVE = $(shell $(CYGPATH) '$(TCL_SRC_DIR)' | sed 's!\\!/!g')
+
DLLSUFFIX = @DLLSUFFIX@
LIBSUFFIX = @LIBSUFFIX@
EXESUFFIX = @EXESUFFIX@
-VER = @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@
-DOTVER = @TCL_MAJOR_VERSION@.@TCL_MINOR_VERSION@
-DDEVER = @TCL_DDE_MAJOR_VERSION@@TCL_DDE_MINOR_VERSION@
-DDEDOTVER = @TCL_DDE_MAJOR_VERSION@.@TCL_DDE_MINOR_VERSION@
-REGVER = @TCL_REG_MAJOR_VERSION@@TCL_REG_MINOR_VERSION@
-REGDOTVER = @TCL_REG_MAJOR_VERSION@.@TCL_REG_MINOR_VERSION@
-
-TCL_ZIP_FILE = @TCL_ZIP_FILE@
-TCL_VFS_PATH = libtcl.vfs/tcl_library
-TCL_VFS_ROOT = libtcl.vfs
-
-
-TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@
-TCL_DLL_FILE = @TCL_DLL_FILE@
-TCL_LIB_FILE = @TCL_LIB_FILE@
-DDE_DLL_FILE = tcldde$(DDEVER)${DLLSUFFIX}
-DDE_LIB_FILE = @LIBPREFIX@tcldde$(DDEVER)${LIBSUFFIX}
-REG_DLL_FILE = tclreg$(REGVER)${DLLSUFFIX}
-REG_LIB_FILE = @LIBPREFIX@tclreg$(REGVER)${LIBSUFFIX}
-TEST_DLL_FILE = tcltest$(VER)${DLLSUFFIX}
-TEST_LIB_FILE = @LIBPREFIX@tcltest$(VER)${LIBSUFFIX}
-ZLIB_DLL_FILE = zlib1.dll
-
-SHARED_LIBRARIES = $(TCL_DLL_FILE) @ZLIB_DLL_FILE@
-STATIC_LIBRARIES = $(TCL_LIB_FILE)
-
-TCLSH = tclsh$(VER)${EXESUFFIX}
+TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@
+TK_LIB_FILE = @TK_LIB_FILE@
+TK_DLL_FILE = @TK_DLL_FILE@
+TEST_DLL_FILE = tktest$(VER)${DLLSUFFIX}
+TEST_LIB_FILE = @LIBPREFIX@tktest$(VER)${LIBSUFFIX}
+
+SHARED_LIBRARIES = $(TK_DLL_FILE) $(TK_STUB_LIB_FILE)
+STATIC_LIBRARIES = $(TK_LIB_FILE)
+
+WISH = wish$(VER)${EXESUFFIX}
+TKTEST = tktest${EXEEXT}
CAT32 = cat32$(EXEEXT)
MAN2TCL = man2tcl$(EXEEXT)
-# For cross-compiled builds, TCL_EXE is the name of a tclsh executable that is
-# available *BEFORE* running make for the first time. Certain build targets
-# (make genstubs, make install) need it to be available on the PATH. This
-# executable should *NOT* be required just to do a normal build although
-# it can be required to run make dist.
-TCL_EXE = @TCL_EXE@
-
@SET_MAKE@
-# Setting the VPATH variable to a list of paths will cause the Makefile to
-# look into these paths when resolving .c to .obj dependencies.
+# Setting the VPATH variable to a list of paths will cause the
+# makefile to look into these paths when resolving .c to .obj
+# dependencies.
-VPATH = $(GENERIC_DIR):$(TOMMATH_DIR):$(WIN_DIR):$(COMPAT_DIR):$(ZLIB_DIR)
+VPATH = $(GENERIC_DIR):$(TTK_DIR):$(WIN_DIR):$(UNIX_DIR):$(XLIB_DIR):$(RC_DIR)
+
+# warning flags
+CFLAGS_WARNING = @CFLAGS_WARNING@
+
+# The default switches for optimization or debugging
+CFLAGS_DEBUG = @CFLAGS_DEBUG@
+CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@
+
+# The default switches for optimization or debugging
+LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
+LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
+
+# To change the compiler switches, for example to change from optimization to
+# debugging symbols, change the following line:
+#CFLAGS = $(CFLAGS_DEBUG)
+#CFLAGS = $(CFLAGS_OPTIMIZE)
+#CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
+CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -DUNICODE -D_UNICODE -D_ATL_XP_TARGETING
+
+# Special compiler flags to use when building man2tcl on Windows.
+MAN2TCLFLAGS = @MAN2TCLFLAGS@
AR = @AR@
RANLIB = @RANLIB@
CC = @CC@
RC = @RC@
RES = @RES@
-AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@
+TK_RES = @TK_RES@
+AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ @TCL_DEFS@
CPPFLAGS = @CPPFLAGS@
-LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
-LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
LDFLAGS = @LDFLAGS@ @LDFLAGS_DEFAULT@
LDFLAGS_CONSOLE = @LDFLAGS_CONSOLE@
LDFLAGS_WINDOW = @LDFLAGS_WINDOW@
@@ -193,511 +193,323 @@ SHLIB_LD = @SHLIB_LD@
SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_SUFFIX = @SHLIB_SUFFIX@
-LIBS = @LIBS@ $(shell $(CYGPATH) '@ZLIB_LIBS@')
-
+VER = @TK_MAJOR_VERSION@@TK_MINOR_VERSION@
+DOTVER = @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@
+LIBS = $(TCL_STUB_LIB_FILE) @LIBS@ @LIBS_GUI@
RMDIR = rm -rf
MKDIR = mkdir -p
SHELL = @SHELL@
RM = rm -f
COPY = cp
-###
-# Tip 430 - ZipFS Modifications
-###
+BUILD_TCLSH = @BUILD_TCLSH@
-TCL_ZIP_FILE = @TCL_ZIP_FILE@
-TCL_VFS_PATH = libtcl.vfs/tcl_library
-TCL_VFS_ROOT = libtcl.vfs
+# Tk does not used deprecated Tcl constructs so it should
+# compile fine with -DTCL_NO_DEPRECATED. To remove its own
+# set of deprecated code uncomment the second line.
+NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED
+#NO_DEPRECATED_FLAGS = -DTCL_NO_DEPRECATED -DTK_NO_DEPRECATED
-HOST_CC = @CC_FOR_BUILD@
-HOST_EXEEXT = @EXEEXT_FOR_BUILD@
-HOST_OBJEXT = @OBJEXT_FOR_BUILD@
-ZIPFS_BUILD = @ZIPFS_BUILD@
-NATIVE_ZIP = @ZIP_PROG@
-ZIP_PROG_OPTIONS = @ZIP_PROG_OPTIONS@
-ZIP_PROG_VFSSEARCH = @ZIP_PROG_VFSSEARCH@
-SHARED_BUILD = @SHARED_BUILD@
-INSTALL_MSGS = @INSTALL_MSGS@
-INSTALL_LIBRARIES = @INSTALL_LIBRARIES@
-
-# Minizip
-MINIZIP_OBJS = \
- adler32.$(HOST_OBJEXT) \
- compress.$(HOST_OBJEXT) \
- crc32.$(HOST_OBJEXT) \
- deflate.$(HOST_OBJEXT) \
- infback.$(HOST_OBJEXT) \
- inffast.$(HOST_OBJEXT) \
- inflate.$(HOST_OBJEXT) \
- inftrees.$(HOST_OBJEXT) \
- ioapi.$(HOST_OBJEXT) \
- iowin32.$(HOST_OBJEXT) \
- trees.$(HOST_OBJEXT) \
- uncompr.$(HOST_OBJEXT) \
- zip.$(HOST_OBJEXT) \
- zutil.$(HOST_OBJEXT) \
- minizip.$(HOST_OBJEXT)
-
-ZIP_INSTALL_OBJS = @ZIP_INSTALL_OBJS@
-
-CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
--I"${ZLIB_DIR_NATIVE}" -I"${GENERIC_DIR_NATIVE}" \
--DMP_PREC=4 -I"${TOMMATH_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" \
-${AC_FLAGS} ${COMPILE_DEBUG_FLAGS} ${NO_DEPRECATED_FLAGS}
+# TCL_EXE is the name of a tclsh executable that is available *BEFORE*
+# running make for the first time. Certain build targets (make genstubs)
+# need it to be available on the PATH. This executable should *NOT* be
+# required just to do a normal build although it can be required to run
+# make dist.
+TCL_EXE = @TCLSH_PROG@
+
+CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
+-I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" \
+-I"${XLIB_DIR_NATIVE}" -I"${BITMAP_DIR_NATIVE}" \
+-I"${TCL_GENERIC_NATIVE}" -I"${TCL_PLATFORM_NATIVE}" \
+${AC_FLAGS} $(NO_DEPRECATED_FLAGS) -DUSE_TCL_STUBS
CC_OBJNAME = @CC_OBJNAME@
CC_EXENAME = @CC_EXENAME@
-STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
--I"${GENERIC_DIR_NATIVE}" -DMP_PREC=4 -I"${TOMMATH_DIR_NATIVE}" \
--I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
-${COMPILE_DEBUG_FLAGS}
-
-TCLTEST_OBJS = \
- tclTest.$(OBJEXT) \
- tclTestObj.$(OBJEXT) \
- tclTestProcBodyObj.$(OBJEXT) \
- tclThreadTest.$(OBJEXT) \
- tclWinTest.$(OBJEXT)
-
-GENERIC_OBJS = \
- regcomp.$(OBJEXT) \
- regexec.$(OBJEXT) \
- regfree.$(OBJEXT) \
- regerror.$(OBJEXT) \
- tclAlloc.$(OBJEXT) \
- tclAssembly.$(OBJEXT) \
- tclAsync.$(OBJEXT) \
- tclBasic.$(OBJEXT) \
- tclBinary.$(OBJEXT) \
- tclCkalloc.$(OBJEXT) \
- tclClock.$(OBJEXT) \
- tclCmdAH.$(OBJEXT) \
- tclCmdIL.$(OBJEXT) \
- tclCmdMZ.$(OBJEXT) \
- tclCompCmds.$(OBJEXT) \
- tclCompCmdsGR.$(OBJEXT) \
- tclCompCmdsSZ.$(OBJEXT) \
- tclCompExpr.$(OBJEXT) \
- tclCompile.$(OBJEXT) \
- tclConfig.$(OBJEXT) \
- tclDate.$(OBJEXT) \
- tclDictObj.$(OBJEXT) \
- tclDisassemble.$(OBJEXT) \
- tclEncoding.$(OBJEXT) \
- tclEnsemble.$(OBJEXT) \
- tclEnv.$(OBJEXT) \
- tclEvent.$(OBJEXT) \
- tclExecute.$(OBJEXT) \
- tclFCmd.$(OBJEXT) \
- tclFileName.$(OBJEXT) \
- tclGet.$(OBJEXT) \
- tclHash.$(OBJEXT) \
- tclHistory.$(OBJEXT) \
- tclIndexObj.$(OBJEXT) \
- tclInterp.$(OBJEXT) \
- tclIO.$(OBJEXT) \
- tclIOCmd.$(OBJEXT) \
- tclIOGT.$(OBJEXT) \
- tclIORChan.$(OBJEXT) \
- tclIORTrans.$(OBJEXT) \
- tclIOSock.$(OBJEXT) \
- tclIOUtil.$(OBJEXT) \
- tclLink.$(OBJEXT) \
- tclLiteral.$(OBJEXT) \
- tclListObj.$(OBJEXT) \
- tclLoad.$(OBJEXT) \
- tclMain.$(OBJEXT) \
- tclMain2.$(OBJEXT) \
- tclNamesp.$(OBJEXT) \
- tclNotify.$(OBJEXT) \
- tclOO.$(OBJEXT) \
- tclOOBasic.$(OBJEXT) \
- tclOOCall.$(OBJEXT) \
- tclOODefineCmds.$(OBJEXT) \
- tclOOInfo.$(OBJEXT) \
- tclOOMethod.$(OBJEXT) \
- tclOOStubInit.$(OBJEXT) \
- tclObj.$(OBJEXT) \
- tclOptimize.$(OBJEXT) \
- tclPanic.$(OBJEXT) \
- tclParse.$(OBJEXT) \
- tclPathObj.$(OBJEXT) \
- tclPipe.$(OBJEXT) \
- tclPkg.$(OBJEXT) \
- tclPkgConfig.$(OBJEXT) \
- tclPosixStr.$(OBJEXT) \
- tclPreserve.$(OBJEXT) \
- tclProc.$(OBJEXT) \
- tclRegexp.$(OBJEXT) \
- tclResolve.$(OBJEXT) \
- tclResult.$(OBJEXT) \
- tclScan.$(OBJEXT) \
- tclStringObj.$(OBJEXT) \
- tclStrToD.$(OBJEXT) \
- tclStubInit.$(OBJEXT) \
- tclThread.$(OBJEXT) \
- tclThreadAlloc.$(OBJEXT) \
- tclThreadJoin.$(OBJEXT) \
- tclThreadStorage.$(OBJEXT) \
- tclTimer.$(OBJEXT) \
- tclTomMathInterface.$(OBJEXT) \
- tclTrace.$(OBJEXT) \
- tclUtf.$(OBJEXT) \
- tclUtil.$(OBJEXT) \
- tclVar.$(OBJEXT) \
- tclZipfs.$(OBJEXT) \
- tclZlib.$(OBJEXT)
-
-TOMMATH_OBJS = \
- bncore.${OBJEXT} \
- bn_reverse.${OBJEXT} \
- bn_fast_s_mp_mul_digs.${OBJEXT} \
- bn_fast_s_mp_sqr.${OBJEXT} \
- bn_mp_add.${OBJEXT} \
- bn_mp_add_d.${OBJEXT} \
- bn_mp_and.${OBJEXT} \
- bn_mp_clamp.${OBJEXT} \
- bn_mp_clear.${OBJEXT} \
- bn_mp_clear_multi.${OBJEXT} \
- bn_mp_cmp.${OBJEXT} \
- bn_mp_cmp_d.${OBJEXT} \
- bn_mp_cmp_mag.${OBJEXT} \
- bn_mp_cnt_lsb.${OBJEXT} \
- bn_mp_copy.${OBJEXT} \
- bn_mp_count_bits.${OBJEXT} \
- bn_mp_div.${OBJEXT} \
- bn_mp_div_d.${OBJEXT} \
- bn_mp_div_2.${OBJEXT} \
- bn_mp_div_2d.${OBJEXT} \
- bn_mp_div_3.${OBJEXT} \
- bn_mp_exch.${OBJEXT} \
- bn_mp_expt_d.${OBJEXT} \
- bn_mp_expt_d_ex.${OBJEXT} \
- bn_mp_get_int.${OBJEXT} \
- bn_mp_get_long.${OBJEXT} \
- bn_mp_get_long_long.${OBJEXT} \
- bn_mp_grow.${OBJEXT} \
- bn_mp_init.${OBJEXT} \
- bn_mp_init_copy.${OBJEXT} \
- bn_mp_init_multi.${OBJEXT} \
- bn_mp_init_set.${OBJEXT} \
- bn_mp_init_set_int.${OBJEXT} \
- bn_mp_init_size.${OBJEXT} \
- bn_mp_karatsuba_mul.${OBJEXT} \
- bn_mp_karatsuba_sqr.$(OBJEXT) \
- bn_mp_lshd.${OBJEXT} \
- bn_mp_mod.${OBJEXT} \
- bn_mp_mod_2d.${OBJEXT} \
- bn_mp_mul.${OBJEXT} \
- bn_mp_mul_2.${OBJEXT} \
- bn_mp_mul_2d.${OBJEXT} \
- bn_mp_mul_d.${OBJEXT} \
- bn_mp_neg.${OBJEXT} \
- bn_mp_or.${OBJEXT} \
- bn_mp_radix_size.${OBJEXT} \
- bn_mp_radix_smap.${OBJEXT} \
- bn_mp_read_radix.${OBJEXT} \
- bn_mp_rshd.${OBJEXT} \
- bn_mp_set.${OBJEXT} \
- bn_mp_set_int.${OBJEXT} \
- bn_mp_set_long.${OBJEXT} \
- bn_mp_set_long_long.${OBJEXT} \
- bn_mp_shrink.${OBJEXT} \
- bn_mp_sqr.${OBJEXT} \
- bn_mp_sqrt.${OBJEXT} \
- bn_mp_sub.${OBJEXT} \
- bn_mp_sub_d.${OBJEXT} \
- bn_mp_to_unsigned_bin.${OBJEXT} \
- bn_mp_to_unsigned_bin_n.${OBJEXT} \
- bn_mp_toom_mul.${OBJEXT} \
- bn_mp_toom_sqr.${OBJEXT} \
- bn_mp_toradix_n.${OBJEXT} \
- bn_mp_unsigned_bin_size.${OBJEXT} \
- bn_mp_xor.${OBJEXT} \
- bn_mp_zero.${OBJEXT} \
- bn_s_mp_add.${OBJEXT} \
- bn_s_mp_mul_digs.${OBJEXT} \
- bn_s_mp_sqr.${OBJEXT} \
- bn_s_mp_sub.${OBJEXT}
-
-
-WIN_OBJS = \
- tclWin32Dll.$(OBJEXT) \
- tclWinChan.$(OBJEXT) \
- tclWinConsole.$(OBJEXT) \
- tclWinSerial.$(OBJEXT) \
- tclWinError.$(OBJEXT) \
- tclWinFCmd.$(OBJEXT) \
- tclWinFile.$(OBJEXT) \
- tclWinInit.$(OBJEXT) \
- tclWinLoad.$(OBJEXT) \
- tclWinNotify.$(OBJEXT) \
- tclWinPipe.$(OBJEXT) \
- tclWinSock.$(OBJEXT) \
- tclWinThrd.$(OBJEXT) \
- tclWinTime.$(OBJEXT)
-
-DDE_OBJS = tclWinDde.$(OBJEXT)
-
-REG_OBJS = tclWinReg.$(OBJEXT)
+# Tk used to let the configure script choose which program to use
+# for installing, but there are just too many different versions of
+# "install" around; better to use the install-sh script that comes
+# with the distribution, which is slower but guaranteed to work.
+
+INSTALL = cp
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL}
+
+WISH_OBJS = \
+ winMain.$(OBJEXT)
+
+TKTEST_OBJS = \
+ tkSquare.$(OBJEXT) \
+ tkTest.$(OBJEXT) \
+ tkOldTest.$(OBJEXT) \
+ tkWinTest.$(OBJEXT)
+
+XLIB_OBJS = \
+ xcolors.$(OBJEXT) \
+ xdraw.$(OBJEXT) \
+ xgc.$(OBJEXT) \
+ ximage.$(OBJEXT) \
+ xutil.$(OBJEXT)
+
+TK_OBJS = \
+ tkConsole.$(OBJEXT) \
+ tkUnixMenubu.$(OBJEXT) \
+ tkUnixScale.$(OBJEXT) \
+ $(XLIB_OBJS) \
+ tkWin3d.$(OBJEXT) \
+ tkWin32Dll.$(OBJEXT) \
+ tkWinButton.$(OBJEXT) \
+ tkWinClipboard.$(OBJEXT) \
+ tkWinColor.$(OBJEXT) \
+ tkWinConfig.$(OBJEXT) \
+ tkWinCursor.$(OBJEXT) \
+ tkWinDialog.$(OBJEXT) \
+ tkWinDraw.$(OBJEXT) \
+ tkWinEmbed.$(OBJEXT) \
+ tkWinFont.$(OBJEXT) \
+ tkWinImage.$(OBJEXT) \
+ tkWinInit.$(OBJEXT) \
+ tkWinKey.$(OBJEXT) \
+ tkWinMenu.$(OBJEXT) \
+ tkWinPixmap.$(OBJEXT) \
+ tkWinPointer.$(OBJEXT) \
+ tkWinRegion.$(OBJEXT) \
+ tkWinScrlbr.$(OBJEXT) \
+ tkWinSend.$(OBJEXT) \
+ tkWinSendCom.$(OBJEXT) \
+ tkWinWindow.$(OBJEXT) \
+ tkWinWm.$(OBJEXT) \
+ tkWinX.$(OBJEXT) \
+ stubs.$(OBJEXT) \
+ tk3d.$(OBJEXT) \
+ tkArgv.$(OBJEXT) \
+ tkAtom.$(OBJEXT) \
+ tkBind.$(OBJEXT) \
+ tkBitmap.$(OBJEXT) \
+ tkBusy.$(OBJEXT) \
+ tkButton.$(OBJEXT) \
+ tkCanvArc.$(OBJEXT) \
+ tkCanvBmap.$(OBJEXT) \
+ tkCanvImg.$(OBJEXT) \
+ tkCanvLine.$(OBJEXT) \
+ tkCanvPoly.$(OBJEXT) \
+ tkCanvPs.$(OBJEXT) \
+ tkCanvText.$(OBJEXT) \
+ tkCanvUtil.$(OBJEXT) \
+ tkCanvWind.$(OBJEXT) \
+ tkCanvas.$(OBJEXT) \
+ tkClipboard.$(OBJEXT) \
+ tkCmds.$(OBJEXT) \
+ tkColor.$(OBJEXT) \
+ tkConfig.$(OBJEXT) \
+ tkCursor.$(OBJEXT) \
+ tkEntry.$(OBJEXT) \
+ tkError.$(OBJEXT) \
+ tkEvent.$(OBJEXT) \
+ tkFileFilter.$(OBJEXT) \
+ tkFocus.$(OBJEXT) \
+ tkFont.$(OBJEXT) \
+ tkFrame.$(OBJEXT) \
+ tkGC.$(OBJEXT) \
+ tkGeometry.$(OBJEXT) \
+ tkGet.$(OBJEXT) \
+ tkGrab.$(OBJEXT) \
+ tkGrid.$(OBJEXT) \
+ tkImage.$(OBJEXT) \
+ tkImgBmap.$(OBJEXT) \
+ tkImgGIF.$(OBJEXT) \
+ tkImgPNG.$(OBJEXT) \
+ tkImgPPM.$(OBJEXT) \
+ tkImgPhoto.$(OBJEXT) \
+ tkImgPhInstance.$(OBJEXT) \
+ tkImgUtil.$(OBJEXT) \
+ tkListbox.$(OBJEXT) \
+ tkMacWinMenu.$(OBJEXT) \
+ tkMain.$(OBJEXT) \
+ tkMain2.$(OBJEXT) \
+ tkMenu.$(OBJEXT) \
+ tkMenubutton.$(OBJEXT) \
+ tkMenuDraw.$(OBJEXT) \
+ tkMessage.$(OBJEXT) \
+ tkPanedWindow.$(OBJEXT) \
+ tkObj.$(OBJEXT) \
+ tkOldConfig.$(OBJEXT) \
+ tkOption.$(OBJEXT) \
+ tkPack.$(OBJEXT) \
+ tkPlace.$(OBJEXT) \
+ tkPointer.$(OBJEXT) \
+ tkRectOval.$(OBJEXT) \
+ tkScale.$(OBJEXT) \
+ tkScrollbar.$(OBJEXT) \
+ tkSelect.$(OBJEXT) \
+ tkStyle.$(OBJEXT) \
+ tkText.$(OBJEXT) \
+ tkTextBTree.$(OBJEXT) \
+ tkTextDisp.$(OBJEXT) \
+ tkTextImage.$(OBJEXT) \
+ tkTextIndex.$(OBJEXT) \
+ tkTextMark.$(OBJEXT) \
+ tkTextTag.$(OBJEXT) \
+ tkTextWind.$(OBJEXT) \
+ tkTrig.$(OBJEXT) \
+ tkUndo.$(OBJEXT) \
+ tkUtil.$(OBJEXT) \
+ tkVisual.$(OBJEXT) \
+ tkStubInit.$(OBJEXT) \
+ tkWindow.$(OBJEXT) \
+ $(TTK_OBJS)
+
+TTK_OBJS = \
+ ttkWinMonitor.$(OBJEXT) \
+ ttkWinTheme.$(OBJEXT) \
+ ttkWinXPTheme.$(OBJEXT) \
+ ttkBlink.$(OBJEXT) \
+ ttkButton.$(OBJEXT) \
+ ttkCache.$(OBJEXT) \
+ ttkClamTheme.$(OBJEXT) \
+ ttkClassicTheme.$(OBJEXT) \
+ ttkDefaultTheme.$(OBJEXT) \
+ ttkElements.$(OBJEXT) \
+ ttkEntry.$(OBJEXT) \
+ ttkFrame.$(OBJEXT) \
+ ttkImage.$(OBJEXT) \
+ ttkInit.$(OBJEXT) \
+ ttkLabel.$(OBJEXT) \
+ ttkLayout.$(OBJEXT) \
+ ttkManager.$(OBJEXT) \
+ ttkNotebook.$(OBJEXT) \
+ ttkPanedwindow.$(OBJEXT) \
+ ttkProgress.$(OBJEXT) \
+ ttkScale.$(OBJEXT) \
+ ttkScrollbar.$(OBJEXT) \
+ ttkScroll.$(OBJEXT) \
+ ttkSeparator.$(OBJEXT) \
+ ttkSquare.$(OBJEXT) \
+ ttkState.$(OBJEXT) \
+ ttkTagSet.$(OBJEXT) \
+ ttkTheme.$(OBJEXT) \
+ ttkTrace.$(OBJEXT) \
+ ttkTrack.$(OBJEXT) \
+ ttkTreeview.$(OBJEXT) \
+ ttkWidget.$(OBJEXT) \
+ ttkStubInit.$(OBJEXT)
STUB_OBJS = \
- tclStubLib.$(OBJEXT) \
- tclTomMathStubLib.$(OBJEXT) \
- tclOOStubLib.$(OBJEXT)
-
-TCLSH_OBJS = tclAppInit.$(OBJEXT)
-
-ZLIB_OBJS = \
- adler32.$(OBJEXT) \
- compress.$(OBJEXT) \
- crc32.$(OBJEXT) \
- deflate.$(OBJEXT) \
- infback.$(OBJEXT) \
- inffast.$(OBJEXT) \
- inflate.$(OBJEXT) \
- inftrees.$(OBJEXT) \
- trees.$(OBJEXT) \
- uncompr.$(OBJEXT) \
- zutil.$(OBJEXT)
-
-TCL_OBJS = ${GENERIC_OBJS} $(TOMMATH_OBJS) ${WIN_OBJS} @ZLIB_OBJS@
-
-TCL_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
-
-all: binaries libraries doc packages
-
-tcltest: $(TCLSH) $(TEST_DLL_FILE)
-
-binaries: $(TCL_STUB_LIB_FILE) @LIBRARIES@ winextensions $(TCLSH)
-
-winextensions: ${DDE_DLL_FILE} ${REG_DLL_FILE}
-
-libraries:
-
-doc:
+ tkStubLib.$(OBJEXT) \
+ ttkStubLib.$(OBJEXT)
-tclzipfile: ${TCL_ZIP_FILE}
+TCL_DOCS = "$(TCL_SRC_DIR_NATIVE)/doc/*.[13n]"
+TK_DOCS = "$(ROOT_DIR_NATIVE)/doc/*.[13n]"
+CORE_DOCS = $(TCL_DOCS) $(TK_DOCS)
-${TCL_ZIP_FILE}: ${ZIP_INSTALL_OBJS}
- rm -rf ${TCL_VFS_ROOT}
- mkdir -p ${TCL_VFS_PATH}
- $(COPY) -a $(TOP_DIR)/library/* ${TCL_VFS_PATH}
- cd ${TCL_VFS_ROOT} ; ${NATIVE_ZIP} ${ZIP_PROG_OPTIONS} ../${TCL_ZIP_FILE} ${ZIP_PROG_VFSSEARCH}
-
-$(TCLSH): $(TCLSH_OBJS) @LIBRARIES@ $(TCL_STUB_LIB_FILE) tclsh.$(RES)
- $(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(LIBS) \
- tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
- @VC_MANIFEST_EMBED_EXE@
+DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
-cat32.$(OBJEXT): cat.c
- $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
-
-$(CAT32): cat32.$(OBJEXT)
- $(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LIBS) $(LDFLAGS_CONSOLE)
+SHELL_ENV = \
+ @TCL_LIBRARY="$(TCL_SRC_DIR_NATIVE)/library"; export TCL_LIBRARY; \
+ TK_LIBRARY="$(ROOT_DIR_NATIVE)/library"; export TK_LIBRARY; \
+ PATH="$(TCL_BIN_DIR):$(PATH)"; export PATH;
-# The following targets are configured by autoconf to generate either a shared
-# library or static library
-
-${TCL_STUB_LIB_FILE}: ${STUB_OBJS}
- @$(RM) ${TCL_STUB_LIB_FILE}
- @MAKE_STUB_LIB@ ${STUB_OBJS}
- @POST_MAKE_LIB@
+###
+# Tip 430 - ZipFS Modifications
+###
+TK_ZIP_FILE = libtk_${MAJOR_VERSION}_${MINOR_VERSION}_${PATCH_LEVEL}.zip
+TK_VFS_PATH = libtk.vfs/tk_library
+TK_VFS_ROOT = libtk.vfs
+TCL_ZIPFS_SUPPORT = @TCL_ZIPFS_SUPPORT@
+TCL_ZIPFS_FLAG = @TCL_ZIPFS_FLAG@
+TCL_ZIPFS_OBJS =
+ZIP_PROG = @ZIP_PROG@
+ZIP_PROG_OPTIONS = @ZIP_PROG_OPTIONS@
+ZIP_PROG_VFSSEARCH = @ZIP_PROG_VFSSEARCH@
+SHARED_BUILD = @SHARED_BUILD@
-${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES) @ZLIB_DLL_FILE@ ${TCL_ZIP_FILE}
- @$(RM) ${TCL_DLL_FILE} $(TCL_LIB_FILE)
- @MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS)
- @VC_MANIFEST_EMBED_DLL@
-ifeq (${ZIPFS_BUILD},1)
- cat ${TCL_ZIP_FILE} >> ${TCL_DLL_FILE}
+ifeq (${TCL_ZIPFS_SUPPORT},1)
+ TCL_ZIPFS_OBJS=${TK_ZIP_FILE}
+endif
+ifeq (${TCL_ZIPFS_SUPPORT},2)
+ TCL_ZIPFS_OBJS=${TK_ZIP_FILE}
endif
-${TCL_LIB_FILE}: ${TCL_OBJS} ${DDE_OBJS} ${REG_OBJS}
- @$(RM) ${TCL_LIB_FILE}
- @MAKE_LIB@ ${TCL_OBJS} ${DDE_OBJS} ${REG_OBJS}
- @POST_MAKE_LIB@
-
-${DDE_DLL_FILE}: ${TCL_STUB_LIB_FILE} ${DDE_OBJS}
- @MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
-
-${REG_DLL_FILE}: ${TCL_STUB_LIB_FILE} ${REG_OBJS}
- @MAKE_DLL@ ${REG_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
-
-${TEST_DLL_FILE}: ${TCL_STUB_LIB_FILE} ${TCLTEST_OBJS}
- @$(RM) ${TEST_DLL_FILE} ${TEST_LIB_FILE}
- @MAKE_DLL@ ${TCLTEST_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
-
-# use pre-built zlib1.dll
-${ZLIB_DLL_FILE}: ${TCL_STUB_LIB_FILE}
- @if test "@ZLIB_LIBS@set" != "${ZLIB_DIR_NATIVE}/win32/zdll.libset" ; then \
- $(COPY) $(ZLIB_DIR)/win64/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE}; \
- else \
- $(COPY) $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE}; \
- fi;
-
-# Add the object extension to the implicit rules. By default .obj is not
-# automatically added.
-
-.SUFFIXES: .${OBJEXT}
-.SUFFIXES: .$(RES)
-.SUFFIXES: .rc
-
-# Special case object targets
-
-tclWinInit.${OBJEXT}: tclWinInit.c
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
-
-tclWinPipe.${OBJEXT}: tclWinPipe.c
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
-
-testMain.${OBJEXT}: tclAppInit.c
- $(CC) -c $(CC_SWITCHES) -DTCL_TEST @DEPARG@ $(CC_OBJNAME)
-
-tclMain2.${OBJEXT}: tclMain.c
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl -DTCL_ASCII_MAIN @DEPARG@ $(CC_OBJNAME)
-
-# TIP #430, ZipFS Support
-tclZipfs.${OBJEXT}: $(GENERIC_DIR)/tclZipfs.c
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl \
- -DCFG_RUNTIME_PATH=\"$(bindir_native)\" \
- -DCFG_RUNTIME_DLLFILE="\"$(TCL_LIB_FILE)\"" \
- -DCFG_RUNTIME_ZIPFILE="\"$(TCL_ZIP_FILE)\"" \
- -DCFG_RUNTIME_PATH="\"$(BIN_INSTALL_DIR)\"" \
- $(ZLIB_INCLUDE) -I$(ZLIB_DIR)/contrib/minizip @DEPARG@ $(CC_OBJNAME)
-
-
-# TIP #59, embedding of configuration information into the binary library.
-#
-# Part of Tcl's configuration information are the paths where it was installed
-# and where it will look for its libraries (which can be different). We derive
-# this information from the variables which can be overridden by the user. As
-# every path can be configured separately we do not remember one general
-# prefix/exec_prefix but all the different paths individually.
-
-tclPkgConfig.${OBJEXT}: tclPkgConfig.c
- $(CC) -c $(CC_SWITCHES) \
- -DCFG_INSTALL_LIBDIR=\"$(LIB_INSTALL_DIR_NATIVE)\" \
- -DCFG_INSTALL_BINDIR=\"$(BIN_INSTALL_DIR_NATIVE)\" \
- -DCFG_INSTALL_SCRDIR=\"$(SCRIPT_INSTALL_DIR_NATIVE)\" \
- -DCFG_INSTALL_INCDIR=\"$(INCLUDE_INSTALL_DIR_NATIVE)\" \
- -DCFG_INSTALL_DOCDIR=\"$(MAN_INSTALL_DIR)\" \
- \
- -DCFG_RUNTIME_LIBDIR=\"$(libdir_native)\" \
- -DCFG_RUNTIME_BINDIR=\"$(bindir_native)\" \
- -DCFG_RUNTIME_SCRDIR=\"$(TCL_LIBRARY_NATIVE)\" \
- -DCFG_RUNTIME_INCDIR=\"$(includedir_native)\" \
- -DCFG_RUNTIME_DOCDIR=\"$(mandir_native)\" \
- -DCFG_RUNTIME_DLLFILE="\"$(TCL_LIB_FILE)\"" \
- -DCFG_RUNTIME_ZIPFILE="\"$(TCL_ZIP_FILE)\"" \
- -DBUILD_tcl \
- @DEPARG@ $(CC_OBJNAME)
-
-# The following objects are part of the stub library and should not be built
-# as DLL objects but none of the symbols should be exported
-
-tclStubLib.${OBJEXT}: tclStubLib.c
- $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
-
-tclTomMathStubLib.${OBJEXT}: tclTomMathStubLib.c
- $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
-
-tclOOStubLib.${OBJEXT}: tclOOStubLib.c
- $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
-
-# Implicit rule for all object files that will end up in the Tcl library
-
-%.${OBJEXT}: %.c
- $(CC) -c $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME)
-
-.rc.$(RES):
- $(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(WIN_DIR_NATIVE)" @DEPARG@
-
-
-
-#--------------------------------------------------------------------------
-# Minizip implementation
-#--------------------------------------------------------------------------
-adler32.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/adler32.c
-
-compress.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/compress.c
-
-crc32.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/crc32.c
-
-deflate.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/deflate.c
+# Main targets. The default target -- all -- builds the binaries,
+# performs any post processing on libraries or documents.
-ioapi.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -I$(ZLIB_DIR)/contrib/minizip -c $(ZLIB_DIR)/contrib/minizip/ioapi.c
+all: binaries libraries doc
-iowin32.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -I$(ZLIB_DIR)/contrib/minizip -c $(ZLIB_DIR)/contrib/minizip/iowin32.c
+binaries: @LIBRARIES@ $(WISH)
-infback.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/infback.c
+libraries:
-inffast.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/inffast.c
+$(ROOT_DIR)/doc/man.macros:
+ $(INSTALL_DATA) "$(TCL_SRC_DIR)/doc/man.macros" "$(ROOT_DIR)/doc/man.macros"
-inflate.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/inflate.c
+doc: $(ROOT_DIR)/doc/man.macros
-inftrees.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/inftrees.c
+${TK_ZIP_FILE}:
+ $(RMDIR) ${TK_VFS_ROOT}
+ $(MKDIR) ${TK_VFS_PATH}
+ $(COPY) -a $(TOP_DIR)/library/* ${TK_VFS_PATH}
+ cd ${TK_VFS_ROOT} ; ${ZIP_PROG} ${ZIP_PROG_OPTIONS} ../${TK_ZIP_FILE} ${ZIP_PROG_VFSSEARCH}
-trees.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/trees.c
-uncompr.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/uncompr.c
+winhelp: $(TCL_SRC_DIR)/tools/man2help.tcl $(MAN2TCL)
+ $(TCL_EXE) "$(TCL_SRC_DIR_NATIVE)/tools/man2help.tcl" tcl "$(VER)" $(CORE_DOCS)
+ $(COPY) "$(TCL_BIN_DIR)/tcl.hpj" ./
+ hcw /c /e tcl.hpj
+ $(COPY) ./tcl$(VER).cnt ./TCL$(VER).HLP "$(TCL_SRC_DIR_NATIVE)/tools/"
-zip.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -I$(ZLIB_DIR)/contrib/minizip -c $(ZLIB_DIR)/contrib/minizip/zip.c
+$(MAN2TCL): $(TCL_SRC_DIR)/tools/man2tcl.c
+ $(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(TCL_SRC_DIR_NATIVE)/tools/man2tcl.c"
-zutil.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -c $(ZLIB_DIR)/zutil.c
+# Specifying TESTFLAGS on the command line is the standard way to pass
+# args to tcltest, ie:
+# % make test TESTFLAGS="-verbose bps -file fileName.test"
-minizip.$(HOST_OBJEXT):
- $(HOST_CC) -o $@ -I$(ZLIB_DIR) -I$(ZLIB_DIR)/contrib/minizip -c $(ZLIB_DIR)/contrib/minizip/minizip.c
+test: test-classic test-ttk
-minizip${HOST_EXEEXT}: $(MINIZIP_OBJS)
- $(HOST_CC) -o $@ $(MINIZIP_OBJS)
+test-classic: binaries $(TKTEST) $(TEST_DLL_FILE) $(CAT32)
+ $(SHELL_ENV) ./$(TKTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" \
+ $(TESTFLAGS) | ./$(CAT32)
-# The following target generates the file generic/tclDate.c from the yacc
-# grammar found in generic/tclGetDate.y. This is only run by hand as yacc is
-# not available in all environments. The name of the .c file is different than
-# the name of the .y file so that make doesn't try to automatically regenerate
-# the .c file.
+test-ttk: binaries $(TKTEST) $(TEST_DLL_FILE) $(CAT32)
+ $(SHELL_ENV) ./$(TKTEST) "$(ROOT_DIR_NATIVE)/tests/ttk/all.tcl" \
+ $(TESTFLAGS) | ./$(CAT32)
-gendate:
- bison --output-file=$(GENERIC_DIR)/tclDate.c \
- --name-prefix=TclDate \
- --no-lines \
- $(GENERIC_DIR)/tclGetDate.y
+runtest: binaries $(TKTEST) $(TEST_DLL_FILE)
+ $(SHELL_ENV) ./$(TKTEST) $(TESTFLAGS) $(SCRIPT)
-# The following target generates the file generic/tclTomMath.h. It needs to be
-# run (and the results checked) after updating to a new release of libtommath.
+# This target can be used to run wish from the build directory
+# via `make shell` or `make shell SCRIPT=foo.tcl`
+shell: binaries
+ $(SHELL_ENV) ./$(WISH) $(SCRIPT)
-gentommath_h:
- $(TCL_EXE) "$(ROOT_DIR_NATIVE)/tools/fix_tommath_h.tcl" \
- "$(TOMMATH_DIR_NATIVE)/tommath.h" \
- > "$(GENERIC_DIR_NATIVE)/tclTomMath.h"
+demo: $(WISH)
+ $(SHELL_ENV) ./$(WISH) $(ROOT_DIR)/library/demos/widget
-INSTALL_BASE_TARGETS = install-binaries $(INSTALL_LIBRARIES) $(INSTALL_MSGS) $(INSTALL_TZDATA)
+# This target can be used to run wish inside either gdb or insight
+gdb: binaries
+ @echo "set env TCL_LIBRARY=$(TCL_SRC_DIR_NATIVE)/library" > gdb.run
+ @echo "set env TK_LIBRARY=$(ROOT_DIR_NATIVE)/library" >> gdb.run
+ PATH="$(TCL_BIN_DIR):$(PATH)"; export PATH; \
+ gdb ./$(WISH) --command=gdb.run
+ @$(RM) gdb.run
+
+
+# Tip 430 - When we bump Tk, offer up only zipfile bundled Tk
+# For now, 8.6 needs to be able to load Tk, and it doesn't
+# have zipfs facilities
+#INSTALL_LIBRARIES = @INSTALL_LIBRARIES@
+INSTALL_LIBRARIES = install-libraries
+INSTALL_BASE_TARGETS = install-binaries $(INSTALL_LIBRARIES)
INSTALL_DOC_TARGETS = install-doc
-INSTALL_PACKAGE_TARGETS = install-packages
INSTALL_DEV_TARGETS = install-headers
-INSTALL_EXTRA_TARGETS =
-INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \
- $(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS)
+INSTALL_DEMO_TARGETS = install-demos
+INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) \
+ $(INSTALL_DEMO_TARGETS)
install: $(INSTALL_TARGETS)
install-binaries: binaries
- @for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" ; \
+ @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) $(PKG_INSTALL_DIR); \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
@@ -706,133 +518,140 @@ install-binaries: binaries
else true; \
fi; \
done;
- @for i in dde${DDEDOTVER} reg${REGDOTVER}; \
- do \
- if [ ! -d $(LIB_INSTALL_DIR)/$$i ] ; then \
- echo "Making directory $(LIB_INSTALL_DIR)/$$i"; \
- $(MKDIR) $(LIB_INSTALL_DIR)/$$i; \
- else true; \
- fi; \
- done;
- @for i in $(TCL_DLL_FILE) $(ZLIB_DLL_FILE) $(TCLSH); \
+ @for i in $(TK_DLL_FILE) $(WISH); \
do \
if [ -f $$i ]; then \
echo "Installing $$i to $(BIN_INSTALL_DIR)/"; \
$(COPY) $$i "$(BIN_INSTALL_DIR)"; \
fi; \
done
- @for i in tclConfig.sh tclooConfig.sh $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE); \
+ @echo "Creating package index $(PKG_INDEX)";
+ @$(RM) $(PKG_INDEX);
+ @(\
+ echo "if {[catch {package present Tcl 8.6.0}]} return";\
+ echo "if {(\$$::tcl_platform(platform) eq \"unix\") && ([info exists ::env(DISPLAY)]";\
+ echo " || ([info exists ::argv] && (\"-display\" in \$$::argv)))} {";\
+ echo " package ifneeded Tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin libtk$(VERSION).dll]] Tk]";\
+ echo "} else {";\
+ echo " package ifneeded Tk $(VERSION)$(PATCH_LEVEL) [list load [file normalize [file join \$$dir .. .. bin $(TK_DLL_FILE)]] Tk]";\
+ echo "}";\
+ ) > $(PKG_INDEX);
+ @for i in tkConfig.sh $(TK_LIB_FILE) $(TK_STUB_LIB_FILE); \
do \
if [ -f $$i ]; then \
echo "Installing $$i to $(LIB_INSTALL_DIR)/"; \
$(COPY) $$i "$(LIB_INSTALL_DIR)"; \
fi; \
done
- @if [ -f $(DDE_DLL_FILE) ]; then \
- echo Installing $(DDE_DLL_FILE); \
- $(COPY) $(DDE_DLL_FILE) $(LIB_INSTALL_DIR)/dde${DDEDOTVER}; \
- $(COPY) $(ROOT_DIR)/library/dde/pkgIndex.tcl \
- $(LIB_INSTALL_DIR)/dde${DDEDOTVER}; \
- fi
- @if [ -f $(DDE_LIB_FILE) ]; then \
- echo Installing $(DDE_LIB_FILE); \
- $(COPY) $(DDE_LIB_FILE) $(LIB_INSTALL_DIR)/dde${DDEDOTVER}; \
- fi
- @if [ -f $(REG_DLL_FILE) ]; then \
- echo Installing $(REG_DLL_FILE); \
- $(COPY) $(REG_DLL_FILE) $(LIB_INSTALL_DIR)/reg${REGDOTVER}; \
- $(COPY) $(ROOT_DIR)/library/reg/pkgIndex.tcl \
- $(LIB_INSTALL_DIR)/reg${REGDOTVER}; \
- fi
- @if [ -f $(REG_LIB_FILE) ]; then \
- echo Installing $(REG_LIB_FILE); \
- $(COPY) $(REG_LIB_FILE) $(LIB_INSTALL_DIR)/reg${REGDOTVER}; \
- fi
install-libraries-zipfs-shared: libraries
+ @for i in "$(SCRIPT_INSTALL_DIR)"; \
+ do \
+ if [ ! -d "$$i" ] ; then \
+ echo "Making directory $$i"; \
+ $(INSTALL_DATA_DIR) "$$i"; \
+ else true; \
+ fi; \
+ done;
+ @echo "Installing library files to $(SCRIPT_INSTALL_DIR)/";
+ @for i in \
+ $(WIN_DIR)/tkAppInit.c; \
+ do \
+ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"; \
+ done;
install-libraries-zipfs-static: install-libraries-zipfs-shared
- $(INSTALL_DATA) ${TCL_ZIP_FILE} "$(LIB_INSTALL_DIR)"
+ $(INSTALL_DATA) ${TCL_ZIP_FILE} "$(LIB_INSTALL_DIR)" ;\
-install-libraries: libraries install-tzdata install-msgs
- @for i in "$$($(CYGPATH) $(prefix)/lib)" "$(INCLUDE_INSTALL_DIR)" \
- $(SCRIPT_INSTALL_DIR); \
+install-libraries: libraries
+ @for i in $(INSTALL_ROOT)$(prefix)/lib \
+ $(INCLUDE_INSTALL_DIR) $(INCLUDE_INSTALL_DIR)/X11 \
+ $(SCRIPT_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)/images \
+ $(SCRIPT_INSTALL_DIR)/msgs $(SCRIPT_INSTALL_DIR)/ttk; \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
$(MKDIR) $$i; \
+ chmod 755 $$i; \
else true; \
fi; \
done;
- @for i in http1.0 opt0.4 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5 ../tcl8/8.6; \
+ @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/";
+ @for i in $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkPlatDecls.h \
+ $(GENERIC_DIR)/tkIntXlibDecls.h $(GENERIC_DIR)/tkDecls.h ; \
do \
- if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
- echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
- $(MKDIR) $(SCRIPT_INSTALL_DIR)/$$i; \
- else true; \
- fi; \
+ $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
+ done;
+ @for i in $(XLIB_DIR)/X11/*.h; \
+ do \
+ $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR)/X11; \
done;
@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
- @for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex; \
+ @for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex \
+ $(UNIX_DIR)/tkAppInit.c; \
do \
- $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)"; \
+ $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
done;
- @echo "Installing library http1.0 directory";
- @for j in $(ROOT_DIR)/library/http1.0/*.tcl; \
+ @echo "Installing library ttk directory";
+ @for i in $(ROOT_DIR)/library/ttk/*.tcl; \
do \
- $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \
+ if [ -f $$i ] ; then \
+ $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/ttk; \
+ fi; \
done;
- @echo "Installing package http 2.8.12 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.12.tm;
- @echo "Installing library opt0.4 directory";
- @for j in $(ROOT_DIR)/library/opt/*.tcl; \
+ @echo "Installing library images directory";
+ @for i in $(ROOT_DIR)/library/images/*; \
do \
- $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \
+ if [ -f $$i ] ; then \
+ $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/images; \
+ fi; \
+ done;
+ @echo "Installing translation directory";
+ @for i in $(ROOT_DIR)/library/msgs/*.msg; \
+ do \
+ if [ -f $$i ] ; then \
+ $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/msgs; \
+ fi; \
done;
- @echo "Installing package msgcat 1.6.1 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/msgcat-1.6.1.tm;
- @echo "Installing package tcltest 2.4.0 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.4.0.tm;
- @echo "Installing package platform 1.0.14 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.14.tm;
- @echo "Installing package platform::shell 1.1.4 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.4.tm;
- @echo "Installing encodings";
- @for i in $(ROOT_DIR)/library/encoding/*.enc ; do \
- $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \
- done;
-
-install-tzdata:
- @echo "Installing time zone data"
- @$(TCL_EXE) "$(ROOT_DIR)/tools/installData.tcl" \
- "$(ROOT_DIR)/library/tzdata" "$(SCRIPT_INSTALL_DIR)/tzdata"
-
-install-msgs:
- @echo "Installing message catalogs"
- @$(TCL_EXE) "$(ROOT_DIR)/tools/installData.tcl" \
- "$(ROOT_DIR)/library/msgs" "$(SCRIPT_INSTALL_DIR)/msgs"
-
-install-doc: doc
-install-headers:
- @for i in "$(INCLUDE_INSTALL_DIR)"; \
+install-demos:
+ @for i in $(INSTALL_ROOT)$(prefix)/lib $(SCRIPT_INSTALL_DIR) \
+ $(SCRIPT_INSTALL_DIR)/demos \
+ $(SCRIPT_INSTALL_DIR)/demos/images ; \
do \
- if [ ! -d "$$i" ] ; then \
+ if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
- $(INSTALL_DATA_DIR) "$$i"; \
+ $(MKDIR) $$i; \
+ chmod 755 $$i; \
else true; \
fi; \
done;
- @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/";
- @for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \
- $(GENERIC_DIR)/tclOO.h $(GENERIC_DIR)/tclOODecls.h \
- $(GENERIC_DIR)/tclPlatDecls.h \
- $(GENERIC_DIR)/tclTomMath.h \
- $(GENERIC_DIR)/tclTomMathDecls.h ; \
+ @echo "Installing demos to $(SCRIPT_INSTALL_DIR)/demos/";
+ @for i in $(ROOT_DIR)/library/demos/*; \
do \
- $(COPY) $$i "$(INCLUDE_INSTALL_DIR)"; \
+ if [ -f $$i ] ; then \
+ sed -e '3 s|exec wish|exec wish$(VER)|' \
+ $$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \
+ fi; \
+ done;
+ @for i in $(DEMOPROGS); \
+ do \
+ if test $$i = "square"; then \
+ rm -f $(SCRIPT_INSTALL_DIR)/demos/$$i; \
+ else \
+ chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \
+ fi; \
+ done;
+ @echo "Installing demo images";
+ @for i in $(ROOT_DIR)/library/demos/images/*; \
+ do \
+ if [ -f $$i ] ; then \
+ $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \
+ fi; \
done;
+install-doc: doc
+
# Optional target to install private headers
install-private-headers: libraries
@for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \
@@ -840,197 +659,153 @@ install-private-headers: libraries
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
$(MKDIR) $$i; \
+ chmod 755 $$i; \
else true; \
fi; \
done;
- @echo "Installing private header files";
- @for i in "$(GENERIC_DIR)/tclInt.h" "$(GENERIC_DIR)/tclIntDecls.h" \
- "$(GENERIC_DIR)/tclIntPlatDecls.h" "$(GENERIC_DIR)/tclPort.h" \
- "$(GENERIC_DIR)/tclOOInt.h" "$(GENERIC_DIR)/tclOOIntDecls.h" \
- "$(WIN_DIR)/tclWinPort.h" ; \
+ @echo "Installing private header files to $(PRIVATE_INCLUDE_INSTALL_DIR)/";
+ @for i in $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \
+ $(GENERIC_DIR)/tkIntPlatDecls.h $(GENERIC_DIR)/tkPort.h \
+ $(WIN_DIR)/tkWinPort.h $(WIN_DIR)/tkWinInt.h $(WIN_DIR)/tkWin.h; \
do \
- $(COPY) "$$i" "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
+ $(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); \
done;
-# Specifying TESTFLAGS on the command line is the standard way to pass args to
-# tcltest, i.e.:
-# % make test TESTFLAGS="-verbose bps -file fileName.test"
+$(WISH): $(WISH_OBJS) @LIBRARIES@ $(TK_STUB_LIB_FILE) wish.$(RES)
+ $(CC) $(CFLAGS) $(WISH_OBJS) $(TK_LIB_FILE) \
+ $(TK_STUB_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) \
+ wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW)
+ @VC_MANIFEST_EMBED_EXE@
-test: test-tcl test-packages
+tktest: $(TKTEST)
-test-tcl: binaries $(TCLSH) $(CAT32) $(TEST_DLL_FILE)
- TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
- ./$(TCLSH) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
- -load "package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest]; \
- package ifneeded dde 1.4.0 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
- package ifneeded registry 1.3.2 [list load [file normalize ${REG_DLL_FILE}] registry]" | ./$(CAT32)
+$(TKTEST): testMain.$(OBJEXT) $(TEST_DLL_FILE) @LIBRARIES@ $(TK_STUB_LIB_FILE) wish.$(RES)
+ $(CC) $(CFLAGS) testMain.$(OBJEXT) $(TEST_LIB_FILE) $(TK_LIB_FILE) \
+ $(TK_STUB_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) \
+ wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW)
+ @VC_MANIFEST_EMBED_EXE@
-# Useful target to launch a built tclsh with the proper path,...
-runtest: binaries $(TCLSH) $(TEST_DLL_FILE)
- @TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
- ./$(TCLSH) $(TESTFLAGS) -load "package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest]; \
- package ifneeded dde 1.4.0 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
- package ifneeded registry 1.3.2 [list load [file normalize ${REG_DLL_FILE}] registry]" $(SCRIPT)
+${TEST_DLL_FILE}: ${TKTEST_OBJS} ${TK_STUB_LIB_FILE}
+ @MAKE_DLL@ ${TKTEST_OBJS} $(TK_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
-# This target can be used to run tclsh from the build directory via
-# `make shell SCRIPT=foo.tcl`
-shell: binaries
- @TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
- ./$(TCLSH) $(SCRIPT)
+# Msys make requires this next rule for some reason.
+$(TCL_SRC_DIR)/win/cat.c:
-# This target can be used to run tclsh inside either gdb or insight
-gdb: binaries
- @echo "set env TCL_LIBRARY=$(LIBRARY_DIR)" > gdb.run
- gdb ./$(TCLSH) --command=gdb.run
- rm gdb.run
+cat32.${OBJEXT}: $(TCL_SRC_DIR)/win/cat.c
+ $(CC) -c $(CC_SWITCHES) "$(TCL_SRC_DIR)/win/cat.c" $(CC_OBJNAME)
-depend:
+$(CAT32): cat32.${OBJEXT}
+ $(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LIBS) $(LDFLAGS_CONSOLE)
-Makefile: $(SRC_DIR)/Makefile.in
- ./config.status
+# The following targets are configured by autoconf to generate either
+# a shared library or static library
+
+${TK_STUB_LIB_FILE}: ${STUB_OBJS}
+ @$(RM) ${TK_STUB_LIB_FILE}
+ @MAKE_STUB_LIB@ ${STUB_OBJS}
+ @POST_MAKE_LIB@
+
+${TK_DLL_FILE}: ${TK_OBJS} $(TK_RES) ${TCL_ZIPFS_OBJS}
+ @$(RM) ${TK_DLL_FILE}
+ @MAKE_DLL@ ${TK_OBJS} $(TK_RES) $(SHLIB_LD_LIBS)
+ @VC_MANIFEST_EMBED_DLL@
+ifeq (${TCL_ZIPFS_SUPPORT},1)
+ cat ${TK_ZIP_FILE} >> ${LIB_FILE}
+endif
+
+${TK_LIB_FILE}: ${TK_OBJS}
+ @$(RM) ${TK_LIB_FILE}
+ @MAKE_LIB@ ${TK_OBJS}
+ @POST_MAKE_LIB@
+
+# Special case object file targets
+
+winMain.$(OBJEXT): winMain.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
+
+testMain.$(OBJEXT): winMain.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ -DTK_TEST $(CC_OBJNAME)
+
+tkTest.$(OBJEXT): tkTest.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
+
+tkOldTest.$(OBJEXT): tkOldTest.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
+
+tkWinTest.$(OBJEXT): tkWinTest.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
+
+tkSquare.$(OBJEXT): tkSquare.c
+ $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
+
+tkMain2.$(OBJEXT): tkMain.c
+ $(CC) -c $(CC_SWITCHES) -DBUILD_tk -DTK_ASCII_MAIN @DEPARG@ $(CC_OBJNAME)
+
+# Extra dependency info
+tkConsole.$(OBJEXT): configure Makefile
+tkMain.$(OBJEXT): configure Makefile
+tkWindow.$(OBJEXT): configure Makefile
+
+# Add the object extension to the implicit rules. By default .obj is not
+# automatically added.
+
+.SUFFIXES: .${OBJEXT}
+.SUFFIXES: .$(RES)
+.SUFFIXES: .rc
+
+# Implicit rule for all object files that will end up in the Tk library
+
+%.$(OBJEXT): %.c
+ $(CC) -c $(CC_SWITCHES) -DBUILD_tk -DBUILD_ttk @DEPARG@ $(CC_OBJNAME)
+
+.rc.$(RES):
+ $(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(TCL_GENERIC_NATIVE)" @RC_INCLUDE@ "$(RC_DIR_NATIVE)" @DEPARG@
+
+depend:
cleanhelp:
- $(RM) *.hlp *.cnt *.GID *.rtf man2tcl.exe
+ $(RM) *.hlp *.cnt *.hpj *.GID *.rtf man2tcl${EXEEXT}
-clean: cleanhelp clean-packages
- $(RM) *.lib *.a *.exp *.dll *.$(RES) *.${OBJEXT} *~ \#* TAGS a.out
- $(RM) $(TCLSH) $(CAT32)
+clean: cleanhelp
+ $(RM) *.lib *.a *.exp *.dll *.res *.${OBJEXT} *~ \#* TAGS a.out
+ $(RM) $(WISH) $(TKTEST) $(CAT32)
$(RM) *.pch *.ilk *.pdb
- $(RM) minizip${HOST_EXEEXT} *.${HOST_OBJEXT}
- $(RM) *.zip
- $(RMDIR) *.vfs
-
-distclean: distclean-packages clean
- $(RM) Makefile config.status config.cache config.log tclConfig.sh \
- tcl.hpj config.status.lineno tclsh.exe.manifest
-#
-# Bundled package targets
-#
+distclean: clean
+ $(RM) Makefile config.status config.cache config.log tkConfig.sh \
+ wish.exe.manifest
-PKG_CFG_ARGS = @PKG_CFG_ARGS@
-PKG_DIR = ./pkgs
-
-packages:
- @builddir=`$(CYGPATH) $$(pwd -P)`; \
- for i in $(PKGS_DIR)/*; do \
- if [ -d $$i ] ; then \
- if [ -x $$i/configure ] ; then \
- pkg=`basename $$i`; \
- mkdir -p $(PKG_DIR)/$$pkg; \
- if [ ! -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; \
- echo "Configuring package '$$i' wd = `$(CYGPATH) $$(pwd -P)`"; \
- $$i/configure --with-tcl=$$builddir --with-tclinclude=$(GENERIC_DIR_NATIVE) $(PKG_CFG_ARGS) --enable-shared --enable-threads; ) \
- fi ; \
- echo "Building package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE); ) \
- fi; \
- fi; \
- done; \
- cd $$builddir
-
-install-packages: packages
- @builddir=`pwd -P`; \
- for i in $(PKGS_DIR)/*; do \
- if [ -d $$i ]; then \
- pkg=`basename $$i`; \
- if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- echo "Installing package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) install "DESTDIR=$(INSTALL_ROOT)"; ) \
- fi; \
- fi; \
- done; \
- cd $$builddir
-
-test-packages: tcltest packages
- @builddir=`pwd -P`; \
- for i in $(PKGS_DIR)/*; do \
- if [ -d $$i ]; then \
- pkg=`basename $$i`; \
- if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- echo "Testing package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) "LD_LIBRARY_PATH=$$builddir:${LD_LIBRARY_PATH}" "TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" "TCLLIBPATH=$$builddir/pkgs" test "TCLSH_PROG=$$builddir/${TCLSH}"; ) \
- fi; \
- fi; \
- done; \
- cd $$builddir
-
-clean-packages:
- @builddir=`pwd -P`; \
- for i in $(PKGS_DIR)/*; do \
- if [ -d $$i ]; then \
- pkg=`basename $$i`; \
- if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) clean; ) \
- fi; \
- fi; \
- done; \
- cd $$builddir
-
-distclean-packages:
- @builddir=`pwd -P`; \
- for i in $(PKGS_DIR)/*; do \
- if [ -d $$i ]; then \
- pkg=`basename $$i`; \
- if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) distclean; ) \
- fi; \
- cd $$builddir; \
- rm -rf $(PKG_DIR)/$$pkg; \
- fi; \
- done; \
- rm -rf $(PKG_DIR)
+Makefile: $(SRC_DIR)/Makefile.in
+ ./config.status
#
# Regenerate the stubs files.
#
-$(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
- $(GENERIC_DIR)/tclInt.decls
- @echo "Warning: tclStubInit.c may be out of date."
+$(GENERIC_DIR)/tkStubInit.c: $(GENERIC_DIR)/tk.decls \
+ $(GENERIC_DIR)/tkInt.decls
+ @echo "Warning: tkStubInit.c may be out of date."
@echo "Developers may want to run \"make genstubs\" to regenerate."
@echo "This warning can be safely ignored, do not report as a bug!"
genstubs:
- $(TCL_EXE) "$(ROOT_DIR_NATIVE)/tools/genStubs.tcl" \
- "$(GENERIC_DIR_NATIVE)" \
- "$(GENERIC_DIR_NATIVE)/tcl.decls" \
- "$(GENERIC_DIR_NATIVE)/tclInt.decls" \
- "$(GENERIC_DIR_NATIVE)/tclTomMath.decls"
- $(TCL_EXE) "$(ROOT_DIR_NATIVE)/tools/genStubs.tcl" \
+ $(TCL_EXE) "$(TCL_TOOL_DIR)/genStubs.tcl" \
"$(GENERIC_DIR_NATIVE)" \
- "$(GENERIC_DIR_NATIVE)/tclOO.decls"
-
-#
-# This target creates the HTML folder for Tcl & Tk and places it in
-# DISTDIR/html. It uses the tcltk-man2html.tcl tool from the Tcl group's tool
-# workspace. It depends on the Tcl & Tk being in directories called tcl8.* &
-# tk8.* up two directories from the TOOL_DIR.
-#
-
-TOOL_DIR=$(ROOT_DIR)/tools
-HTML_INSTALL_DIR=$(ROOT_DIR)/html
-html:
- $(MAKE) shell SCRIPT="$(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) --srcdir=$(ROOT_DIR)/.. $(BUILD_HTML_FLAGS)"
-
-html-tcl: $(TCLSH)
- $(MAKE) shell SCRIPT="$(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) --srcdir=$(ROOT_DIR)/.. $(BUILD_HTML_FLAGS) --tcl"
-
-html-tk: $(TCLSH)
- $(MAKE) shell SCRIPT="$(TOOL_DIR)/tcltk-man2html.tcl --htmldir=$(HTML_INSTALL_DIR) --srcdir=$(ROOT_DIR)/.. $(BUILD_HTML_FLAGS) --tk"
+ "$(GENERIC_DIR_NATIVE)/tk.decls" \
+ "$(GENERIC_DIR_NATIVE)/tkInt.decls"
+ $(TCL_EXE) "$(TTK_DIR)/ttkGenStubs.tcl" \
+ "$(TTK_DIR)" \
+ "$(TTK_DIR)/ttk.decls"
#
# The list of all the targets that do not correspond to real files. This stops
# 'make' from getting confused when someone makes an error in a rule.
#
-.PHONY: all tcltest binaries libraries doc gendate gentommath_h install
-.PHONY: install-binaries install-libraries install-tzdata install-msgs
-.PHONY: install-doc install-private-headers test test-tcl runtest shell
-.PHONY: gdb depend cleanhelp clean distclean packages install-packages
-.PHONY: test-packages clean-packages distclean-packages genstubs html
-.PHONY: html-tcl html-tk
-.PHONY: iinstall-libraries-zipfs-shared install-libraries-zipfs-static tclzipfile
+.PHONY: all binaries libraries doc tkLibObjs objs tktest-real test test-classic
+.PHONY: test-ttk testlang runtest shell demo gdb install install-strip
+.PHONY: install-binaries install-libraries install-demos install-doc
+.PHONY: install-private-headers clean distclean depend genstubs checkstubs
+.PHONY: checkuchar checkexports rpm dist alldist allpatch html html-tcl html-tk
# DO NOT DELETE THIS LINE -- make depend depends on it.