]> www.wagner.pp.ru Git - oss/ck.git/blob - ckAppInit.c
Ck console graphics toolkit
[oss/ck.git] / ckAppInit.c
1 /* 
2  * ckAppInit.c --
3  *
4  *      Provides a default version of the Tcl_AppInit procedure for
5  *      use in curses wish.
6  *
7  * Copyright (c) 1993 The Regents of the University of California.
8  * Copyright (c) 1994 Sun Microsystems, Inc.
9  * Copyright (c) 1995 Christian Werner.
10  *
11  * See the file "license.terms" for information on usage and redistribution
12  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13  */
14
15 #include "ck.h"
16
17 /*
18  * The following variable is a special hack that is needed in order for
19  * Sun shared libraries to be used for Tcl.
20  */
21
22 #ifndef __WIN32__
23 extern int matherr();
24 int *tclDummyMathPtr = (int *) matherr;
25 #endif
26 \f
27 /*
28  *----------------------------------------------------------------------
29  *
30  * main --
31  *
32  *      This is the main program for the application.
33  *
34  * Results:
35  *      None: Ck_Main never returns here, so this procedure never
36  *      returns either.
37  *
38  * Side effects:
39  *      Whatever the application does.
40  *
41  *----------------------------------------------------------------------
42  */
43
44 int
45 main(argc, argv)
46     int argc;                   /* Number of command-line arguments. */
47     char **argv;                /* Values of command-line arguments. */
48 {
49     Ck_Main(argc, argv, Tcl_AppInit);
50     return 0;                   /* Needed only to prevent compiler warning. */
51 }
52 \f
53 /*
54  *----------------------------------------------------------------------
55  *
56  * Tcl_AppInit --
57  *
58  *      This procedure performs application-specific initialization.
59  *      Most applications, especially those that incorporate additional
60  *      packages, will have their own version of this procedure.
61  *
62  * Results:
63  *      Returns a standard Tcl completion code, and leaves an error
64  *      message in interp->result if an error occurs.
65  *
66  * Side effects:
67  *      Depends on the startup script.
68  *
69  *----------------------------------------------------------------------
70  */
71
72 int
73 Tcl_AppInit(interp)
74     Tcl_Interp *interp;         /* Interpreter for application. */
75 {
76     if (Tcl_Init(interp) == TCL_ERROR) {
77         return TCL_ERROR;
78     }
79
80     if (Ck_Init(interp) == TCL_ERROR) {
81         return TCL_ERROR;
82     }
83
84 #if !((TCL_MAJOR_VERSION == 7) && (TCL_MINOR_VERSION <= 4))
85     Tcl_StaticPackage(interp, "Ck", Ck_Init, (Tcl_PackageInitProc *) NULL);
86 #endif
87
88     /*
89      * Call the init procedures for included packages.  Each call should
90      * look like this:
91      *
92      * if (Mod_Init(interp) == TCL_ERROR) {
93      *     return TCL_ERROR;
94      * }
95      *
96      * where "Mod" is the name of the module.
97      */
98
99     /*
100      * Call Tcl_CreateCommand for application-specific commands, if
101      * they weren't already created by the init procedures called above.
102      */
103
104     /*
105      * Specify a user-specific startup file to invoke if the application
106      * is run interactively.  Typically the startup file is "~/.apprc"
107      * where "app" is the name of the application.  If this line is deleted
108      * then no user-specific startup file will be run under any conditions.
109      */
110 #ifndef CWSHRC  
111 #ifdef DJGPP 
112 #   define CWSHRC  "cwsh.rc"
113 #else
114 #       define CWSHRC  ".cwshrc"        
115 #endif  
116 #endif  
117 #if (TCL_MAJOR_VERSION == 7) && (TCL_MINOR_VERSION <= 4)
118     tcl_RcFileName = "~/" CWSHRC;
119 #else
120     Tcl_SetVar(interp, "tcl_rcFileName", "~/" CWSHRC, TCL_GLOBAL_ONLY);
121 #endif
122     return TCL_OK;
123 }
124