codegen: handle exceptions of a method
[mate.git] / mate.cabal
1 name: mate
2 version: 0.0.2
3 cabal-version: -any
4 build-type: Simple
5 license: GPL-3
6 license-file: ""
7 copyright:
8 maintainer: lewurm@gmail.com, haraldsteinlechner@gmail.com
9 build-depends: base -any, 
10                hs-java ==0.3.3,
11                bytestring -any,
12                harpy == 0.5.0.0,
13                heap -any,
14                containers -any,
15                directory -any,
16                binary -any,
17                plugins ==1.5.*,
18                MissingH ==1.1.*,
19                utf8-string -any,
20                binary-state -any,
21                split -any
22 stability:
23 homepage:
24 package-url:
25 bug-reports:
26 synopsis:
27 description: MateVM is a Java JIT compiler written in Haskell, using already existing
28              libaries, namly `harpy' [1] and `hs-java' [2].
29              .
30              We use `hs-java' to parse Java Classfiles in order to get a Java Bytecode
31              representation. Afterwards we perform a basic-block analysis and generate a
32              control-flow-graph (CFG). We apply several program-analyses, transformations
33              and optimizations. Given the annotated CFG we emit native code with `harpy'
34              (i386) in an on demand manner.
35              .
36              At the moment we try to minimize effort, by focusing on essential features of
37              the JVM, e.g. no exception handling. 
38              Performance will be evaluated using a dedicated testsuite which can be handeld
39              in our limited implementation.
40              .
41              .
42              [1] http://hackage.haskell.org/package/harpy
43              [2] http://hackage.haskell.org/package/hs-java
44 category:
45 author: Bernhard Urban, Harald Steinlechner
46 tested-with:
47 data-files:
48 data-dir: ""
49 extra-source-files: 
50 extra-tmp-files:
51 exposed-modules: Mate.BasicBlocks Mate.ClassPool Mate.Debug
52                  Mate.GarbageAlloc Mate.MethodPool Mate.RegisterAllocation
53                  Mate.Strings Mate.Types Mate.Utilities Mate.X86CodeGen
54 exposed: True
55 buildable: True
56 build-tools:
57 cpp-options:
58 cc-options:
59 ld-options:
60 pkgconfig-depends:
61 frameworks:
62 c-sources: 
63 default-language:
64 other-languages:
65 default-extensions:
66 other-extensions:
67 extensions:
68 extra-libraries:
69 extra-lib-dirs:
70 includes: 
71 install-includes: 
72 include-dirs: "."
73 hs-source-dirs: 
74 other-modules:
75 ghc-prof-options:
76 ghc-shared-options:
77 ghc-options:  -dynamic -Wall -O0 -fno-warn-unused-do-bind 
78 hugs-options:
79 nhc98-options:
80 jhc-options:
81  
82 executable: mate
83 main-is: Mate.hs
84 buildable: True
85 build-tools:
86 cpp-options:
87 cc-options:
88 ld-options:
89 pkgconfig-depends:
90 frameworks:
91 c-sources: ffi/trap.c ffi/native.c
92 default-language:
93 other-languages:
94 default-extensions:
95 other-extensions:
96 extensions:
97 extra-libraries:
98 extra-lib-dirs:
99 includes:
100 install-includes:
101 include-dirs: "."
102 hs-source-dirs: 
103 other-modules:
104 ghc-prof-options:
105 ghc-shared-options:
106 ghc-options:  -dynamic -Wall -O0 -fno-warn-unused-do-bind 
107 hugs-options:
108 nhc98-options:
109 jhc-options:
110
111 -- some todos
112 -- o atm it's building twice.  why?
113 -- o although `cabal install' copies the binary, the java boot class files arn't copied.
114 -- o fill it with more information (e.g. stability)