README 1.65 KB
Newer Older
Götz Lindenmaier's avatar
Götz Lindenmaier committed
1

Götz Lindenmaier's avatar
Götz Lindenmaier committed
2
3
This is a library implementing the intermediate representation FIRM
developed at IPD Goos, Uni Karlsruhe.
Götz Lindenmaier's avatar
Götz Lindenmaier committed
4

Götz Lindenmaier's avatar
Götz Lindenmaier committed
5
6
7
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
Boris Boesler's avatar
Boris Boesler committed
8
creates a file libfirm.a
Götz Lindenmaier's avatar
Götz Lindenmaier committed
9

Götz Lindenmaier's avatar
Götz Lindenmaier committed
10
11
To test the library goto ./<arch>/testprograms and call 'make test'
there.
Götz Lindenmaier's avatar
Götz Lindenmaier committed
12

Götz Lindenmaier's avatar
Götz Lindenmaier committed
13
14
15
16
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.
Götz Lindenmaier's avatar
Götz Lindenmaier committed
17
18

To generate FIRM code from a compiler frontend read the documentation
Götz Lindenmaier's avatar
Götz Lindenmaier committed
19
20
21
"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.
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44



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.