----------------------------------------------------------------
-- wren ng thornton <wren@community.haskell.org> ~ 2010.06.10
----------------------------------------------------------------
Name: bytestring-trie
Version: 0.2.2
Cabal-Version: >= 1.2
Build-Type: Simple
Stability: provisional
Copyright: Copyright (c) 2008--2010 wren ng thornton
License: BSD3
License-File: LICENSE
Author: wren ng thornton
Maintainer: wren@community.haskell.org
Homepage: http://code.haskell.org/~wren/
Category: Data, Data Structures
Synopsis: An efficient finite map from (byte)strings to values.
Description: An efficient finite map from (byte)strings to values.
.
The implementation is based on big-endian patricia
trees, like "Data.IntMap". We first trie on the
elements of "Data.ByteString" and then trie on the
big-endian bit representation of those elements.
Patricia trees have efficient algorithms for union
and other merging operations, but they're also quick
for lookups and insertions.
Flag base4
Description: base-4.0 deprecated Prelude which is imported qualified
Default: True
Flag useCinternal
Description: Use optimized C implementation for indexOfDifference.
See notes in Data.Trie.ByteStringInternal.
Default: False
Flag applicativeInBase
Description: Applicative functors were added in base-2.0
Default: True
Flag bytestringInBase
Description: The bytestring library was included in base-2.0
and base-2.1.1, but for base-1.0 and base-3.0 it
was a separate package
Default: False
Library
Hs-Source-Dirs: src
Exposed-Modules: Data.Trie
, Data.Trie.Internal
, Data.Trie.Convenience
Other-Modules: Data.Trie.BitTwiddle
, Data.Trie.ByteStringInternal
-- I think this is all that needs doing to get rid of the warnings?
if flag(base4)
Build-Depends: base >= 4 && < 5
else
Build-Depends: base < 4
if flag(bytestringInBase)
Build-Depends: base >= 2.0 && < 2.2
Cpp-Options: -DBYTESTRING_IN_BASE
-- BUG (Cabal 1.2 + Haddock): enable for Haddock, disable
-- for Hackage. Fixed in Cabal 1.6
--Ghc-Options: -DBYTESTRING_IN_BASE
else
Build-Depends: base < 2.0 || >= 3, bytestring
if flag(applicativeInBase)
Build-Depends: base >= 2.0
Cpp-Options: -DAPPLICATIVE_IN_BASE
-- BUG (Cabal 1.2 + Haddock): enable for Haddock, disable
-- for Hackage. Fixed in Cabal 1.6
--Ghc-Options: -DAPPLICATIVE_IN_BASE
else
Build-Depends: base < 2.0
Build-Depends: binary
if flag(useCinternal)
C-Sources: src/Data/Trie/ByteStringInternal/indexOfDifference.c
CC-Options: -O3
Cpp-Options: -D__USE_C_INTERNAL__
-- Also need to add stuff to run Configure.hs, FWIW
----------------------------------------------------------------
----------------------------------------------------------- fin.