summaryrefslogtreecommitdiffstats
path: root/generic/tclEvent.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-11-26 13:22:10 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-11-26 13:22:10 (GMT)
commit07256a2be53749c32aef1540f1872af131349343 (patch)
treeaf010b2c059ebdb9dc36243e7c6c37d02f9bf72f /generic/tclEvent.c
parent22c94de04ae6d54b29babdf43862a5e859c050df (diff)
parentb3e1ffc1797fa7eec61848d7a3f9d120afd0b0fe (diff)
downloadtcl-07256a2be53749c32aef1540f1872af131349343.zip
tcl-07256a2be53749c32aef1540f1872af131349343.tar.gz
tcl-07256a2be53749c32aef1540f1872af131349343.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r--generic/tclEvent.c82
1 files changed, 78 insertions, 4 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index 6e4e4bb..183b973 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -14,6 +14,7 @@
*/
#include "tclInt.h"
+#include "tclUuid.h"
/*
* The data structure below is used to report background errors. One such
@@ -1005,7 +1006,7 @@ Tcl_Exit(
* down another.
*
* Results:
- * None.
+ * The full Tcl version with build information.
*
* Side effects:
* Varied, see the respective initialization routines.
@@ -1015,12 +1016,85 @@ Tcl_Exit(
MODULE_SCOPE const TclStubs tclStubs;
+#ifndef STRINGIFY
+# define STRINGIFY(x) STRINGIFY1(x)
+# define STRINGIFY1(x) #x
+#endif
+
static const struct {
const TclStubs *stubs;
- const char version[12];
+ const char version[256];
} stubInfo = {
- &tclStubs, TCL_PATCH_LEVEL
-};
+ &tclStubs, {TCL_PATCH_LEVEL "+" STRINGIFY(TCL_VERSION_UUID)
+#if defined(__clang__) && defined(__clang_major__)
+ ".clang-" STRINGIFY(__clang_major__)
+#if __clang_minor__ < 10
+ "0"
+#endif
+ STRINGIFY(__clang_minor__)
+#endif
+#ifdef TCL_COMPILE_DEBUG
+ ".compiledebug"
+#endif
+#ifdef TCL_COMPILE_STATS
+ ".compilestats"
+#endif
+#if defined(__cplusplus) && !defined(__OBJC__)
+ ".cplusplus"
+#endif
+#ifndef NDEBUG
+ ".debug"
+#endif
+#if !defined(__clang__) && !defined(__INTEL_COMPILER) && defined(__GNUC__)
+ ".gcc-" STRINGIFY(__GNUC__)
+#if __GNUC_MINOR__ < 10
+ "0"
+#endif
+ STRINGIFY(__GNUC_MINOR__)
+#endif
+#ifdef __INTEL_COMPILER
+ ".icc-" STRINGIFY(__INTEL_COMPILER)
+#endif
+#if (defined(_WIN32) && !defined(_WIN64)) || (ULONG_MAX == 0xffffffffUL)
+ ".ilp32"
+#endif
+#ifdef TCL_MEM_DEBUG
+ ".memdebug"
+#endif
+#if defined(_MSC_VER)
+ ".msvc-" STRINGIFY(_MSC_VER)
+#endif
+#ifdef USE_NMAKE
+ ".nmake"
+#endif
+#ifdef TCL_NO_DEPRECATED
+ ".no-deprecate"
+#endif
+#if !TCL_THREADS
+ ".no-thread"
+#endif
+#ifndef TCL_CFG_OPTIMIZED
+ ".no-optimize"
+#endif
+#ifdef __OBJC__
+ ".objective-c"
+#if defined(__cplusplus)
+ "plusplus"
+#endif
+#endif
+#ifdef TCL_CFG_PROFILED
+ ".profile"
+#endif
+#ifdef PURIFY
+ ".purify"
+#endif
+#ifdef STATIC_BUILD
+ ".static"
+#endif
+#if TCL_UTF_MAX < 4
+ ".utf-16"
+#endif
+}};
const char *
Tcl_InitSubsystems(void)