diff options
Diffstat (limited to 'unix/tkAppInit.c')
-rw-r--r-- | unix/tkAppInit.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/unix/tkAppInit.c b/unix/tkAppInit.c index 13bcdde..5b4575b 100644 --- a/unix/tkAppInit.c +++ b/unix/tkAppInit.c @@ -32,6 +32,14 @@ extern Tcl_PackageInitProc Tktest_Init; #ifndef MODULE_SCOPE # define MODULE_SCOPE extern #endif +#ifdef TCL_ZIPVFS + #include "tkInt.h" + + MODULE_SCOPE int Tcl_Zvfs_Boot(const char *,const char *,const char *); + MODULE_SCOPE int Zvfs_Init(Tcl_Interp *); + MODULE_SCOPE int Zvfs_SafeInit(Tcl_Interp *); + +#endif /* TCL_ZIPVFS */ MODULE_SCOPE int TK_LOCAL_APPINIT(Tcl_Interp *); MODULE_SCOPE int main(int, char **); @@ -74,7 +82,13 @@ main( #ifdef TK_LOCAL_MAIN_HOOK TK_LOCAL_MAIN_HOOK(&argc, &argv); #endif - +#ifdef TCL_ZIPVFS + #define TCLKIT_INIT "main.tcl" + #define TCLKIT_VFSMOUNT "/zvfs" + Tcl_FindExecutable(argv[0]); + CONST char *cp=Tcl_GetNameOfExecutable(); + Tcl_Zvfs_Boot(cp,TCLKIT_VFSMOUNT,TCLKIT_INIT); +#endif Tk_Main(argc, argv, TK_LOCAL_APPINIT); return 0; /* Needed only to prevent compiler warning. */ } @@ -111,6 +125,13 @@ Tcl_AppInit( } Tcl_StaticPackage(interp, "Tk", Tk_Init, Tk_SafeInit); +#ifdef TCL_ZIPVFS + /* Load the ZipVfs package */ + Tcl_StaticPackage(interp, "zvfs", Zvfs_Init, Zvfs_SafeInit); + if(Zvfs_Init(interp) == TCL_ERROR) { + return TCL_ERROR; + } +#endif #ifdef TK_TEST if (Tktest_Init(interp) == TCL_ERROR) { return TCL_ERROR; |