-This is a library implementing the intermediate representation
-FIRM developed at IPD Goos, Uni Karlsruhe.
+This is a library implementing the intermediate representation FIRM
+developed at IPD Goos, Uni Karlsruhe.
-Create an architecture dependent directory (eg 'mkdir i686-linux') an cd
-to it. Call ../configure with wanted features (see ../configure --help
-for more hints). Call 'make depend; make' to construct the library. This
+Create an architecture dependent directory (eg 'mkdir i686-linux') an
+cd to it. Call ../configure with wanted features (see ../configure
+--help for more hints). Call 'make' to construct the library. This
creates a file libfirm.a
-To test the library goto ./testprograms and make and run the
-test examples placed there:
+To test the library goto ./<arch>/testprograms and call 'make test'
+there.
-make depend; make
-cd testprograms
-make
-make run
+If you have set up the include and libdir using configure you can
+install the library and its headers by 'make install'. This is
+encouraged if the library is hooked up to any other modules, e.g., a
+front end.
-if you have set up the include and libdir using configure you can install
-the library and its headers by 'make install'
-
-For more documentation see /include/firm.h.
To generate FIRM code from a compiler frontend read the documentation
-in ./include/ircons.h.
-About Firm you can learn in UKA tech-report 1999-44.
+"libFIRM: A Library for Compiler Optimization Reaserch Implementing
+Firm", UKA tech-report 2002-5. About Firm you can learn in UKA
+tech-report 1999-14.
+
+
+
+You can generate a Java Native Interface for the library. For this
+configure libfirm with --enable-firmjni and give the path to
+the jni headers, e.g.
+--with-includedir=/usr/public2/java/jdk1.3.1-sun/include/:/usr/
+ public2/java/jdk1.3.1-sun/include/linux/.
+Then go to ./<arch>/firmjni and call make. To test the native
+interface go on to testprograms and call make test.
+
+
+If you are using the library for heap analysis with libfirm you
+have to configure libfirm with --enable-heapanalysis. If you
+use the heap analysis through the java native interface you
+must in addition give the paths to the heap analysis installation:
+--with-includedir=<path where you find heapanal/heapanal.h>
+--with-libdir=<path where you find libheapanal.a>
+
+
+
+You can also give the paths by setting environment variables
+CPPFLAGS and LDFLAGS before configuring.