packages feed

atomic-primops-0.5: testing/test-atomic-primops.cabal

-- Trying a completely separate .cabal for testing.

Name:                test-atomic-primops
Version:             0.1.0.0
Build-type:          Simple
Cabal-version:       >=1.8

Flag opt
    Description: Enable GHC optimization.
    Default: True

Flag threaded
    Description: Enable GHC threaded RTS.
    Default: True

Flag withTH
     Description: Build the test suite, including the template-haskell-atomic-primops executable.
     Default: False

Test-Suite test-atomic-primops
    type:       exitcode-stdio-1.0
    main-is:    Test.hs
    ghc-options: -rtsopts

    if flag(opt)
       ghc-options: -O2 -funbox-strict-fields
    if flag(threaded)
       ghc-options: -threaded 
       
    build-depends: base, ghc-prim, primitive, containers, random, atomic-primops >= 0.4,
                   -- For Testing:
                   time, HUnit, test-framework, test-framework-hunit

    -- Debugging generated code:
--    ghc-options: -keep-tmp-files -dsuppress-module-prefixes -ddump-to-file -ddump-core-stats -ddump-simpl-stats -dcore-lint -dcmm-lint
--    ghc-options: -ddump-ds -ddump-simpl -ddump-stg -ddump-asm -ddump-bcos -ddump-cmm -ddump-opt-cmm -ddump-inlinings

Executable hello-world-atomic-primops
  main-is: hello.hs
  build-depends: base >= 4.5, atomic-primops

Executable template-haskell-atomic-primops
  main-is: ghci-test.hs
  if flag(withTH)
    Buildable: True
  else
    Buildable: False
  build-depends: base >= 4.5, atomic-primops >= 0.4, template-haskell,
                 -- For Testing:
                 test-framework, test-framework-hunit