packages feed

Hoed-0.2.0: Hoed.cabal

name:                Hoed
version:             0.2.0
synopsis:            Lighweight algorithmic debugging based on observing intermediate values and the cost centre stack.
-- description:         TODO
homepage:            http://maartenfaddegon.nl
license:             BSD3
license-file:        LICENSE
author:              Maarten Faddegon
maintainer:          hoed@maartenfaddegon.nl
copyright:           (c) 2000 Andy Gill, (c) 2010 University of Kansas, (c) 2013-2014 Maarten Faddegon
category:            Debug, Trace
build-type:          Simple
cabal-version:       >=1.10

flag buildExamples
  description: Build example executables.
  default: False

flag validate
  description: Build validation executables.
  default: False


library
  exposed-modules:     Debug.Hoed
  other-modules:       Debug.Hoed.Observe
                       , Debug.Hoed.Render
                       , Debug.Hoed.DemoGUI
  build-depends:       base >=4.6 && <5
                       , template-haskell
                       , array, containers
                       , process
                       , threepenny-gui
                       , filepath
                       , libgraph == 1.4
                       , RBTree == 0.0.5
                       , regex-posix
                       , mtl
                       , directory
  default-language:    Haskell2010
  ghc-options:         -O0



---------------------------------------------------------------------------
--
-- A list of example-programs that bind to a debugging session after the
-- program terminates. After running 'cabal build' these are available to 
-- experiment with through 'sh run'.
--
---------------------------------------------------------------------------


Executable hoed-examples-Foldl
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Foldl.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-HeadOnEmpty1
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             HeadOnEmpty.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-HeadOnEmpty2
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             HeadOnEmpty2.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

-- Executable hoed-examples-IOException
--   build-depends:       base >= 4 && < 5
--                        , Hoed
--                        , threepenny-gui
--                        , filepath
--                        , hood
--   main-is:             IOException.hs
--   hs-source-dirs:      examples
--   default-language:    Haskell2010
--   ghc-options:         -O0

Executable hoed-examples-IndirectRecursion
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             IndirectRecursion.lhs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Pretty
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , array
  else
    buildable: False
  main-is:             Pretty.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Example1
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example1.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

-- Executable hoed-examples-Example2
--   build-depends:       base >= 4 && < 5
--                        , Hoed
--                        , threepenny-gui
--                        , filepath
--   main-is:             Example2.hs
--   hs-source-dirs:      examples
--   default-language:    Haskell2010

Executable hoed-examples-Example3
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example3.lhs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Example4
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example4.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Insort1
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Insort.lhs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Insort2
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Insort2.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-DoublingServer1
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-DoublingServer2
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer2.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-DoublingServer3
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer3.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-DoublingServer4
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer4.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-DoublingServer5
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer5.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Hashmap
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , array
  else
    buildable: False
  main-is:             Hashmap.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-Responsibility
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , array
  else
    buildable: False
  main-is:             Responsibility.lhs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-TightRope1
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             TightRope.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-TightRope2
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             TightRope2.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-TightRope3
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             TightRope3.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-examples-AskName
  if flag(buildExamples)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             AskName.hs
  hs-source-dirs:      examples
  default-language:    Haskell2010
  ghc-options:         -O0

---------------------------------------------------------------------------
--
-- A set of tests that instead of binding to a debugging session write the
-- resulting computation graph to file. Reference files are included in
-- this repository. To validate execute 'sh test'.
--
---------------------------------------------------------------------------

Executable hoed-tests-DoublingServer
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
                         , network
  else
    buildable: False
  main-is:             DoublingServer.hs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-tests-Insort2
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Insort2.hs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-tests-Example1
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example1.hs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-tests-Example3
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example3.lhs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-tests-Example4
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             Example4.hs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0

Executable hoed-tests-IndirectRecursion
  if flag(validate)
    build-depends:       base >= 4 && < 5
                         , Hoed
                         , threepenny-gui
                         , filepath
  else
    buildable: False
  main-is:             IndirectRecursion.lhs
  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -O0