.LP
\fBKraftsman\fP is an application which facilitates the creation and
maintenance of toolboxes in the Khoros Environment.  A toolbox is 
a set of directories
and files which mimic the Khoros directory structure, and it is in
such toolboxes that all routines added to the Khoros system should be
installed and maintained.  Volume 2, Chapter 1 of the Khoros Programmer's 
Manual can be referenced for the philosophy behind, and more information 
about, toolboxes.  An example toolbox source tree is provided
in \f(CW$KHOROS_HOME/example_toolbox\fP.
.SH
INTRODUCTION TO TOOLBOXES
.PP
All routines that you develop to extend the Khoros system 
should be installed and 
maintained in a \fItoolbox\fP.  A toolbox must exist before you can run
\fBkinstall\fP.  A toolbox consists of a specific set of
files that make up the skeleton source tree.  Within this directory structure,
are files containing the rules of operation for \fBImake\fP that apply
to that toolbox.  The toolbox directory structure
mimics the $KHOROS_HOME directory structure, but can 
be created in the location of your choice.  
.PP
Why are toolboxes a good idea?   It is true that a programmer could easily 
bypass all of the tools in the Khoros system and just create specialized UIS 
pane files that \fBcantata\fP could use to access their programs.  While the
initial effort for doing this is very minimal, the results will be 
difficult to maintain and reuse. 
Thus, the purpose of using \fBkraftsman\fP, \fBkinstall\fP, and \fBImake\fP is
to create programs that can more easily be maintained and exchanged.
Toolboxes also give the developer a framework in which to easily exchange
and or contribute (or sell) their work.
.SH
GETTING STARTED
.PP
Before you create a new toolbox, make a copy of 
\(CW$KHOROS_HOME/repos/Toolboxes\fR, preferably \fBnot\fR
into the toolbox directory that you are going to create later.
Modify the environment variable that points to your new
Toolbox File.  The command
.br
\f(CW% setenv KHOROS_TOOLBOX {New Toolbox File}\fP
.br
will set the $KHOROS_TOOLBOX environment variable to your own Toolbox File.
.LP
NOTE:  Add the line above to your ".khoros_env" file, so that you do
not have to remember to type this line every time you log in.
.SH
TOOLBOX CREATION
.LP
The "CREATE TOOLBOX" function in \fBkraftsman\fP allows one to setup and create 
the skeleton toolbox directory structure and configuration files
for a user-defined toolbox.  
.PP
There are two action buttons on the Creation pane.  The "CREATE TOOLBOX" button
adds the toolbox information, specified on the pane, to the toolbox file, as
well as creating the directory structure associated with the toolbox.  The
"ADD TOOLBOX" button adds the toolbox information to the toolbox file only.
This second button will allow you to add access to other toolboxes without
requiring your own copy.
.PP
It is \fIstrongly\fP recommended that the user read the 
section on \fICompletion of Toolbox Source Configuration Manually\fP, which
explains what the user must do manually after \fBkraftsman\fP is run to make a 
toolbox functional.
.SH
TOOLBOX CONFIGURATION
.LP
The Configuration pane in \fBkraftsman\fP automates customization 
of a users toolbox.  Users can change the following items:  the Library
Directory Path, the Binary Directory Path, the list of Library Search Paths,
the list of Include Search Paths, the list of Compiler Defines, the names
of toolbox 'C' libraries that are supported by your toolbox, the Fortran
Libraries supported by the toolbox, and the X Libraries supported by your
toolbox.
.SH
TOOLBOX DESTROY
.LP
This action will pop a list of existing toolboxes that are entered in
your Toolbox File.  The toolbox that is selected will be removed out of
the toolbox file, and the toolbox directory structure is also deleted.
This function is the opposite of the "CREATE TOOLBOX" button on the
creation pane.
.SH
TOOLBOX REMOVAL
.LP
This action will pop a list of existing toolboxes that are entered in
your Toolbox File.  The toolbox that is selected will be removed from
your toolbox file only, the toolbox directory structure is left alone.
This function is the opposite of the "ADD TOOLBOX" button on the creation
pane.
