packages feed

lhc-0.10: lhc.cabal

cabal-version:       >= 1.6
name:                lhc
version:             0.10
synopsis:            LHC Haskell Compiler
description:
  lhc is a haskell compiler which aims to produce the most efficient programs possible via whole
  program analysis and other optimizations.
Tested-With:         GHC == 6.12.2
category:            Compiler
license:             PublicDomain
author:              David Himmelstrup, Austin Seipp
maintainer:          lhc@projects.haskell.org
homepage:            http://lhc.seize.it/
build-type:          Custom
extra-source-files:
  lib/base/base.cabal
  lib/base/includes/CTypes.h
  lib/base/includes/ieee-flpt.h
  lib/base/includes/Typeable.h
  lib/base/LICENSE
  lib/base/Setup.hs
  lib/base/src/Control/Exception/*.hs
  lib/base/src/Control/*.hs
  lib/base/src/Control/Monad/*.hs
  lib/base/src/Control/Monad/ST/*.hs
  lib/base/src/Data/*.hs
  lib/base/src/Data/STRef/*.hs
  lib/base/src/Data/*.hs-boot
  lib/base/src/Foreign/C/*.hsc
  lib/base/src/Foreign/C/*.hs
  lib/base/src/Foreign/*.hs
  lib/base/src/Foreign/Marshal/*.hs
  lib/base/src/Debug/*.hs
  lib/base/src/*.hs
  lib/base/src/GHC/*.lhs
  lib/base/src/GHC/*.lhs-boot
  lib/base/src/GHC/*.hs
  lib/base/src/GHC/*.hs-boot
  lib/base/src/GHC/IO/*.hs
  lib/base/src/GHC/IO/*.hs-boot
  lib/base/src/GHC/IO/Encoding/*.hs
  lib/base/src/GHC/IO/Encoding/CodePage/*.hs
  lib/base/src/GHC/IO/Handle/*.hs
  lib/base/src/GHC/IO/Handle/*.hs-boot
  
  lib/base/src/System/*.hs
  lib/base/src/System/Console/*.hs
  lib/base/src/System/Mem/*.hs
  lib/base/src/System/IO/*.hs
  lib/base/src/System/Posix/*.hs
  lib/base/src/Text/ParserCombinators/*.hs
  lib/base/src/Text/*.hs
  lib/base/src/Text/Read/*.hs
  lib/base/src/Text/Show/*.hs
  lib/base/src/Unsafe/*.hs
  lib/ghc-prim/GHC/*.hs
  lib/ghc-prim/ghc-prim.cabal
  lib/ghc-prim/LICENSE
  lib/ghc-prim/Setup.hs
  lib/integer-ltm/integer.cabal
  lib/integer-ltm/LICENSE
  lib/integer-ltm/Setup.hs
  lib/integer-ltm/src/GHC/Integer.hs
  lib/integer-ltm/src/GHC/Integer/Ltm.hs
  lib/integer-ltm/src/GHC/Integer/Type.hs

  tests/1_io/basic/*.hs
  tests/1_io/basic/*.args
  tests/1_io/basic/*.expected.stdout
  tests/1_io/basic/*.stdin

  tests/2_language/*.hs
  tests/2_language/*.expected.stdout

  tests/3_shootout/*.hs
  tests/3_shootout/*.args
  tests/3_shootout/*.expected.stdout
  tests/3_shootout/*.mustfail
  tests/3_shootout/*.stdin

  tests/9_nofib/*.hs
  tests/9_nofib/*.expected.stdout
  tests/9_nofib/spectral/calendar/*.hs
  tests/9_nofib/spectral/calendar/*.expected.stdout
  tests/9_nofib/spectral/calendar/*.args
  tests/9_nofib/spectral/primes/*.hs
  tests/9_nofib/spectral/primes/*.expected.stdout

  tests/bugs/*.hs
  tests/bugs/*.expected.stdout
  tests/bugs/*.mustfail
  tests/bugs/*.args

data-files:
  rts/rts.ll
  rts/rts.c
  rts/ltm/*.c
  rts/ltm/*.h


flag hpc
  default:            False
flag threaded
  default:            False
flag lhc-regress
  default:            False
flag lhc-pkg
  default:            True

flag with-libs
  default:            False

Executable lhc
 main-is:            GhcMain.hs
 Hs-Source-Dirs:     src
 ghc-prof-options:   -auto-all
 build-depends:      base >= 4 && < 5, mtl, bytestring, containers, ansi-wl-pprint, binary,
                     digest, bytestring-trie, core >=0.5, filepath, directory,
                     derive, unix, xhtml, pretty, time,
                     parallel

 other-modules:      Paths_lhc, LhcMain, CompactString, Traverse, Setup,
                     Grin.Eval.Compile, Grin.Eval.Methods, Grin.Eval.Primitives,
                     Grin.Eval.Types, Grin.FromCore, Grin.HPT.Environment,
                     Grin.HPT.Lower, Grin.HPT.Solve, Grin.HPT, Grin.HPT.Interface,
                     Grin.HPT.FastSolve,
                     Grin.HPT.QuickSolve,
                     Grin.Lowering.Apply,
                     Grin.Lowering.GHCism, Grin.Optimize.Simple, Grin.Pretty,
                     Grin.Optimize.Inline,
                     Grin.Optimize.Case,
                     Grin.Transform,
                     Grin.PreciseDeadCode, Grin.DeadCode,
                     Grin.SimpleCore.DeadCode, Grin.SimpleCore.Types,
                     Grin.SimpleCore, Grin.Types, Manager, Grin.Stage2.Rename,
                     Grin.Stage2.DeadCode,
                     Grin.Stage2.Pretty,
                     Grin.Stage2.Transform,
                     Grin.Stage2.Types,
                     Grin.Stage2.Optimize.Case,
                     Grin.Stage2.Optimize.Simple,
                     Grin.Stage2.Backend.C,
                     Grin.Stage2.Backend.LLVM,
                     Grin.Stage2.FromStage1,
                     HashMap,
                     HashSet

 ghc-options:        -fwarn-unused-imports -fwarn-unused-binds -fwarn-incomplete-patterns
 Extensions:         ScopedTypeVariables
 if flag(with-libs)
   x-build-libs:     True
 else
   x-build-libs:     False
 if flag(hpc)
  ghc-options:       -fhpc -hisuf hpc_hi -osuf hpc_o
 if flag(threaded)
  ghc-options:       -threaded
 if impl(ghc == 6.12.*) && arch(x86_64)
  buildable:         True
 else
  buildable:         False

Executable lhc-regress
  if flag(lhc-regress) && impl(ghc == 6.12.*) && arch(x86_64)
    Buildable:      True
  else
    Buildable:      False
  main-is:          Main.hs
  other-modules:    UnitTests, Properties
  hs-source-dirs:   lhc-regress/ src/ tests/
  build-depends:    base >= 4 && < 5, process, extensible-exceptions, HUnit, QuickCheck, test-framework,
                    test-framework-hunit, test-framework-quickcheck

Executable lhc-pkg
  if flag(lhc-pkg) && impl(ghc == 6.12.*) && arch(x86_64)
    Buildable:      True
  else
    Buildable:      False
  hs-source-dirs: lhc-pkg/
  main-is: Main.hs
  Extensions: CPP, ForeignFunctionInterface
  Other-modules: Paths_lhc

  Build-Depends: base >= 4 && < 5, directory, process, pretty, haskell98, filepath, Cabal
  if !os(windows)
      Build-Depends: unix