cabal-version:  2.2
name:           emhell
Synopsis:       Embedded shell
Description:    Tooling for register exploration using SVD files and GDB-MI or OpenOCD backends
category:       Embedded
version:        0.1.1.0
license:        BSD-3-Clause
license-file:   LICENSE
author:         sorki <srk@48.io>
maintainer:     sorki <srk@48.io>
stability:      provisional
homepage:       https://github.com/DistRap/emhell
bug-reports:    https://github.com/DistRap/emhell/issues
copyright:      (c) 2020 sorki <srk@48.io>
build-type:     Simple
extra-source-files:
    LICENSE
    README.md

extra-doc-files:
    CHANGELOG.md

source-repository head
  type: git
  location: git://github.com/DistRap/emhell.git

flag hgdb
  default:
    False
  description:
    Build hgdb

library
  build-depends:      base >= 4 && < 5
                    , attoparsec
                    , data-svd
                    , haskeline
                    , lens
                    , optparse-applicative
                    , prettyprinter
                    , prettyprinter-ansi-terminal
                    , text
                    , unix
  exposed-modules:    EmHell
                    , EmHell.Options
                    , EmHell.Parsers
                    , EmHell.SigintHandler
                    , EmHell.SVD.Completion
                    , EmHell.SVD.Query
                    , EmHell.SVD.Manipulation
                    , EmHell.SVD.Selector

  hs-source-dirs:     src
  ghc-options:        -Wall
  default-language:   Haskell2010

-- to ghci use cabal new-repl exe:emhell
executable emhell
  ghc-options:        -Wall -Wunused-packages
  hs-source-dirs:     emhell
  main-is:            Main.hs
  build-depends:      base >= 4 && < 5
                    , emhell
                    , repline >= 0.4.0.0 && < 0.5
                    , data-svd >= 0.1.1
                    , optparse-applicative
                    , prettyprinter
                    , prettyprinter-ansi-terminal
                    , text
                    , transformers
  default-language:   Haskell2010

-- to ghci use cabal new-repl exe:hgdb
executable hgdb
  if !flag(hgdb)
    buildable: False
  ghc-options:        -Wall -Wunused-packages
  hs-source-dirs:     hgdb
  main-is:            Main.hs
  other-modules:      Options

  build-depends:      base >= 4 && < 5
                    , emhell
                    , hgdbmi >= 0.3
                    , repline >= 0.4.0.0 && < 0.5
                    , data-default-class
                    , data-svd
                    , directory
                    , optparse-applicative
                    , prettyprinter
                    , prettyprinter-ansi-terminal
                    , text
                    , transformers
  default-language:   Haskell2010

-- to ghci use cabal new-repl exe:hocd
executable hocd
  ghc-options:        -Wall -Wunused-packages
  hs-source-dirs:     hocd
  main-is:            Main.hs
  build-depends:      base >= 4 && < 5
                    , emhell
                    , bytestring
                    , hocd >= 0.1.2.0
                    , repline >= 0.4.0.0 && < 0.5
                    , data-default-class
                    , data-svd
                    , optparse-applicative
                    , prettyprinter
                    , prettyprinter-ansi-terminal
                    , text
                    , transformers
  default-language:   Haskell2010