This is the README for the IBIS ICM V1.0 (BETA) parser.

License & Warranty
------------------

  This program is the IBIS ICM Parser, Version 1.0 BETA-1
  Copyright (C) 2003 Kelly C. Green <kgreen22@mindspring.com>
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
 
  This program is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  for more details.
 
  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 

See the file 'COPYING' for further the details.


To unpack files
---------------

(UNIX)
cd to a suitable directory
The kit will unpack into a subdirectory 'icmchk-1.0.0'

then, depending on the archive you want to unpack:

tar -zxf icmchk-1.0.0.tar.gz

-or-

tar -zjf icmchk-1.0.0.tar.bz2

-or-

uncompress icmchk-1.0.0.tar.Z
tar -xf icmchk-1.0.0.tar



(WINDOWS)
Move the file icmchk-1.0.0.zip to a suitable directory
and unzip it with winzip or a similar tool.

NOTE:  The ZIP archive has been thoughtfully processed to convert text 
files from UNIX <newline> to Microsoft <cr><newline> line termination 
sequences.  Otherwise, the files would be rather difficult to work with.


Building the tool
-----------------

(UNIX)

For UNIX environments, simply invoke the configuration tool, and then
'make'.  If for some reason the configure tool didn't correctly deduce
the environment, you may adjust the content of 'config.h' manually.

cd icmchk-1.0.0
./configure

You may review and adjust the content of 'config.h' if you wish, but
it should not be necessary to do so.

make

If you want to regenerate all files from the yacc and lex source as well, you
will need GNU flex and bison to do it.  However, the output of these tools
is included in the source drop, so it's not strictly necessary to do this.

If the make worked, try the regression tests, using 'make check'

Other targets exist as well.

'make install'   will install icmck1 into /usr/local/bin
'make dist'      will reconstruct the distribution archives
'make clean'     will clean up make debris
'make distclean' will remove most everything but distribution files



(WINDOWS)
The 'win' subdirectory has been pre-configured with the files and
symbolic links needed to construct the application in a windows environment.

Import the sources (all the files in the 'win/src' directory) 
into a visual C icmchk1 project, and then build icmchk1.exe as a console
based application.  That's pretty much it.

There is no difference between the files in ./win/src/ and ./src/.
The ./win/ directory is simply provided to keep things simple and obvious.
The files in ./win/test, on the other hand, are extracts from the unix test 
scripts in ./test/ and won't be found as such within ./test/

Alternative, you can install the CYGWIN tools (http://www.cygwin.com)
and build the parser exactly as you would under UNIX.  Unfortunately,
the resulting binary still requires CYGWIN to run, so this isn't a good
option for building a binary to be made available for general download.

There is not yet a batch script to execute the regression test suite,
but all of essential the test files and outputs are located within win/test


ICM v1.0 Documentation
----------------------

The IBIX ICM v1.0 specification has been included for reference purposes.

ls -1 doc
icm_ver1_0.doc
icm_ver1_0.pdf
icm_ver1_0.txt


Running the tool
----------------


icmchk1 <file-name>  



The following is the parser's entire documentation set.
 
./icmchk1 -h

IBIS ICM Version 1.0.0 parser.
 
USAGE: icmchk1 -v -s -c -h -p <file name>
       -v --> (verbose, once)   Report additional informational messages.
       -v --> (verbose, twice)  Report debug messages (caution: voluminous).
       -s --> (sort)            Sort diagnostic messages in order of line number.
       -c --> (copyright)       Display program copyright and exit.
       -h --> (help)            Display this message and exit.
       -p --> (pipe)            Read stdin pipeline instead of file.
       <file name>              The input IBIS ICM Model file.


Report Bugs Please
------------------

Have fun, but beware: there are surely bugs lurking.  If you find one,
please email me your reproducing test file, or even better, dig in and send 
me a patch too.

Kelly Green <kgreen22@mindspring.com>
