Fossil SCM

Let "fossil version -v" report the real Tcl version running, not the version of the Tcl (stub) library it was compiled with.

jan.nijtmans 2013-09-12 09:06 trunk
Commit 86a8e1d923911c4bb356f0b5ffc9e39b6e8ce4d2
1 file changed +15 -3
+15 -3
--- src/main.c
+++ src/main.c
@@ -795,23 +795,35 @@
795795
fossil_print("This is fossil version " RELEASE_VERSION " "
796796
MANIFEST_VERSION " " MANIFEST_DATE " UTC\n");
797797
if(!find_option("verbose","v",0)){
798798
return;
799799
}else{
800
+#if defined(FOSSIL_ENABLE_TCL)
801
+ int rc;
802
+ const char *zRc;
803
+#endif
800804
fossil_print("Compiled on %s %s using %s (%d-bit)\n",
801805
__DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8);
802806
fossil_print("SQLite %s %.30s\n", SQLITE_VERSION, SQLITE_SOURCE_ID);
803807
fossil_print("Schema version %s\n", AUX_SCHEMA);
804808
fossil_print("zlib %s\n", ZLIB_VERSION);
805809
#if defined(FOSSIL_ENABLE_SSL)
806810
fossil_print("SSL (%s)\n", OPENSSL_VERSION_TEXT);
807811
#endif
808812
#if defined(FOSSIL_ENABLE_TCL)
809
- fossil_print("TCL (Tcl %s)\n", TCL_PATCH_LEVEL);
810
-#endif
813
+ Th_FossilInit(0, 0);
814
+ th_register_tcl(g.interp, &g.tcl);
815
+ rc = Th_Eval(g.interp, 0, "tclEval {package require Tcl}", -1);
816
+ zRc = Th_ReturnCodeName(rc, 1);
817
+ fossil_print("TCL (Tcl %s%s%s%s)\n", zRc, zRc ? ": " : "",
818
+ Th_GetResult(g.interp, 0),
811819
#if defined(FOSSIL_ENABLE_TCL_STUBS)
812
- fossil_print("TCL_STUBS\n");
820
+ zRc? "" : ", loaded only when needed"
821
+#else
822
+ ""
823
+#endif
824
+ );
813825
#endif
814826
#if defined(FOSSIL_ENABLE_JSON)
815827
fossil_print("JSON (API %s)\n", FOSSIL_JSON_API_VERSION);
816828
#endif
817829
}
818830
--- src/main.c
+++ src/main.c
@@ -795,23 +795,35 @@
795 fossil_print("This is fossil version " RELEASE_VERSION " "
796 MANIFEST_VERSION " " MANIFEST_DATE " UTC\n");
797 if(!find_option("verbose","v",0)){
798 return;
799 }else{
 
 
 
 
800 fossil_print("Compiled on %s %s using %s (%d-bit)\n",
801 __DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8);
802 fossil_print("SQLite %s %.30s\n", SQLITE_VERSION, SQLITE_SOURCE_ID);
803 fossil_print("Schema version %s\n", AUX_SCHEMA);
804 fossil_print("zlib %s\n", ZLIB_VERSION);
805 #if defined(FOSSIL_ENABLE_SSL)
806 fossil_print("SSL (%s)\n", OPENSSL_VERSION_TEXT);
807 #endif
808 #if defined(FOSSIL_ENABLE_TCL)
809 fossil_print("TCL (Tcl %s)\n", TCL_PATCH_LEVEL);
810 #endif
 
 
 
 
811 #if defined(FOSSIL_ENABLE_TCL_STUBS)
812 fossil_print("TCL_STUBS\n");
 
 
 
 
813 #endif
814 #if defined(FOSSIL_ENABLE_JSON)
815 fossil_print("JSON (API %s)\n", FOSSIL_JSON_API_VERSION);
816 #endif
817 }
818
--- src/main.c
+++ src/main.c
@@ -795,23 +795,35 @@
795 fossil_print("This is fossil version " RELEASE_VERSION " "
796 MANIFEST_VERSION " " MANIFEST_DATE " UTC\n");
797 if(!find_option("verbose","v",0)){
798 return;
799 }else{
800 #if defined(FOSSIL_ENABLE_TCL)
801 int rc;
802 const char *zRc;
803 #endif
804 fossil_print("Compiled on %s %s using %s (%d-bit)\n",
805 __DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8);
806 fossil_print("SQLite %s %.30s\n", SQLITE_VERSION, SQLITE_SOURCE_ID);
807 fossil_print("Schema version %s\n", AUX_SCHEMA);
808 fossil_print("zlib %s\n", ZLIB_VERSION);
809 #if defined(FOSSIL_ENABLE_SSL)
810 fossil_print("SSL (%s)\n", OPENSSL_VERSION_TEXT);
811 #endif
812 #if defined(FOSSIL_ENABLE_TCL)
813 Th_FossilInit(0, 0);
814 th_register_tcl(g.interp, &g.tcl);
815 rc = Th_Eval(g.interp, 0, "tclEval {package require Tcl}", -1);
816 zRc = Th_ReturnCodeName(rc, 1);
817 fossil_print("TCL (Tcl %s%s%s%s)\n", zRc, zRc ? ": " : "",
818 Th_GetResult(g.interp, 0),
819 #if defined(FOSSIL_ENABLE_TCL_STUBS)
820 zRc? "" : ", loaded only when needed"
821 #else
822 ""
823 #endif
824 );
825 #endif
826 #if defined(FOSSIL_ENABLE_JSON)
827 fossil_print("JSON (API %s)\n", FOSSIL_JSON_API_VERSION);
828 #endif
829 }
830

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button