added cabal stubs for mate-common and mate;
authorHarald Steinlechner <haraldsteinlechner@gmail.com>
Fri, 18 May 2012 22:58:24 +0000 (00:58 +0200)
committerHarald Steinlechner <haraldsteinlechner@gmail.com>
Fri, 18 May 2012 22:58:24 +0000 (00:58 +0200)
.gitignore
Mate/GarbageAlloc.hs
Mate/RegisterAllocation.hs
Setup.lhs [new file with mode: 0644]
ffi/Setup.lhs [new file with mode: 0644]
ffi/mate-common.cabal [new file with mode: 0644]
ffi/src/Signals.hs [new file with mode: 0644]
mate.cabal [new file with mode: 0644]

index 56933bea1346b00ca8777fd9cc8a25341dbdd71e..6c7e29ea6ea82b769159882cd3c60b1fc9eb1361 100644 (file)
@@ -9,3 +9,4 @@ tags
 *_stub.h
 *.hi-boot
 *.o-boot
+dist
index f5b109385d14139761a6debfb19b6f0824664ae1..b0165d0b9453a3eef149ab1b2213659060e2a2ab 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE ForeignFunctionInterface #-}
 module Mate.GarbageAlloc where
 
 import Foreign
index 7162ae6b0aec743e7368f9db7fdac2c18f16e57e..7f220aabbac52570e955152691402ebc6291bfd2 100644 (file)
@@ -1,6 +1,9 @@
-#include "debug.h"
+{-# LANGUAGE CPP #-}
 module Mate.RegisterAllocation where
 
+
+#include "debug.h"
+
 import Data.List
 import Data.Maybe
 
diff --git a/Setup.lhs b/Setup.lhs
new file mode 100644 (file)
index 0000000..a630405
--- /dev/null
+++ b/Setup.lhs
@@ -0,0 +1,6 @@
+#!/usr/bin/runhaskell 
+> module Main where
+> import Distribution.Simple
+> main :: IO ()
+> main = defaultMain
+
diff --git a/ffi/Setup.lhs b/ffi/Setup.lhs
new file mode 100644 (file)
index 0000000..a630405
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/runhaskell 
+> module Main where
+> import Distribution.Simple
+> main :: IO ()
+> main = defaultMain
+
diff --git a/ffi/mate-common.cabal b/ffi/mate-common.cabal
new file mode 100644 (file)
index 0000000..ff15eae
--- /dev/null
@@ -0,0 +1,51 @@
+name: mate-common
+version: 0.0.1
+cabal-version: -any
+build-type: Simple
+license: GPL-2
+license-file: ""
+copyright:
+maintainer: lewurm@gmail.com, haraldsteinlechner@gmail.com
+build-depends: base -any, bytestring -any
+stability: none
+homepage:
+package-url:
+bug-reports:
+synopsis:
+description: Provides mostly FFI based utility functions for Mate, the glorious JVM written in Haskell
+category:
+author: Bernhard Urban, Harald Steinlechner
+tested-with:
+data-files:
+data-dir: ""
+extra-source-files:
+extra-tmp-files:
+exposed-modules: Signals
+exposed: True
+buildable: True
+build-tools:
+cpp-options:
+cc-options:
+ld-options:
+pkgconfig-depends:
+frameworks:
+c-sources:
+default-language:
+other-languages:
+default-extensions:
+other-extensions:
+extensions:
+extra-libraries:
+extra-lib-dirs:
+includes:
+install-includes:
+include-dirs:
+hs-source-dirs: src
+other-modules:
+ghc-prof-options:
+ghc-shared-options:
+ghc-options:
+hugs-options:
+nhc98-options:
+jhc-options:
+
diff --git a/ffi/src/Signals.hs b/ffi/src/Signals.hs
new file mode 100644 (file)
index 0000000..a5f72bc
--- /dev/null
@@ -0,0 +1,20 @@
+-----------------------------------------------------------------------------
+--
+-- Module      :  Signals
+-- Copyright   :
+-- License     :  BSD
+--
+-- Maintainer  :  lewurm@gmail.com, haraldsteinlechner@gmail.com
+-- Stability   :  none
+-- Portability :
+--
+-- |
+--
+-----------------------------------------------------------------------------
+
+module Signals (
+
+) where
+
+
+
diff --git a/mate.cabal b/mate.cabal
new file mode 100644 (file)
index 0000000..1c98a07
--- /dev/null
@@ -0,0 +1,108 @@
+name: mate
+version: 0.0.1
+cabal-version: -any
+build-type: Simple
+license: GPL-3
+license-file: ""
+copyright:
+maintainer: lewurm@gmail.com, haraldsteinlechner@gmail.com
+build-depends: base -any, 
+               mate-common -any, 
+               hs-java ==0.2.*,
+               bytestring -any,
+               harpy ==0.4.3.0,
+               heap -any,
+               containers -any,
+               binary -any,
+               plugins ==1.5.*,
+               MissingH ==1.1.*,
+               utf8-string -any,
+               binary-state -any
+stability:
+homepage:
+package-url:
+bug-reports:
+synopsis:
+description: MateVM is a Java JIT compiler written in Haskell, using already existing
+             libaries, namly `harpy' [1] and `hs-java' [2].
+             .
+             We use `hs-java' to parse Java Classfiles in order to get a Java Bytecode
+             representation. Afterwards we perform a basic-block analysis and generate a
+             control-flow-graph (CFG). We apply several program-analyses, transformations
+             and optimizations. Given the annotated CFG we emit native code with `harpy'
+             (i386) in an on demand manner.
+             .
+             At the moment we try to minimize effort, by focusing on essential features of
+             the JVM, e.g. no exception handling. 
+             Performance will be evaluated using a dedicated testsuite which can be handeld
+             in our limited implementation.
+             .
+             .
+             [1] http://hackage.haskell.org/package/harpy
+             [2] http://hackage.haskell.org/package/hs-java
+category:
+author: Bernhard Urban, Harald Steinlechner
+tested-with:
+data-files:
+data-dir: ""
+extra-source-files: 
+extra-tmp-files:
+exposed-modules: Mate.BasicBlocks Mate.ClassPool Mate.Debug
+                 Mate.GarbageAlloc Mate.MethodPool Mate.RegisterAllocation
+                 Mate.Strings Mate.Types Mate.Utilities Mate.X86CodeGen
+exposed: True
+buildable: True
+build-tools:
+cpp-options:
+cc-options:
+ld-options:
+pkgconfig-depends:
+frameworks:
+c-sources: 
+default-language:
+other-languages:
+default-extensions:
+other-extensions:
+extensions:
+extra-libraries:
+extra-lib-dirs:
+includes: 
+install-includes:
+include-dirs: "."
+hs-source-dirs: 
+other-modules:
+ghc-prof-options:
+ghc-shared-options:
+ghc-options: -I. -dynamic -Wall -O0 -fno-warn-unused-do-bind 
+hugs-options:
+nhc98-options:
+jhc-options:
+executable: mate
+main-is: Mate.hs
+buildable: True
+build-tools:
+cpp-options:
+cc-options:
+ld-options:
+pkgconfig-depends:
+frameworks:
+c-sources:
+default-language:
+other-languages:
+default-extensions:
+other-extensions:
+extensions:
+extra-libraries:
+extra-lib-dirs:
+includes:
+install-includes:
+include-dirs:
+hs-source-dirs: 
+other-modules:
+ghc-prof-options:
+ghc-shared-options:
+ghc-options: -I. -dynamic -Wall -O0 -fno-warn-unused-do-bind 
+hugs-options:
+nhc98-options:
+jhc-options: