packages feed

cfuture-1.0: cfuture.cabal

cabal-version:      3.0
name:               cfuture
version:            1.0
synopsis: A Future type that is easy to represent and handle in C/C++.
description:
   A module similar to the "future" package of Chris Kuklewicz,
   but having a Future that is easy to represent and handle
   in C/C++,
   using two MVars.
   Moreover, it uses two new threads:
   one (the "watcher thread") aborts the calculation
   if triggered by filling the first MVar.

license:            BSD-3-Clause
license-file:       LICENSE
author:             Viktor Csimma
maintainer:         csimmaviktor03@gmail.com
category:           Concurrency
build-type:         Simple
extra-doc-files:    CHANGELOG.md
common warnings
    ghc-options: -Wall
source-repository head
  type:     git
  location: git://github.com/viktorcsimma/cfuture.git

library
    import:           warnings
    exposed-modules:  Control.Concurrent.CFuture
    build-depends:    base >=4.17.2 && < 5,
                      base-prelude >= 1.4 && < 1.7
    default-language: Haskell2010
    hs-source-dirs:   src
    c-sources:        csrc/CFuture.c
    include-dirs:     include
    install-includes: CFuture.h


foreign-library cfuture
    type:             native-shared

    other-modules:    Control.Concurrent.CFuture
    build-depends:    base >=4.17.2 && < 5,
                      base-prelude >= 1.4 && < 1.7,
                      cfuture >= 1.0 && < 1.1

    hs-source-dirs:   src
    c-sources:        csrc/CFuture.c
    include-dirs:     include
    install-includes: CFuture.h

    default-language: Haskell2010
    include-dirs:     include
    install-includes: CFuture.h


test-suite cfuture-test
    import:           warnings
    default-language: Haskell2010
    other-modules:    OurTasks, HsTestCase
    type:             exitcode-stdio-1.0
    hs-source-dirs:   test
    main-is:          main.c
    build-depends:    base, base-prelude, cfuture