name:                htvm
synopsis:            TVM bindings.
description:
    This library provides interface to TVM Runtime, and experimental
    EDSL for building models with TVM.

homepage:            https://github.com/grwlf/htvm
version:             0.1.0.0
license:             GPL-3
license-file:        LICENSE
category:            Machine Learning
author:              Sergey Mironov
maintainer:          grrwlf@gmail.com
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10

library
  build-depends:
      base >=4.11 && <4.12
    , array
    , Earley
    , pretty-show
    , recursion-schemes
    , containers
    , unordered-containers
    , deriving-compat
    , mtl
    , text
    , pretty-show
    , process
    , filepath
    , bytestring
    , directory
    , temporary
  hs-source-dirs:
      src
  default-language:
      Haskell2010
  build-tools:
      c2hs
  ghc-options:
    -fwarn-incomplete-patterns
  extra-libraries:
    tvm_runtime dl pthread
  exposed-modules:
      HTVM.EDSL.Types
    , HTVM.EDSL.Monad
    , HTVM.EDSL.Printer
    , HTVM.EDSL.Build
    , HTVM.EDSL
    , HTVM.Runtime.FFI
    , HTVM.Runtime
    , HTVM.Prelude
    , HTVM

test-suite test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
    test
  ghc-options: -Wall
  build-depends:
      base >=4.7 && < 5
    , bytestring
    , containers
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , recursion-schemes
    , htvm
    , QuickCheck
    , directory
    , temporary
    , text
  default-language: Haskell2010
  extra-libraries:
    tvm_runtime dl pthread
  ghc-options:
    -Wall -Wno-unused-imports

source-repository head
  type:     git
  location: https://github.com/grwlf/htvm