packages feed

harpy-0.4: harpy.cabal

Cabal-version:  >=1.2
Name:           harpy
Version:        0.4
License:        GPL
License-file:   COPYING
Author:         Dirk Kleeblatt <klee@cs.tu-berlin.de>
                Martin Grabmueller <magr@cs.tu-berlin.de>
Maintainer:     klee@cs.tu-berlin.de, magr@cs.tu-berlin.de
Homepage:       http://uebb.cs.tu-berlin.de/harpy/
Category:       Code Generation
Synopsis:       Runtime code generation for x86 machine code
Description:	The package contains the following components:
	.
	* An x86 assembler.  We provide both low-level code generation in
	  module "Harpy.X86CodeGen" as well as a (slightly) higher-level
	  implementation in module "Harpy.X86Assembler", which figures out
	  addressing modes based on an instruction's operand types.
	.
	* An x86 disassembler which knows most of the opcodes available on
	  modern x86 processors and can display its output both in the style
	  used in Intel documents an in AT&T style, like the GNU tools. The
	  disassmbler can be found in module "Harpy.X86Disassembler".
	.
	* Some abstractions over the abovementioned code generation modules,
	  such as automatic label management and code generation
	  combinators (for if-then-else statements, while-loops, functions)
	  (module "Harpy.X86CGCombinators").
	.
	* All the above modules use the code generation monad defined in module
	  "Harpy.CodeGenMonad".
        .
        * The Darcs repo and two tutorials on using Harpy can be found at
          Harpy's homepage: <http://uebb.cs.tu-berlin.de/harpy/>
Stability:      Experimental

Extra-source-files: 
    NEWS README Makefile
    doc/Makefile doc/tutorial.lhs doc/larger-tutorial.lhs
    examples/evaluator/ArithTypes.hs examples/evaluator/ArithParser.hs
    examples/evaluator/Evaluator.hs

Flag small_base
  Description: Choose the new smaller, split-up base package.

Library
  if flag(small_base)
    Build-depends:  base >= 3,parsec,mtl,template-haskell,pretty,containers,array
  else
    Build-Depends: base < 3,parsec,mtl,template-haskell
  Exposed-Modules:
    Harpy,
    Harpy.X86CodeGen,
    Harpy.X86Assembler,
    Harpy.CodeGenMonad,
    Harpy.Call,
    Harpy.X86Disassembler,
    Harpy.X86CGCombinators
  Extensions: 
    ForeignFunctionInterface, MultiParamTypeClasses, 
    TemplateHaskell, CPP, FlexibleContexts, FlexibleInstances,
    RankNTypes
  Ghc-options: -O2