
==============================================================================
				TclIR - Version 0.9
  Copyright (c) 1995-1996 Johns Hopkins University Applied Physics Laboratory

   This software is licensed under the GNU library general public license.
  Please see the LICENSE file included in this package for more information.
==============================================================================

TclIR adds the capability for Tcl scripts to make CORBA calls through
CORBA's Dynamic Invocation Interface with the help of the CORBA
Interface Repository.  TclIR currently uses version 1.3 of the Orbix
CORBA client library for making CORBA calls.  It should be fairly
straightforward to modify it to work with other ORBs.  It should also
be possible to modify it so that it speaks only CORBA IIOP using Sun's
free IIOP implementation.  We have no plans to do so, however.

TclIR is written entirely in C++ and adds one new command (orbRequest)
to Tcl.  This command also has some common aliases to increase the
readability of Tcl scripts using TclIR.

TclIR differs from TclDii in that TclIR does not require the user to
enter typecodes for each parameter passed to the ORB.  It does this by
using the CORBA Interface Repository to query type information about object
interfaces.  Therefore, you must install all interfaces of objects you
wish to use with TclIR in the CORBA Interface Repository.  In Orbix, use
the -R switch to the IDL compiler to do this.

Documentation and Examples
--------------------------

Documentation is currently only in ASCII and is probably not that great.
It is located in the DOC file.

There is a simple example that has the same functionality as the Orbix
grid client demo that comes with Orbix 1.3.  Follow the instructions in
grid.tcl to run this demo.

Installing TclIR
----------------

The next release of TclIR will contain a standard configure script.  Until
then you will need to edit the Makefile and specify all of the paths to 
tcl and Orbix.  Follow the steps below:

1. Edit the Makefile and specify the paths to your installed version of
   tcl and Orbix.  You can also change your compiler, compiler switches,
   and optionally enable itcl namespace support.

2. Type "make".  This should build the orbsh executable.  If you get errors
   double check the Makefile and make sure all the paths are correct.

3. Run the grid example to verify that orbsh is functioning properly.
   You should look at grid.tcl for information on how to run the grid
   example.

4. Type "make install".  To install it in the location specified in the
   Makefile

TclIR has currently only been tested on SPARCstations running Solaris
2.4 with OrbixMT 1.3.4.  I do not know how well it will function on
other platforms.  The code should be fairly portable as far as library
calls are concerned.  However, it does make a number of assumptions
about structure alignment which may not be portable (Though I suspect
it should work on most modern Unix systems).  If you are passing
structures with TclIR and they are garbled when they arrive at the
server then you will need to modify TclIR for your platform.

Feedback
--------

Please send all feedback concerning TclIR to tclir-bugs@washington.jhuapl.edu.
I do not have a lot of time to support this package, but will try to fix
major bugs and add all of the features in the current TODO list by the end 
of May, 1996.

I am also interested to know how people are using TclIR.  If you like this
package and use it on regular basis, please drop me a line and let me know
how you are using TclIR.

Thanks.

George
--
George Scott
Johns Hopkins University / Applied Physics Laboratory
George.Scott@jhuapl.edu

