Jlint 3.1 README
----------------

Description:
------------
Jlint will check your Java code and find bugs, inconsistencies and
synchronization problems by doing data flow analysis and building a
lock graph.

Original version (1.11) by Konstantin Knizhnik.

Enhanced version (2.0) and a few bugfixes by Cyrille Artho.

Versions 2.1 and newer: FreeBSD port by Cyrille Artho; Visual C++
port by Maarten Breddels; compatibility patch for older compilers by
Eric A. Raymond; OpenBSD patch by Kevin Lo. LinuxPPC and MacOS X port
(both trivial) by Cyrille Artho.

Version 3.0: works with java 1.4, added test framework by Raphael 
Ackermann; Support for compressed zip/jar files by Mark Wutka; Patch for 
class_desc.cc by Jeroen Mostert

Version 3.1: Added minor patch to fix compilation issues with g++ 3.2
and newer.

Version 3.1.X: Other patches to address compilation on newer compilers.
Patch for version 3.1.2 contributed by Paul Roemer, tested on g++ 4.2.

Usage:
------
User guide is found in manual.html.

Installation:
------------
- System requirements:
For compiling:	C++ compiler, C++ Standard Library with Standard Templates.
For compiling the docs: Texinfo; type "make doc".
For using:	Any Java compiler (no Java Run Time Environment needed).
Recommended:	A Unix shell (e. g. bash) to run jlint.sh.

- Installation:
1. Unpack the archive with unzip jlint.zip (MS-DOS) or
   gunzip -c jlint.tar.gz | tar -xvf -
2. cd jlint
3. make ; make install

Compilation problems:
---------------------
If Jlint won't compile for your system, remove the flag -DSLIST in the
Makefile, or upgrade to a newer version of the STL.

- Windows users:

To have .cc files be recognized as C++ source code, check out
http://support.microsoft.com/support/kb/articles/Q181/5/06.ASP

- MacOS X users (old versions of MacOS X):

In the first few lines of the Makefile (lines 6 and 7), replace
gcc with cc, and g++ with c++. Alternatively, you can create a symbolic link
for the compiler executables.

- Creating a new Makefile:

You can update the Makefile by typing
./mkmf.pl jlint antic readme <Makefile >__tmp__ ; mv __tmp__ Makefile

- Supported platforms:

Jlint is known to work with recent versions of Linux, Solaris, FreeBSD,
OpenBSD, Windows. There is no user support available, though, as this
program is not commercial.

Bugs:
-----
Send bug reports to cyrille (at) artho.com, Subject: Jlint.

Acknowledgements:
-----------------
Thanks to all the people mentioned above.
Thanks to Eric A. Raymond for his help with compiler compatibility problems.
Special thanks to Ernst de Haan for providing a FreeBSD account for testing.
