packages feed

ghc-stack-annotations-0.2.0.0: ghc-stack-annotations.cabal

cabal-version: 3.8
name: ghc-stack-annotations
version: 0.2.0.0
synopsis: RTS Callstack annotation library
description:
  A compatibility library for the RTS Callstack annotations introduced in GHC 9.14.
  .
  Allows you to use the stack annotations without having to worry about older GHC versions.
  As stack annotations rely on the newly introduced 'AnnFrame' stack frame type, this library
  is operationally a NO-OP for GHC versions below 9.14.
  .
  For GHC <9.14, this library exposes an API identical to 'GHC.Stack.Annotation.Experimental' of the latest
  supported GHC version.
  For GHC >=9.14, this library exposes an API identical to 'GHC.Stack.Annotation.Experimental' of the latest
  supported GHC version.
  For the latest supported GHC version, we re-export the interface of 'GHC.Stack.Annotation.Experimental'
  .
  This API abstracts over the GHC 'StackAnnotation' type class, thus allows you to write instances for all
  supported GHC versions without any @-XCPP@.

category: development, BSD
license: BSD-3-Clause
license-file: LICENSE
author: Hannes Siebenhandl, Matthew Pickering
maintainer: hannes@well-typed.com
build-type: Simple
extra-doc-files:
  CHANGELOG.md
  README.md
extra-source-files:
  cbits/macros.h

tested-with: ghc ==10.1 || ==9.14 || ==9.12 || ==9.10 || ==9.8

common warnings
  ghc-options: -Wall

common exts
  default-extensions:
    GADTs
    ImplicitParams
    RankNTypes
    TypeApplications

library
  import: warnings, exts
  exposed-modules:
    GHC.Stack.Annotation
    GHC.Stack.Annotation.UnliftIO

  other-modules:
    GHC.Stack.Annotation.Compat
    GHC.Stack.Annotation.Compat.Class
    GHC.Stack.Annotation.Types

  build-depends:
    base >=4.19.1 && <5,
    unliftio-core >=0.1 && <0.3,

  if impl(ghc >=9.14)
    build-depends:
      ghc-experimental >=9.1400.0 && <10.200
  hs-source-dirs: src
  include-dirs: ./cbits
  default-language: Haskell2010

test-suite ghc-stack-annotation-tests
  import: warnings, exts
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules: Compat
  include-dirs: ./cbits
  build-depends:
    base,
    ghc-heap,
    ghc-stack-annotations,
    tasty >=1.5.4 && <1.6,
    tasty-expected-failure >=0.11 && <0.13,
    tasty-hunit >=0.9 && <0.13,

  if impl(ghc >=9.14)
    build-depends:
      ghc-experimental,
      ghc-internal >=9.1400.0 && <10.200,
  default-language: Haskell2010

source-repository head
  location: https://github.com/well-typed/ghc-stack-annotations
  type: git