IAC Instrumentation project
---------------------------

This directory ( iac_proj/instment/ ) contains all the V code, source code,
HTML documentation, and installation information for the Instrumentation IAC
project.

The directory should be placed into your existing project directory, which
should already contain the IAC Project File structure, i.e., the iac_proj/,
iac_lib/ and v/ directories.

The file INSTALL contains information on how to edit the existing IAC
files: a single line addition to the iac_proj/iac_proj.v file, to add the
new Instrumentation project, and additions to two files in the iac_lib/
directory, to link appropriate objects to the top-level IAC library page.

Once the files have been correctly installed, the low-level modules of the new
project may be compiled. If you opt to leave the process unspecified, it will
by default use the "express" process. Doing so means the module may be
compiled by using one of the following commands in the top-level directory of
your project (whilst AVS/Express is not running):

	base -comp_proc express -exit
or
	make -f express.mk

	Using the 'make' command, requires that the express.mk file already
exists, and has been updated accordingly.

        The modules in this project only work in the express process, because
of the access the need to system resources and the OM.

You can build the modules from the VCP, to compile the module:

	$compile IAC_PROJ.Instrumentation.InstrumentationMods

	Users of the Developer's Edition may select the module in the 
relevant Templates library, and choose 'compile' from the Project menu.



Files
-----

The following files can be found in the iac_proj/instment/ directory.

install        Contains installation instructions for editing the iac_proj.v
               and iac_lib/ misc.v and examples.v files. This file should
               not be edited as the future installation script will use this
               file.

instment.v     Creates the IAC_PROJ.Instrumentation library.

imods.v        Creates the InstrumentationMods library that contains the low-level
               modules usage, gtrace, prvcp and obj_stats and the parameter block
               instr_params.

imacs.v        Creates the InstrumentationMacs library that contains the high-level
               macros for the Instrumentation library.  This library includes the
               following files.

time_act.v     Macros for recording the time between a trigger event and the end of
               processing.
time_oo.v      Macros for recording the time between two trigger events.
objstats.v     Macros for generating a count of all objects at parents level.
gverbose.v     Macros for temporarily turning on "Verbose Functions", data is reported
               at the VCP command prompt.
gtrace.v       Macros for temporarily turning on "ARR Trace Enable", data is reported
               at the VCP command prompt.


iapps.v        Creates the InstrumentationApps library containing the InstrumentationEg1
               and InstrumentationEg2 example applications.

obj_stats.cxx  C++ source for the obj_stats module.

prvcp.cxx      C++ source for the prvcp module.

usage.cxx      C++ source for the usage module.

gtrace.cxx     C++ source for the gtrace module.

instment.html  HTML documentation for the Instrumentation project.

readme         This file.


Generated Files
---------------

When the project is compiled, the following files will be generated. Once
completed, you may safely remove these files; any future recompilations
will regenerate these files.

gen.hxx         AVS/Express generated header file.

gen.cxx	        AVS/Express generated source code.

obj_stats.o(bj) Intermediate object file.
prvcp.o(bj)
usage.o(bj)
gtrace.o(bj)

