From 0e7313099682ffad4620c69ed3026ef85b71d009 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 30 Oct 2023 03:15:26 +0000 Subject: automatic import of ghc-vector-algorithms --- vector-algorithms.cabal | 156 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 vector-algorithms.cabal (limited to 'vector-algorithms.cabal') diff --git a/vector-algorithms.cabal b/vector-algorithms.cabal new file mode 100755 index 0000000..75d3617 --- /dev/null +++ b/vector-algorithms.cabal @@ -0,0 +1,156 @@ +name: vector-algorithms +version: 0.9.0.1 +x-revision: 2 +license: BSD3 +license-file: LICENSE +author: Dan Doel +maintainer: Dan Doel + Erik de Castro Lopo +copyright: (c) 2008,2009,2010,2011,2012,2013,2014,2015 Dan Doel + (c) 2015 Tim Baumann +homepage: https://github.com/erikd/vector-algorithms/ +category: Data +synopsis: Efficient algorithms for vector arrays +description: Efficient algorithms for sorting vector arrays. At some stage + other vector algorithms may be added. +build-type: Simple +cabal-version: >= 1.10 +extra-source-files: CHANGELOG.md + + +flag BoundsChecks + description: Enable bounds checking + default: True + +flag UnsafeChecks + description: Enable bounds checking in unsafe operations at the cost of a + significant performance penalty. + default: False + +flag InternalChecks + description: Enable internal consistency checks at the cost of a + significant performance penalty. + default: False + +flag bench + description: Build a benchmarking program to test vector-algorithms + performance + default: True + +flag properties + description: Enable the quickcheck tests + default: True + +-- flag dump-simpl +-- description: Dumps the simplified core during compilation +-- default: False + +flag llvm + description: Build using llvm + default: False + +source-repository head + type: git + location: https://github.com/erikd/vector-algorithms/ + +library + hs-source-dirs: src + default-language: Haskell2010 + + build-depends: base >= 4.5 && < 5, + bitvec >= 1.0 && < 1.2, + vector >= 0.6 && < 0.14, + primitive >=0.6.2.0 && <0.9, + bytestring >= 0.9 && < 1.0 + + if ! impl (ghc >= 7.8) + build-depends: tagged >= 0.4 && < 0.9 + + exposed-modules: + Data.Vector.Algorithms + Data.Vector.Algorithms.Optimal + Data.Vector.Algorithms.Insertion + Data.Vector.Algorithms.Intro + Data.Vector.Algorithms.Merge + Data.Vector.Algorithms.Radix + Data.Vector.Algorithms.Search + Data.Vector.Algorithms.Heap + Data.Vector.Algorithms.AmericanFlag + Data.Vector.Algorithms.Tim + + other-modules: + Data.Vector.Algorithms.Common + + ghc-options: + -funbox-strict-fields + + -- Cabal/Hackage complains about these + -- if flag(dump-simpl) + -- ghc-options: -ddump-simpl -ddump-to-file + + if flag(llvm) + ghc-options: -fllvm + + include-dirs: + include + + install-includes: + vector.h + + if flag(BoundsChecks) + cpp-options: -DVECTOR_BOUNDS_CHECKS + + if flag(UnsafeChecks) + cpp-options: -DVECTOR_UNSAFE_CHECKS + + if flag(InternalChecks) + cpp-options: -DVECTOR_INTERNAL_CHECKS + +benchmark simple-bench + hs-source-dirs: bench/simple + type: exitcode-stdio-1.0 + default-language: Haskell2010 + + if !flag(bench) + buildable: False + + main-is: Main.hs + + other-modules: + Blocks + + build-depends: base, mwc-random, vector, vector-algorithms + ghc-options: -Wall + + -- Cabal/Hackage complains about these + -- if flag(dump-simpl) + -- ghc-options: -ddump-simpl -ddump-to-file + + if flag(llvm) + ghc-options: -fllvm + +test-suite properties + hs-source-dirs: tests/properties + type: exitcode-stdio-1.0 + main-is: Tests.hs + default-language: Haskell2010 + + other-modules: + Optimal + Properties + Util + + if !flag(properties) + buildable: False + else + build-depends: + base, + bytestring, + containers, + QuickCheck > 2.9 && < 2.15, + vector, + vector-algorithms + + if flag(llvm) + ghc-options: -fllvm + -- cgit v1.2.3