splint 3.1.1 for OS/2
=====================

This file is originally part of the binary distribution of splint for OS/2.

Contents:
---------

 Differences to the Unix versions
 Installation
 Bugs and known problems
 Where to get
 History
 Afterword


Differences to the Unix versions:
---------------------------------

1. splint searches for the initialization file in the current directory 
   and additionally in the directory pointed to by the environment 
   variable "HOME" if set. 

2. For path specifications "\" can be used instead of "/". In most
   cases any of both, even in combination are fine.

3. splint/2 will use the value of the environment variable TMP (if not set
   TEMP) for creating and reading temporary files if possible. Else the
   current directory is used.


Installation:
-------------

For installing splint there are four steps necessary:

1. Place the executable file splint.exe in some directory in your PATH.
2. Install all that's in the "imports" and "lib" subdirectories somewhere
   you like it. You will need a HPFS drive to install these files.
3. Set the environment variable LARCH_PATH to the `lib' subdir in the 
   main splint directory, like:
     set LARCH_PATH=d:\software\splint-3.0.0.16\lib
   Then set LCLIMPORTDIR to the `imports' subdir in the main splint
   directory, like:
     set LCLIMPORTDIR=d:\software\splint-3.0.0.16\imports
   You may want to add these statements to your your config.sys file 
   as soon as you've got the software working. 
4. If you want to use some standard settings different from what's built
   in edit and place the configuration file `.splintrc' somewhere splint 
   can find it. This is the directory pointed to by the HOME environment
   variable if set or else the directory containing the executable file.
   It seems a good idea to put all global stuff into that file and all
   project dependent information into another `.splintrc' in the directory
   containing the sources to be checked by splint. splint will first
   read the global and then the local `.splintrc'.

For building splint you will need the complete sources package. Untar that
file. You need HPFS to compile the package because there are plenty of 
files with long filenames. Refer to the file BUILD.OS2 for further 
instructions. 


Bugs and known problems:
------------------------

There are a few things that still do not work properly. As splint was
originally developed on and for Unix systems e.g. path names differ.
Currently all paths specified in the command line have to contain
backslashes rather than slashes which will be quite normal for people
with no Unix background anyway. Also not all tests work well yet, at
the moment only the "quicktest" with a few changes is available.


Where to get:
-------------

In any case future versions of splint for OS/2 will be available from the
splint homepage at:
 - http://splint.cs.virginia.edu/

I will try to upload the file to at least the following sites (the file 
should be located somewhere in the OS2/DEVELOP areas):
 - ftp.cdrom.com
 - ftp.hobbes.nmsu.edu
 - ftp.leo.org
I always put any fixes (even unofficial ones) to my private ftp directory
at:
 - ftp.fh-wedel.de/pub/fh-wedel/staff/herbert/splint


History:
--------

The following things specific to the OS/2 version of splint have changed / 
fixed since the first official release:

version 3.1.1
- Set the default system directory to `/os2/'.
- Bugfixes.

version 3.0.0.16:
- Finally fully united the OS/2 port with the main source tree.
- Bugfixes.

version 3.0.0.14:
- first OS/2 version of the current alpha.
- changed the name of the initialization file to `.splintrc'.

version 2.5m:
- only some fixes mostly derived from the Win32 port.

version 2.4b:
- First official OS/2 release.
- Switched from IBM's CSet++ 2.01 to VisualAge C++ 3.0.

version 2.3i:
- Due to my mistake the "HOME" environment variable was ignored even if it 
  was set.

version 2.3h:
- IBM's CSet++ is now used as default compiler instead of emx/gcc.
- splint compiled as a.out binary using emx/gcc now runs fine under DOS.
- In the previous release some temporary files did not get removed properly.
- Sometimes splint delivered the names of temporary files rather than the
  original source files when reporting errors.
- Sometimes include files were not found.


Due to the differences between Unix and OS/2 (file-I/O, standard directory
structures etc.) there are still some more to expect!


Afterword:
----------

I have not yet fully ported Makfiles / scripts for a full-featured test
suite. The simple Makefile.os2 in the test/ directory allows checking
the C sources belonging to the suite and looking at the output (or 
directing it to a file using "make -f Makefile.os2 >test.log 2>&1" or
something similar. 

After having used splint/2 on a few projects now I may say it has got 
more reliable. Still I do not know enough about it yet to be able to do  
more sophisticated testing than just using it for my sources or running
the (simplified) test suite. If you run across any OS/2-specific problems 
write me an email -- I will *try* to fix it. But, please, do not forget 
that I am *not* the author of splint!

My eMail address is `herbert@spamcop.net'. The first time you write me 
you'll get an automatically generated mail asking for confirmation. I
regret to need this measure, previous addresses were spammed unusable,
you know the story.

Have fun!

Martin "Herbert" Dietze

