From 4522e0a3a643666730abf05726fbaed1a0b4227f Mon Sep 17 00:00:00 2001 From: John Ky Date: Wed, 3 Apr 2019 09:08:09 +1100 Subject: [PATCH] Upgrade to cabal file 2.2 --- hw-simd.cabal | 166 +++++++++++++++++++++++++++----------------------- 1 file changed, 90 insertions(+), 76 deletions(-) diff --git a/hw-simd.cabal b/hw-simd.cabal index 8decc8c..1a3ac34 100644 --- a/hw-simd.cabal +++ b/hw-simd.cabal @@ -1,4 +1,4 @@ -cabal-version: 1.12 +cabal-version: 2.2 name: hw-simd version: 0.1.1.3 synopsis: SIMD library @@ -9,7 +9,7 @@ bug-reports: https://github.com/haskell-works/hw-simd/issues author: John Ky maintainer: newhoggy@gmail.com copyright: 2018 John Ky -license: BSD3 +license: BSD-3-Clause license-file: LICENSE tested-with: GHC == 8.6.4, GHC == 8.4.4, GHC == 8.2.2, GHC == 8.0.2 build-type: Simple @@ -38,7 +38,45 @@ flag sse42 manual: False default: True +common base { build-depends: base >= 4.7 && < 5 } +common bits-extra { build-depends: bits-extra >= 0.0.1.2 && < 0.1 } +common bytestring { build-depends: bytestring >= 0.10 && < 0.11 } +common cassava { build-depends: cassava >= 0.5.1.0 && < 0.6 } +common containers { build-depends: containers } +common criterion { build-depends: criterion >= 1.4.1.0 && < 1.6 } +common deepseq { build-depends: deepseq >= 1.4 && < 1.5 } +common directory { build-depends: directory >= 1.2.2 && < 1.4 } +common hedgehog { build-depends: hedgehog >= 0.5 && < 0.7 } +common hspec { build-depends: hspec >= 2.4 && < 3 } +common hw-bits { build-depends: hw-bits >= 0.7.0.2 && < 0.8 } +common hw-hedgehog { build-depends: hw-hedgehog >= 0.1.0.1 && < 0.2 } +common hw-hspec-hedgehog { build-depends: hw-hspec-hedgehog >= 0.1.0.4 && < 0.2 } +common hw-prim { build-depends: hw-prim >= 0.6.2.12 && < 0.7 } +common hw-rankselect { build-depends: hw-rankselect >= 0.12.0.2 && < 0.13 } +common hw-rankselect-base { build-depends: hw-rankselect-base >= 0.3.2.0 && < 0.4 } +common lens { build-depends: lens } +common mmap { build-depends: mmap >= 0.5.9 && < 0.6 } +common text { build-depends: text >= 1.2.2 && < 2.0 } +common vector { build-depends: vector >= 0.12.0.1 && < 0.13 } + +common semigroups { if (!impl(ghc >= 8.0.1)) { build-depends: semigroups >= 0.8.4 && < 0.19 } } +common transformers { if (!impl(ghc >= 8.0.1)) { build-depends: transformers >= 0.4 && < 0.6 } } + +common common + default-language: Haskell2010 + library + import: base, common + , bits-extra + , bytestring + , deepseq + , hw-bits + , hw-prim + , hw-rankselect + , hw-rankselect-base + , semigroups + , transformers + , vector exposed-modules: HaskellWorks.Data.Simd.Capabilities HaskellWorks.Data.Simd.ChunkString @@ -53,26 +91,14 @@ library HaskellWorks.Data.Simd.Logical HaskellWorks.Data.Simd.Logical.Avx2 HaskellWorks.Data.Simd.Logical.Stock - other-modules: - Paths_hw_simd - hs-source-dirs: - src - ghc-options: -O2 -Wall - include-dirs: - cbits + other-modules: Paths_hw_simd + autogen-modules: Paths_hw_simd + hs-source-dirs: src + ghc-options: -O2 -Wall + include-dirs: cbits c-sources: cbits/simd_avx2.c cbits/simd_sse2.c - build-depends: - base >=4.7 && <5 - , bits-extra >=0.0.1.2 && <0.1 - , bytestring >=0.10 && <0.11 - , deepseq >=1.4 && <1.5 - , hw-bits >=0.7.0.2 && <0.8 - , hw-prim >=0.6.2.12 && <0.7 - , hw-rankselect >=0.12.0.2 && <0.13 - , hw-rankselect-base >=0.3.2.0 && <0.4 - , vector >=0.12.0.1 && <0.13 if flag(sse42) ghc-options: -msse4.2 cc-options: -msse4.2 @@ -93,37 +119,35 @@ library , transformers >=0.4 && <0.6 build-tools: c2hs - default-language: Haskell2010 test-suite hw-simd-test - type: exitcode-stdio-1.0 - main-is: Spec.hs + import: base, common + , bits-extra + , bytestring + , deepseq + , directory + , hedgehog + , hspec + , hw-bits + , hw-hedgehog + , hw-hspec-hedgehog + , hw-prim + , hw-rankselect + , hw-rankselect-base + , lens + , text + , vector + type: exitcode-stdio-1.0 + main-is: Spec.hs + build-depends: hw-simd other-modules: HaskellWorks.Data.Simd.ComparisonSpec HaskellWorks.Data.Simd.Internal.BroadwordSpec HaskellWorks.Data.Simd.LogicalSpec Paths_hw_simd - hs-source-dirs: - test - ghc-options: -O2 -Wall -threaded -rtsopts -with-rtsopts=-N - build-depends: - base >=4.7 && <5 - , bits-extra >=0.0.1.2 && <0.1 - , bytestring >=0.10 && <0.11 - , deepseq >=1.4 && <1.5 - , directory >=1.2.2 && <1.4 - , hedgehog >=0.5 && <0.7 - , hspec >=2.4 && <3 - , hw-bits >=0.7.0.2 && <0.8 - , hw-hedgehog >=0.1.0.1 && <0.2 - , hw-hspec-hedgehog >=0.1.0.4 && <0.2 - , hw-prim >=0.6.2.12 && <0.7 - , hw-rankselect >=0.12.0.2 && <0.13 - , hw-rankselect-base >=0.3.2.0 && <0.4 - , hw-simd - , lens - , text >=1.2.2 && <2.0 - , vector >=0.12.0.1 && <0.13 + autogen-modules: Paths_hw_simd + hs-source-dirs: test + ghc-options: -O2 -Wall -threaded -rtsopts -with-rtsopts=-N if flag(sse42) ghc-options: -msse4.2 cc-options: -msse4.2 @@ -138,37 +162,32 @@ test-suite hw-simd-test cpp-options: -DBMI2_ENABLED -DAVX2_ENABLED if (impl(ghc >=8.0.1)) ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints - if (!impl(ghc >=8.0.1)) - build-depends: - semigroups >=0.8.4 && <0.19 - , transformers >=0.4 && <0.6 - default-language: Haskell2010 build-tool-depends: hspec-discover:hspec-discover benchmark bench - type: exitcode-stdio-1.0 - main-is: Main.hs - other-modules: - Paths_hw_simd - hs-source-dirs: - bench - ghc-options: -O2 -Wall -msse4.2 - build-depends: - base >=4.7 && <5 - , bits-extra >=0.0.1.2 && <0.1 - , bytestring >=0.10 && <0.11 - , cassava >=0.5.1.0 && <0.6 - , containers - , criterion >=1.4.1.0 && <1.6 - , deepseq >=1.4 && <1.5 - , directory >=1.3.1.5 && <1.4 - , hw-bits >=0.7.0.2 && <0.8 - , hw-prim >=0.6.2.12 && <0.7 - , hw-rankselect >=0.12.0.2 && <0.13 - , hw-rankselect-base >=0.3.2.0 && <0.4 - , hw-simd - , mmap >=0.5.9 && <0.6 - , vector >=0.12.0.1 && <0.13 + import: base, common + , bits-extra + , bytestring + , cassava + , containers + , criterion + , deepseq + , directory + , hw-bits + , hw-prim + , hw-rankselect + , hw-rankselect-base + , mmap + , semigroups + , transformers + , vector + type: exitcode-stdio-1.0 + main-is: Main.hs + other-modules: Paths_hw_simd + autogen-modules: Paths_hw_simd + hs-source-dirs: bench + ghc-options: -O2 -Wall -msse4.2 + build-depends: hw-simd if flag(sse42) ghc-options: -msse4.2 cc-options: -msse4.2 @@ -183,8 +202,3 @@ benchmark bench cpp-options: -DBMI2_ENABLED -DAVX2_ENABLED if (impl(ghc >=8.0.1)) ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints - if (!impl(ghc >=8.0.1)) - build-depends: - semigroups >=0.8.4 && <0.19 - , transformers >=0.4 && <0.6 - default-language: Haskell2010