/*****************************************************************************
******************************************************************************
**<AUTO>
**
** FILE:
**     tsTclDeclare.c
**
**<HTML>
**     Routines to load schema and TCL command definitions to TCL.
**</HTML>
**</AUTO>
**
** ENVIRONMENT:
**     ANSI C.
******************************************************************************
******************************************************************************
*/

#include <stdlib.h>
#include <stdio.h>
#include <dervish.h>

void taTclTargetDeclare(Tcl_Interp *interp);
void taTclIODeclare(Tcl_Interp *interp);
void taTclCalibrateDeclare(Tcl_Interp *interp);
void taTclCatalogsDeclare(Tcl_Interp *interp);
void taTclCompletetileDeclare(Tcl_Interp *interp);
void taTclDiagDeclare(Tcl_Interp *interp);
RET_CODE taSchemaLoadFromTarget(void);

/*****************************************************************************
******************************************************************************
**<AUTO EXTRACT>
**
** ROUTINE:
**     tsTclDeclare
**
**<HTML>
**     Load schema and TCL command definitions to TCL.
**</HTML>
**</AUTO>
**
******************************************************************************
******************************************************************************
*/
void taTclDeclare(Tcl_Interp *interp)
{
  char *script;

  /* Load modules */
  taTclTargetDeclare(interp);
  taTclIODeclare(interp);
  taTclCalibrateDeclare(interp);
  taTclCatalogsDeclare(interp);
  taTclCompletetileDeclare(interp);
  taTclDiagDeclare(interp);

  /* Load schema */
  (void) taSchemaLoadFromTarget();

  script = (char *)getenv("TARGET_STARTUP");
  if (script != NULL) {
    char cmd[150];
    sprintf(cmd, "source %s", script);
    printf("Executing commands in %s\n", script);
    Tcl_Eval(interp, cmd);
    printf("%s", interp->result);
  }
}
