Jlint 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.
Version 2.1: FreeBSD port by Cyrille Artho, Visual C++ port by Maarten Braddels.

Usage:
------
User guide is found in readme.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 flags -DHASH_TABLE and
-DSLIST in the Makefile, or upgrade to a newer version of the STL.

- Egcs users:

People with an old compiler (e.g., egcs 2.91 on RedHat GNU/Linux 6.x)
should comment out two lines (thanks to Eric A. Raymond for this patch):

jlint.cc
Line
57  // Commented out by EAR to compile on Linux
58  //message_node* message_node::hash_table[1023];

message_node.cc
3  // Commented out extern by EAR to compile on Linux
4  /* extern */ message_node* message_node::hash_table[1023];

- 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

- Creating a new Makefile:

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

Bugs:
-----
Send bug reports to cyrille@artho.com, Subject: Jlint.

Acknowledgements:
-----------------
Thanks to all the people mentioned above.
Special thanks to Ernst de Haan for providing a FreeBSD account for testing.
